summaryrefslogtreecommitdiff
path: root/src/catlfish_compat.erl
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2016-11-25 10:54:17 +0100
committerLinus Nordberg <linus@nordu.net>2016-11-25 10:54:17 +0100
commit9f436ce835aba793cc06525e160bd2e07dd8f7cd (patch)
tree4a6a0a74cd6b054b51a6ab8f1767caf820970d59 /src/catlfish_compat.erl
parent034c40cc84f28fd970fc649ffe7eb7fe797479a6 (diff)
parentccfe7c55a5d1658c0f98aac2c45e76444dcd0bc2 (diff)
Merge remote-tracking branch 'refs/remotes/map/robust-distribution'
Diffstat (limited to 'src/catlfish_compat.erl')
-rw-r--r--src/catlfish_compat.erl10
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) ->