![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(VBScript) Get an EC Key in Raw Hex FormatDemonstrates how to get the private and public key parts of an EC (ECDSA) key in lowercase hex formmat. Note: This example requires Chilkat v9.5.0.83 or greater.
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") 'Create a Unicode (utf-16) output text file. Set outFile = fso.CreateTextFile("output.txt", True, True) ' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' Load an EC key from some format.. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.PrivateKey") set privKey = CreateObject("Chilkat.PrivateKey") ' This loads an ECDSA key from an unencrypted PEM file (no password required). success = privKey.LoadAnyFormatFile("qa_data/ecc/openssl_ecc_privKey.pem","") If (success = 0) Then outFile.WriteLine(privKey.LastErrorText) WScript.Quit End If ' The key type should be "ecc" to indicate an EC key. outFile.WriteLine("key type = " & privKey.KeyType) ' What is the size of the private key in bits? outFile.WriteLine("size in bits = " & privKey.BitLength) ' Get the private and public EC key parts in raw hex format: ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.StringBuilder") set sbPubKeyHex = CreateObject("Chilkat.StringBuilder") privKeyHex = privKey.GetRawHex(sbPubKeyHex) ' If the private key size in bits is 256, then we should have a 32-byte key (a 64 character hex string). outFile.WriteLine("private key = " & privKeyHex) ' The public key is composed of the "x" and "y" parts, and is composed like this: 04||HEX(x)||HEX(y) outFile.WriteLine("public key = " & sbPubKeyHex.GetAsString()) ' Sample output: ' key type = ecc ' size in bits = 256 ' private key = ced36f2ba3332be439f79143d69937fc52494cd38e45243c3ea05db183919f1b ' public key = 045b4edcd501831740895f5907feabb71587076a6314d9d5141f9f8c33a478b8ce08b8dfd2a091eb6355803d7e729876c790bc0b176f2015f3bb103813753f676a outFile.Close |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.