Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Swift 3,4,5...) Get ECC Public Key from ECC Private KeyDemonstrates how to get an ECC public key from an ECC private key.
func chilkatTest() { // We have an ECC private key... // The contents of the private key PEM file look like this: // -----BEGIN PRIVATE KEY----- // MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3J8q/24D1sEKGdP9 // 72MGYElLGpw/a56Y3t6pfON3uhShRANCAATlSmoizyhAwoYZAOuFBATl07/1RR54 // a1Dzfm16grxJe666AGKR+bSs24hk7TEpaeCTvT8YOOM3l+xKFg7zq6Q9 // -----END PRIVATE KEY----- let privKey = CkoPrivateKey()! var success: Bool = privKey.loadPemFile("qa_data/ecc/secp256r1-key-pkcs8.pem") if success != true { print("\(privKey.lastErrorText!)") return } // Get the public key. var pubKey: CkoPublicKey? = privKey.getPublicKey() if privKey.lastMethodSuccess != true { print("\(privKey.lastErrorText!)") return } // Save the public key to a PEM file. success = pubKey!.savePemFile(false, path: "qa_data/ecc/secp256r1-pubkey.pem") if success != true { print("\(pubKey!.lastErrorText!)") pubKey = nil return } // The contents of the ECC public key PEM file look like this: // -----BEGIN PUBLIC KEY----- // MIIBSzCCAQMGByqGSM49AgEwgfcCAQEwLAYHKoZIzj0BAQIhAP////8AAAABAAAA // AAAAAAAAAAAA////////////////MFsEIP////8AAAABAAAAAAAAAAAAAAAA//// // ///////////8BCBaxjXYqjqT57PrvVV2mIa8ZR0GsMxTsPY7zjw+J9JgSwMVAMSd // NgiG5wSTamZ44ROdJreBn36QBEEEaxfR8uEsQkf4vOblY6RA8ncDfYEt6zOg9KE5 // RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9QIhAP////8AAAAA // //////////+85vqtpxeehPO5ysL8YyVRAgEBA0IABOVKaiLPKEDChhkA64UEBOXT // v/VFHnhrUPN+bXqCvEl7rroAYpH5tKzbiGTtMSlp4JO9Pxg44zeX7EoWDvOrpD0= // -----END PUBLIC KEY----- pubKey = nil print("Success.") } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.