|  | 
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
| (Tcl) 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. 
 load ./chilkat.dll # Note: This example requires Chilkat v9.5.0.66 or later. # Load a PEM file into memory. set sbPem [new_CkStringBuilder] set success [CkStringBuilder_LoadFile $sbPem "qa_data/pem/rsa_public.pem" "utf-8"] if {$success != 1} then { puts "Failed to load PEM file." delete_CkStringBuilder $sbPem exit } # Load the PEM into a public key object. set pubKey [new_CkPublicKey] set success [CkPublicKey_LoadFromString $pubKey [CkStringBuilder_getAsString $sbPem]] if {$success != 1} then { puts [CkPublicKey_lastErrorText $pubKey] delete_CkStringBuilder $sbPem delete_CkPublicKey $pubKey exit } # Get the public key in JWK format: set jwk [CkPublicKey_getJwk $pubKey] # 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: set json [new_CkJsonObject] CkJsonObject_Load $json $jwk CkJsonObject_put_EmitCompact $json 0 puts "RSA Public Key in JWK format:" puts [CkJsonObject_emit $json] # Sample output: # { # "kty": "RSA", # "n": "33TqqLR3eeUmDtHS89qF3p4MP7Wfqt2Zjj3lZjLjjCGDvwr9cJNlNDiuKboODgUiT4ZdPWbOiMAfDcDzlOxA04DDnEFGAf-kDQiNSe2ZtqC7bnIc8-KSG_qOGQIVaay4Ucr6ovDkykO5Hxn7OU7sJp9TP9H0JH8zMQA6YzijYH9LsupTerrY3U6zyihVEDXXOv08vBHk50BMFJbE9iwFwnxCsU5-UZUZYw87Uu0n4LPFS9BT8tUIvAfnRXIEWCha3KbFWmdZQZlyrFw0buUEf0YN3_Q0auBkdbDR_ES2PbgKTJdkjc_rEeM0TxvOUf7HuUNOhrtAVEN1D5uuxE1WSw", # "e": "AQAB" # } # Additional information can be added like this: CkJsonObject_AppendString $json "use" "enc" CkJsonObject_AppendString $json "kid" "123ABC" # Now examine the JSON: puts [CkJsonObject_emit $json] # { # "kty": "RSA", # "n": "33TqqLR3eeUmDtHS89qF3p4MP7Wfqt2Zjj3lZjLjjCGDvwr9cJNlNDiuKboODgUiT4ZdPWbOiMAfDcDzlOxA04DDnEFGAf-kDQiNSe2ZtqC7bnIc8-KSG_qOGQIVaay4Ucr6ovDkykO5Hxn7OU7sJp9TP9H0JH8zMQA6YzijYH9LsupTerrY3U6zyihVEDXXOv08vBHk50BMFJbE9iwFwnxCsU5-UZUZYw87Uu0n4LPFS9BT8tUIvAfnRXIEWCha3KbFWmdZQZlyrFw0buUEf0YN3_Q0auBkdbDR_ES2PbgKTJdkjc_rEeM0TxvOUf7HuUNOhrtAVEN1D5uuxE1WSw", # "e": "AQAB", # "use": "enc", # "kid": "123ABC" # } delete_CkStringBuilder $sbPem delete_CkPublicKey $pubKey delete_CkJsonObject $json | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.