Skip to content

Commit

Permalink
Fix #96
Browse files Browse the repository at this point in the history
  • Loading branch information
dmorn committed Nov 10, 2023
1 parent fb3b614 commit 4d78760
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/jwk/jose_jwk_openssh_key.erl
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ parse_key(<< W, Rest/binary >>, Body)
orelse W =:= $\t ->
parse_key(Rest, Body);
parse_key(<< ?OPENSSH_TAIL, Rest/binary >>, Body) ->
case parse_key(jose_base64:decode(Body)) of
case parse_key(jose_base64:'decode!'(Body)) of
{true, Key} ->
{Key, Rest};
false ->
Expand Down
8 changes: 8 additions & 0 deletions test/jose_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -544,4 +544,12 @@ defmodule JOSETest do
assert({:error, _} = JOSE.JWT.verify(jwk, nil))
assert({:error, _} = JOSE.JWT.verify_strict(jwk, [], nil))
end

# See https://github.com/potatosalad/erlang-jose/issues/96
test "reads valid openssh keys" do
input =
"-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW\nQyNTUxOQAAACAvwUoBPsC8rc4wpR1xbN3Onjuuo+2gqLNECWvmUlDEpQAAAKA6FC8aOhQv\nGgAAAAtzc2gtZWQyNTUxOQAAACAvwUoBPsC8rc4wpR1xbN3Onjuuo+2gqLNECWvmUlDEpQ\nAAAEBXwZ8kolKDzWxBdcPJT0KXilyZEfbF/GjyGa4AOf2d5C/BSgE+wLytzjClHXFs3c6e\nO66j7aCos0QJa+ZSUMSlAAAAFmRtb3JuQHNpbHZlci5mcml0ei5ib3gBAgMEBQYH\n-----END OPENSSH PRIVATE KEY-----\n"

assert %JOSE.JWK{kty: {:jose_jwk_kty_okp_ed25519, _}} = JOSE.JWK.from_openssh_key(input)
end
end

0 comments on commit 4d78760

Please sign in to comment.