![]() |
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
(Perl) 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.
use chilkat(); # Note: This example requires Chilkat v9.5.0.66 or later. # Load a PEM file into memory. $sbPem = chilkat::CkStringBuilder->new(); $success = $sbPem->LoadFile("qa_data/pem/rsa_public.pem","utf-8"); if ($success != 1) { print "Failed to load PEM file." . "\r\n"; exit; } # Load the PEM into a public key object. $pubKey = chilkat::CkPublicKey->new(); $success = $pubKey->LoadFromString($sbPem->getAsString()); if ($success != 1) { print $pubKey->lastErrorText() . "\r\n"; exit; } # 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: $json = chilkat::CkJsonObject->new(); $json->Load($jwk); $json->put_EmitCompact(0); print "RSA Public Key in JWK format:" . "\r\n"; print $json->emit() . "\r\n"; # Sample output: # { # "kty": "RSA", # "n": "33TqqLR3eeUmDtHS89qF3p4MP7Wfqt2Zjj3lZjLjjCGDvwr9cJNlNDiuKboODgUiT4ZdPWbOiMAfDcDzlOxA04DDnEFGAf-kDQiNSe2ZtqC7bnIc8-KSG_qOGQIVaay4Ucr6ovDkykO5Hxn7OU7sJp9TP9H0JH8zMQA6YzijYH9LsupTerrY3U6zyihVEDXXOv08vBHk50BMFJbE9iwFwnxCsU5-UZUZYw87Uu0n4LPFS9BT8tUIvAfnRXIEWCha3KbFWmdZQZlyrFw0buUEf0YN3_Q0auBkdbDR_ES2PbgKTJdkjc_rEeM0TxvOUf7HuUNOhrtAVEN1D5uuxE1WSw", # "e": "AQAB" # } # Additional information can be added like this: $json->AppendString("use","enc"); $json->AppendString("kid","123ABC"); # Now examine the JSON: print $json->emit() . "\r\n"; # { # "kty": "RSA", # "n": "33TqqLR3eeUmDtHS89qF3p4MP7Wfqt2Zjj3lZjLjjCGDvwr9cJNlNDiuKboODgUiT4ZdPWbOiMAfDcDzlOxA04DDnEFGAf-kDQiNSe2ZtqC7bnIc8-KSG_qOGQIVaay4Ucr6ovDkykO5Hxn7OU7sJp9TP9H0JH8zMQA6YzijYH9LsupTerrY3U6zyihVEDXXOv08vBHk50BMFJbE9iwFwnxCsU5-UZUZYw87Uu0n4LPFS9BT8tUIvAfnRXIEWCha3KbFWmdZQZlyrFw0buUEf0YN3_Q0auBkdbDR_ES2PbgKTJdkjc_rEeM0TxvOUf7HuUNOhrtAVEN1D5uuxE1WSw", # "e": "AQAB", # "use": "enc", # "kid": "123ABC" # } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.