Objective-C
Objective-C
Get an Ed25519 Key in Raw Hex Format
See more Ed25519 Examples
Demonstrates how to get the private and public key parts of an Ed25519 key in lowercase hex formmat.Note: This example requires Chilkat v9.5.0.83 or greater.
Chilkat Objective-C Downloads
#import <CkoPrivateKey.h>
#import <CkoStringBuilder.h>
#import <NSString.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Load an Ed25519 key from some format..
CkoPrivateKey *privKey = [[CkoPrivateKey alloc] init];
// This loads an Ed25519 key from an unencrypted PEM file (no password required).
success = [privKey LoadAnyFormatFile: @"qa_data/eddsa/ed25519.pem" password: @""];
if (success == NO) {
NSLog(@"%@",privKey.LastErrorText);
return;
}
// The key type should be "ed25519" to indicate an Ed25519 key.
NSLog(@"%@%@",@"key type = ",privKey.KeyType);
// What is the size of the private key in bits? (should always be 256 bits for Ed25519)
NSLog(@"%@%d",@"size in bits = ",[privKey.BitLength intValue]);
// Get the private and public key parts in raw hex format:
CkoStringBuilder *sbPubKeyHex = [[CkoStringBuilder alloc] init];
NSString *privKeyHex = [privKey GetRawHex: sbPubKeyHex];
// We should have a 32-byte private key (a 64 character hex string).
NSLog(@"%@%@",@"private key = ",privKeyHex);
// We should have a 32-byte public key (a 64 character hex string).
NSLog(@"%@%@",@"public key = ",[sbPubKeyHex GetAsString]);
// Sample output:
// key type = ed25519
// size in bits = 256
// private key = d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842
// public key = 19bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1