Skip to content

Commit f5c8bdb

Browse files
committed
Add test for ES256
1 parent 6937057 commit f5c8bdb

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

config/test.exs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,14 @@ CSAnW8Md2j56RkvCnSPGab8eh5BjoGEInmSZWpUXvLJt91pZqX1jSbs1ZNg=
9292
-----END RSA PRIVATE KEY-----
9393
"""
9494

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+
95103
# generated with openssl genrsa -aes256 4096
96104
rsa_encrypted_passphrase = "passphrase"
97105

@@ -183,6 +191,10 @@ config :joken,
183191
signer_alg: "RS256",
184192
key_pem: rsa_pem_key
185193
],
194+
pem_es256: [
195+
signer_alg: "ES256",
196+
key_pem: ec_pem_key
197+
],
186198
pem_encrypted_rs256: [
187199
signer_alg: "RS256",
188200
key_pem: rsa_encrypted_pem_key,

test/joken_signer_test.exs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,19 @@ defmodule Joken.Signer.Test do
5656
} = signer
5757
end
5858

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+
5972
test "can create a signer from an encrypted key" do
6073
pem = Application.get_env(:joken, :pem_encrypted_rs256)[:key_pem]
6174
passphrase = Application.get_env(:joken, :pem_encrypted_rs256)[:passphrase]

0 commit comments

Comments
 (0)