Skip to content

Commit

Permalink
Merge pull request #5 from tanmaykm/tan/misc
Browse files Browse the repository at this point in the history
fix SHA512 and add tests for HS keys
  • Loading branch information
tanmaykm committed Jan 16, 2019
2 parents d0604b6 + f13f486 commit 8c8c604
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 5 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name = "JWTs"
uuid = "5fa62028-148a-11e9-0d86-2717f69bbb22"
uuid = "d850fbd6-035d-5a70-a269-1ca2e636ac6c"
authors = ["Tanmay <tanmaykm@gmail.com>"]
version = "0.1.0"

Expand Down
8 changes: 4 additions & 4 deletions src/JWTs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ function sign!(jwt::JWT, key::T, kid::String="") where {T <: JWK}
alg = "RS256"
elseif key.kind === MbedTLS.MD_SHA384
alg = "RS384"
elseif key.kind === MbedTLS.MD_SHA512
elseif key.kind === MbedTLS.MD_SHA
alg = "RS512"
else
error("unsupported key algorithm")
Expand All @@ -124,7 +124,7 @@ function sign!(jwt::JWT, key::T, kid::String="") where {T <: JWK}
alg = "HS256"
elseif key.kind === MbedTLS.MD_SHA384
alg = "HS384"
elseif key.kind === MbedTLS.MD_SHA512
elseif key.kind === MbedTLS.MD_SHA
alg = "HS512"
else
error("unsupported key algorithm")
Expand Down Expand Up @@ -177,7 +177,7 @@ function refresh!(keyseturl::String, keysetdict::Dict{String,JWK})
elseif alg == "RS384"
keysetdict[kid] = JWKRSA(MbedTLS.MD_SHA384, pubkey(n, e, MbedTLS.MD_SHA384))
elseif alg == "RS512"
keysetdict[kid] = JWKRSA(MbedTLS.MD_SHA512, pubkey(n, e, MbedTLS.MD_SHA512))
keysetdict[kid] = JWKRSA(MbedTLS.MD_SHA, pubkey(n, e, MbedTLS.MD_SHA))
else
@warn("key alg $(key["alg"]) not supported yet, skipping key $kid")
continue
Expand All @@ -189,7 +189,7 @@ function refresh!(keyseturl::String, keysetdict::Dict{String,JWK})
elseif alg == "HS384"
keysetdict[kid] = JWKSymmetric(MbedTLS.MD_SHA384, k)
elseif alg == "HS512"
keysetdict[kid] = JWKSymmetric(MbedTLS.MD_SHA512, k)
keysetdict[kid] = JWKSymmetric(MbedTLS.MD_SHA, k)
else
@warn("key alg $(key["alg"]) not supported yet, skipping key $kid")
continue
Expand Down
21 changes: 21 additions & 0 deletions test/jwkkey.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,27 @@
"alg":"HS256",
"use":"sig",
"k":"cXVpY2ticm93bmZveGp1bXBlZG92ZXJ0aGVsYXp5ZG8"
},
{
"kid":"6fYTP3lFbHRId0Ez-K3Ans042BdIczxG6BqnjMyOAe",
"kty":"oct",
"alg":"HS384",
"use":"sig",
"k":"g3z71n0KOUSPgqaOqJkX1raLSgP27gR96HjN3BEYCHfoo9rf+hVpl/t093R5uRWN"
},
{
"kid":"7fYTP3lFbHRId0Ez-K3Ans042BdIczxG6BqnjMyOAe",
"kty":"oct",
"alg":"HS512",
"use":"sig",
"k":"9FiEdO6HRRWtxnoU4nirCvz9XNS5Cq+qBnre0b7WsK1yV2xzbtQ1fDUeMLOYGtAN1rpmUXHw0X/HFIbIrlfxWA"
},
{
"kid":"0fYTP3lFbHRId0Ez-K3Ans042BdIczxG6BqnjMyOAe",
"kty":"oct",
"alg":"HSINVALID",
"use":"sig",
"k":"9FiEdO6HRRWtxnoU4nirCvz9XNS5Cq+qBnre0b7WsK1yV2xzbtQ1fDUeMLOYGtAN1rpmUXHw0X/HFIbIrlfxWA"
}
]
}

0 comments on commit 8c8c604

Please sign in to comment.