iOS/IPhone Programming Examples

ChilkatHOMEAndroid™Classic ASPCC++C#C# WinRTDelphi ActiveXDelphi DLLVisual FoxProJavaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerShellPythonRubySQL ServerUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET WinRTVBScript

iOS/IPhone Examples

Bounced Email
Digital Certificates
Digital Signatures
DKIM / DomainKey
DSA
Email Object
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT / HTML Email
POP3
RSA
MIME
SMTP
Socket
SOCKS Proxy
Spider
SSH Key
SSH
SFTP
Tar
Upload
XML
XMP
Zip


More Examples...
Amazon S3
NTLM
RSS
Atom
PPMD
Deflate
Bzip2
LZW
Diffie-Hellman
Bz2
Character Encoding
CSV

 

 

 

 

 

 

 

 

(IOS) Generate DSA SSH Key

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

Chilkat iOS Objective-C Libraries

Chilkat iOS C/C++ Libraries

NSMutableString *strOutput = [NSMutableString stringWithCapacity:1000];

CkoSshKey *key = [[[CkoSshKey alloc] init] autorelease];

BOOL success;

int numBits;

//  numBits should be a minimum of 1024 and
//  a multiple of 64.  Typical values are
//  1024 or 2048.
numBits = 2048;
success = [key GenerateDsaKey: [NSNumber numberWithInt: numBits]];
if (success != YES) {
    [strOutput appendString: @"Invalid numBits passed to DSA key generation method."];
    [strOutput appendString: @"\n"];
    self.mainTextField.stringValue = strOutput;
    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).

NSString *exportedKey;
BOOL exportEncrypted;

//  Export the DSA private key to OpenSSH, PuTTY, and XML and save.
exportEncrypted = NO;
exportedKey = [key ToOpenSshPrivateKey: exportEncrypted];
//  Chilkat provides a SaveText method for convenience...
success = [key SaveText: exportedKey filename: @"privkey_openssh_unencrypted.pem"];

//  Export with encryption to OpenSSH private key format:
key.Password = @"secret";
exportEncrypted = YES;
exportedKey = [key ToOpenSshPrivateKey: exportEncrypted];
success = [key SaveText: exportedKey filename: @"privkey_openssh_encrypted.pem"];

//  Export the DSA private key to unencrypted PuTTY format:
exportEncrypted = NO;
exportedKey = [key ToPuttyPrivateKey: exportEncrypted];
success = [key SaveText: exportedKey filename: @"privkey_putty_unencrypted.ppk"];

//  Export the DSA private key to encrypted PuTTY format:
key.Password = @"secret";
exportEncrypted = YES;
exportedKey = [key ToPuttyPrivateKey: exportEncrypted];
success = [key SaveText: exportedKey filename: @"privkey_putty_encrypted.ppk"];

//  Export private key to XML:
exportedKey = [key ToXml];
success = [key SaveText: exportedKey filename: @"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 filename: @"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 filename: @"pubkey_openSsh.pub"];

[strOutput appendString: @"Finished."];
[strOutput appendString: @"\n"];

self.mainTextField.stringValue = strOutput;



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