Sample code for 30+ languages & platforms
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

AutoIt
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)