AutoIt
AutoIt
Load JWK into PublicKey Object
See more JSON Web Signatures (JWS) Examples
Demonstrates how to load a Java Web Key (JWK) into a Chilkat public key object.Chilkat AutoIt Downloads
Local $bSuccess = False
; Imagine we have this JWK:
; {
; "kty":"RSA",
; "kid":"bilbo.baggins@hobbiton.example",
; "use":"sig",
; "n":"26381066103266289976070039679240841999340706859156341823971393693544846472963839705790075117105560154606562987481050889935247188300178764426769543782451174831475924241862817098997865881169498995546309260357488285676768114714548754913374731868063116787903918383610614912211576698081222844057810710088656983077876282582286966085572172471849443305250452393766960762340311496052418952315081937000716222751229644449475751932222180738210988190709824209639002026650048655399108647971010890335494074025258268035713167380057822555485524738518699437692145859633592396626258745090144803752145540471688039673495588314804430463791",
; "e":"65537"
; }
;
$oSbJwk = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oSbJwk.LoadFile("qa_data/jwk/simple_jwk_rsa.json","utf-8")
If ($bSuccess <> True) Then
ConsoleWrite("Failed to load simple JWK file." & @CRLF)
Exit
EndIf
; Loading it into a Chilkat public key object is easy:
$oPubkey = ObjCreate("Chilkat.PublicKey")
$bSuccess = $oPubkey.LoadFromString($oSbJwk.GetAsString())
If ($bSuccess = False) Then
ConsoleWrite($oPubkey.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("Simple JWK loaded into public key object." & @CRLF)
; ----------------------------------------------------------------------------------------------------------
; Demonstrate how to load a JWK that is contained within JSON into a public key object.
; {
; "alg":"RS256",
; "jwk": {
; "kty":"RSA",
; "kid":"bilbo.baggins@hobbiton.example",
; "use":"sig",
; "n":"26381066103266289976070039679240841999340706859156341823971393693544846472963839705790075117105560154606562987481050889935247188300178764426769543782451174831475924241862817098997865881169498995546309260357488285676768114714548754913374731868063116787903918383610614912211576698081222844057810710088656983077876282582286966085572172471849443305250452393766960762340311496052418952315081937000716222751229644449475751932222180738210988190709824209639002026650048655399108647971010890335494074025258268035713167380057822555485524738518699437692145859633592396626258745090144803752145540471688039673495588314804430463791",
; "e":"65537"
; }
; }
$oSbJwk2 = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oSbJwk2.LoadFile("qa_data/jwk/contained_jwk_rsa.json","utf-8")
If ($bSuccess = False) Then
ConsoleWrite($oSbJwk2.LastErrorText & @CRLF)
Exit
EndIf
; Get the "jwk" part of the JSON..
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.Load($oSbJwk2.GetAsString())
$oJsonJwk = ObjCreate("Chilkat.JsonObject")
$bSuccess = $oJson.ObjectOf2("jwk",$oJsonJwk)
If ($bSuccess = False) Then
ConsoleWrite($oJson.LastErrorText & @CRLF)
Exit
EndIf
$oPubkey2 = ObjCreate("Chilkat.PublicKey")
$bSuccess = $oPubkey2.LoadFromString($oJsonJwk.Emit())
If ($bSuccess = False) Then
ConsoleWrite($oPubkey2.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("Contained JWK loaded into public key object." & @CRLF)