|  | 
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
| (Classic ASP) Get RSA Public Key in JWK Format (JSON Web Key)Demonstrates how to get an RSA public key in JWK (JSON Web Key) format. Note: This example requires Chilkat v9.5.0.66 or later. 
 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' 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 = Server.CreateObject("Chilkat.StringBuilder") success = sbPem.LoadFile("qa_data/pem/rsa_public.pem","utf-8") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( "Failed to load PEM file.") & "</pre>" Response.End End If ' Load the PEM into a public key object. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.PublicKey") set pubKey = Server.CreateObject("Chilkat.PublicKey") success = pubKey.LoadFromString(sbPem.GetAsString()) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( pubKey.LastErrorText) & "</pre>" Response.End End If ' Get the public key in JWK format: jwk = pubKey.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 = Server.CreateObject("Chilkat.JsonObject") success = json.Load(jwk) json.EmitCompact = 0 Response.Write "<pre>" & Server.HTMLEncode( "RSA Public Key in JWK format:") & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( json.Emit()) & "</pre>" ' Sample output: ' { ' "kty": "RSA", ' "n": "33TqqLR3eeUmDtHS89qF3p4MP7Wfqt2Zjj3lZjLjjCGDvwr9cJNlNDiuKboODgUiT4ZdPWbOiMAfDcDzlOxA04DDnEFGAf-kDQiNSe2ZtqC7bnIc8-KSG_qOGQIVaay4Ucr6ovDkykO5Hxn7OU7sJp9TP9H0JH8zMQA6YzijYH9LsupTerrY3U6zyihVEDXXOv08vBHk50BMFJbE9iwFwnxCsU5-UZUZYw87Uu0n4LPFS9BT8tUIvAfnRXIEWCha3KbFWmdZQZlyrFw0buUEf0YN3_Q0auBkdbDR_ES2PbgKTJdkjc_rEeM0TxvOUf7HuUNOhrtAVEN1D5uuxE1WSw", ' "e": "AQAB" ' } ' Additional information can be added like this: success = json.AppendString("use","enc") success = json.AppendString("kid","123ABC") ' Now examine the JSON: Response.Write "<pre>" & Server.HTMLEncode( json.Emit()) & "</pre>" ' { ' "kty": "RSA", ' "n": "33TqqLR3eeUmDtHS89qF3p4MP7Wfqt2Zjj3lZjLjjCGDvwr9cJNlNDiuKboODgUiT4ZdPWbOiMAfDcDzlOxA04DDnEFGAf-kDQiNSe2ZtqC7bnIc8-KSG_qOGQIVaay4Ucr6ovDkykO5Hxn7OU7sJp9TP9H0JH8zMQA6YzijYH9LsupTerrY3U6zyihVEDXXOv08vBHk50BMFJbE9iwFwnxCsU5-UZUZYw87Uu0n4LPFS9BT8tUIvAfnRXIEWCha3KbFWmdZQZlyrFw0buUEf0YN3_Q0auBkdbDR_ES2PbgKTJdkjc_rEeM0TxvOUf7HuUNOhrtAVEN1D5uuxE1WSw", ' "e": "AQAB", ' "use": "enc", ' "kid": "123ABC" ' } %> </body> </html> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.