Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.js

Swift Examples

Async
Certificates
ECC
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
JSON
Jwt
MHT / HTML Email
PEM
PFX/P12
Java KeyStore (JKS)
POP3
RSA Encryption
MIME
REST
SCP
SMTP
Socket/SSL/TLS
SSH Key
SSH
SSH Tunnel
SFTP
Stream
Tar Archive
XML
XMP
Zip

More Examples...
OpenSSL
Google APIs
Google Cloud Storage
Azure Cloud Storage
Amazon S3 (new)
Google Drive
Dropbox
Firebase
ASN.1
PRNG
Amazon S3
Bounced Email
CSV
Diffie-Hellman
DKIM / DomainKey
DSA
NTLM
QuickBooks
Spider
Digital Signatures

 

 

 

 

 

 

 

(Swift) Generate DSA SSH Key

Generates a DSA SSH key and saves to various public and private key file formats (OpenSSH and PuTTY).

Chilkat Downloads for the Swift Programming Language

MAC OS X (Cocoa) Objective-C/Swift Libs

iOS Objective-C/Swift Libs

func chilkatTest() {

    let key = CkoSshKey()

    var success: Bool

    var numBits: Int

    //  numBits should be a minimum of 1024 and
    //  a multiple of 64.  Typical values are
    //  1024 or 2048.
    numBits = 2048
    success = key.GenerateDsaKey(numBits)
    if success != true {
        print("Invalid numBits passed to DSA key generation method.")
        return
    }

    //  Note: Generating a public/private key pair is CPU intensive
    //  and may take a short amount of time (more than few seconds,
    //  but less than a minute).

    var exportedKey: String?
    var exportEncrypted: Bool

    //  Export the DSA private key to OpenSSH, PuTTY, and XML and save.
    exportEncrypted = false
    exportedKey = key.ToOpenSshPrivateKey(exportEncrypted)
    //  Chilkat provides a SaveText method for convenience...
    success = key.SaveText(exportedKey, path: "privkey_openssh_unencrypted.pem")

    //  Export with encryption to OpenSSH private key format:
    key.Password = "secret"
    exportEncrypted = true
    exportedKey = key.ToOpenSshPrivateKey(exportEncrypted)
    success = key.SaveText(exportedKey, path: "privkey_openssh_encrypted.pem")

    //  Export the DSA private key to unencrypted PuTTY format:
    exportEncrypted = false
    exportedKey = key.ToPuttyPrivateKey(exportEncrypted)
    success = key.SaveText(exportedKey, path: "privkey_putty_unencrypted.ppk")

    //  Export the DSA private key to encrypted PuTTY format:
    key.Password = "secret"
    exportEncrypted = true
    exportedKey = key.ToPuttyPrivateKey(exportEncrypted)
    success = key.SaveText(exportedKey, path: "privkey_putty_encrypted.ppk")

    //  Export private key to XML:
    exportedKey = key.ToXml()
    success = key.SaveText(exportedKey, path: "privkey.xml")

    //  ----------------------------------------------------
    //  Now for the public key....
    //  ----------------------------------------------------

    //  The Secure Shell (SSH) Public Key File Format
    //  is documented in RFC 4716.
    exportedKey = key.ToRfc4716PublicKey()
    success = key.SaveText(exportedKey, path: "pubkey_rfc4716.pub")

    //  OpenSSH has a separate public-key file format, which
    //  is also supported by Chilkat SshKey:
    exportedKey = key.ToOpenSshPublicKey()
    success = key.SaveText(exportedKey, path: "pubkey_openSsh.pub")

    print("Finished.")

}

 

© 2000-2016 Chilkat Software, Inc. All Rights Reserved.