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 ECC Private Key in JWK Format (JSON Web Key)Demonstrates how to get an ECC private key in JWK (JSON Web Key) format. Note: This example requires Chilkat v9.5.0.66 or later.
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") 'Create a Unicode (utf-16) output text file. Set outFile = fso.CreateTextFile("output.txt", True, True) ' Note: This example requires Chilkat v9.5.0.66 or later. ' Load a PEM file into memory. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.StringBuilder") set sbPem = CreateObject("Chilkat.StringBuilder") success = sbPem.LoadFile("qa_data/pem/ecc_privKey.pem","utf-8") If (success <> 1) Then outFile.WriteLine("Failed to load PEM file.") WScript.Quit End If ' Load the PEM into a private key object. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.PrivateKey") set privKey = CreateObject("Chilkat.PrivateKey") success = privKey.LoadPem(sbPem.GetAsString()) If (success <> 1) Then outFile.WriteLine(privKey.LastErrorText) WScript.Quit End If ' Get the private key in JWK format: jwk = privKey.GetJwk() ' The GetJwk method will return the JWK in the most compact JSON format possible, ' as a single line with no extra whitespace. To get a more human-readable JWK (for this example), ' load into a Chilkat JSON object and emit non-compact: ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = CreateObject("Chilkat.JsonObject") success = json.Load(jwk) json.EmitCompact = 0 outFile.WriteLine("ECC Private Key in JWK format:") outFile.WriteLine(json.Emit()) ' Sample output: ' { ' "kty": "EC", ' "crv": "P-256", ' "x": "oBUyo8CQAFPeYPvv78ylh5MwFZjTCLQeb042TjiMJxE", ' "y": "vvQyxZkUjJQUPU_0bCy3Pj5qQdfu8jwEfqEeYGZ95CU", ' "d": "EbVzfPnZPxfAyxqEZV05laAoJAl-_6Xt2O4mOB611sM" ' } ' ' Additional information can be added like this: success = json.AppendString("use","enc") success = json.AppendString("kid","123ABC") ' Now examine the JSON: outFile.WriteLine(json.Emit()) ' { ' "kty": "EC", ' "crv": "P-256", ' "x": "oBUyo8CQAFPeYPvv78ylh5MwFZjTCLQeb042TjiMJxE", ' "y": "vvQyxZkUjJQUPU_0bCy3Pj5qQdfu8jwEfqEeYGZ95CU", ' "d": "EbVzfPnZPxfAyxqEZV05laAoJAl-_6Xt2O4mOB611sM", ' "use": "enc", ' "kid": "123ABC" ' } outFile.Close |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.