diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/catlfish_compat.erl | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/catlfish_compat.erl b/src/catlfish_compat.erl index 183eb44..6dab325 100644 --- a/src/catlfish_compat.erl +++ b/src/catlfish_compat.erl @@ -10,6 +10,11 @@ poison_val(Value) -> poison_val(erlang:system_info(otp_release), Value). %% @doc Dig out alg, params and key from issuer. +unpack_issuer("R16" ++ _, Issuer) -> + #'SubjectPublicKeyInfo'{ + algorithm = #'AlgorithmIdentifier'{algorithm = Alg, parameters = Params}, + subjectPublicKey = {0, Key}} = Issuer, + {Alg, Params, Key}; unpack_issuer("17", Issuer) -> #'SubjectPublicKeyInfo'{ algorithm = #'AlgorithmIdentifier'{algorithm = Alg, parameters = Params}, @@ -22,6 +27,9 @@ unpack_issuer("18", Issuer) -> {Alg, Params, Key}. %% @doc Unpack a #'Certificate'.signature, return the signature. +unpack_signature("R16" ++ _, Signature) -> + {_, Sig} = Signature, + Sig; unpack_signature("17", Signature) -> {_, Sig} = Signature, Sig; @@ -29,6 +37,8 @@ unpack_signature("18", Signature) -> Signature. %% Use a list for R17 and a binary for newer versions. +poison_val("R16" ++ _, Val) -> + Val; poison_val("17", Val) -> Val; poison_val("18", Val) -> |