File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -92,6 +92,14 @@ CSAnW8Md2j56RkvCnSPGab8eh5BjoGEInmSZWpUXvLJt91pZqX1jSbs1ZNg=
92
92
-----END RSA PRIVATE KEY-----
93
93
"""
94
94
95
+ ec_pem_key = """
96
+ -----BEGIN EC PRIVATE KEY-----
97
+ MHcCAQEEIBEdk34npuxz13CvGk/BS39dZ+2XAR6k9S4uNhtEMd3AoAoGCCqGSM49
98
+ AwEHoUQDQgAExCkF/6mwf3HoEv4m+1+Pi702herRxJeycLHXiRpA8Nkj8tVjU9C6
99
+ 5CRx1TdE4q4I8ympW4HrBm2qpPi3z6mEGw==
100
+ -----END EC PRIVATE KEY-----
101
+ """
102
+
95
103
# generated with openssl genrsa -aes256 4096
96
104
rsa_encrypted_passphrase = "passphrase"
97
105
@@ -183,6 +191,10 @@ config :joken,
183
191
signer_alg: "RS256" ,
184
192
key_pem: rsa_pem_key
185
193
] ,
194
+ pem_es256: [
195
+ signer_alg: "ES256" ,
196
+ key_pem: ec_pem_key
197
+ ] ,
186
198
pem_encrypted_rs256: [
187
199
signer_alg: "RS256" ,
188
200
key_pem: rsa_encrypted_pem_key ,
Original file line number Diff line number Diff line change @@ -56,6 +56,19 @@ defmodule Joken.Signer.Test do
56
56
} = signer
57
57
end
58
58
59
+ test "can create a signer from an EC private key" do
60
+ pem = Application . get_env ( :joken , :pem_es256 ) [ :key_pem ]
61
+ signer = Signer . create ( "ES256" , % { "pem" => pem } )
62
+
63
+ assert % Signer {
64
+ alg: "ES256" ,
65
+ jws: % JOSE.JWS {
66
+ alg: { :jose_jws_alg_ecdsa , :ES256 }
67
+ } ,
68
+ jwk: % JOSE.JWK { }
69
+ } = signer
70
+ end
71
+
59
72
test "can create a signer from an encrypted key" do
60
73
pem = Application . get_env ( :joken , :pem_encrypted_rs256 ) [ :key_pem ]
61
74
passphrase = Application . get_env ( :joken , :pem_encrypted_rs256 ) [ :passphrase ]
You can’t perform that action at this time.
0 commit comments