Chilkat Examples

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

Swift Examples

ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Bounced Email
CSR
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GeoOp
Google APIs
Google Cloud Storage
Google Drive
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc

IMAP
JSON
Java KeyStore (JKS)
Jwt
MHT / HTML Email
MIME
NTLM
OAuth1
OAuth2
OpenSSL
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
Socket/SSL/TLS
Spider
Stream
Tar Archive
Twitter
XML
XMP
Xero
Zip
curl

 

 

 

(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.