ns_crypto::JWT method public_key_from_jwk (protected)

 <instance of ns_crypto::JWT[i]> public_key_from_jwk jwk

Defined in

Parameters:
jwk (required)

Testcases:
No testcase defined.
Source code:
set kty [dict get $jwk kty]

switch -- $kty {
    EC {
        set crv [dict get $jwk crv]
        set x   [ns_base64urldecode -binary -- [dict get $jwk x]]
        set y   [ns_base64urldecode -binary -- [dict get $jwk y]]

        set nsCurve [:jwk_ec_curve_to_ns_curve $crv]
        return [ns_crypto::key import  -from public  -name EC  -params [list group $nsCurve x $x y $y]  -format pem]
    }
    RSA {
        set n [ns_base64urldecode -binary -- [dict get $jwk n]]
        set e [ns_base64urldecode -binary -- [dict get $jwk e]]

        return [ns_crypto::key import  -from public  -name RSA  -params [list n $n e $e]  -format pem]
    }
    OKP {
        set crv [dict get $jwk crv]
        set x   [ns_base64urldecode -binary -- [dict get $jwk x]]

        return [ns_crypto::key import  -from public  -name OKP  -params [list crv $crv x $x]  -format pem]
    }
    default {
        error "unsupported JWK key type \"$kty\""
    }
}
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: