aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public_key/src
diff options
context:
space:
mode:
authorIngela Anderton Andin <ingela@erlang.org>2010-09-17 17:06:46 +0200
committerIngela Anderton Andin <ingela@erlang.org>2010-09-21 12:10:25 +0200
commit044f622ac3759001b0fa100e7dc5ab378caa4c72 (patch)
treeb2a871bb6d281855e4193fae6c90a46b25218a19 /lib/public_key/src
parentc1eb8a0b776634422cd9fe3cf6083d25d5b568d0 (diff)
downloadotp-044f622ac3759001b0fa100e7dc5ab378caa4c72.tar.gz
otp-044f622ac3759001b0fa100e7dc5ab378caa4c72.tar.bz2
otp-044f622ac3759001b0fa100e7dc5ab378caa4c72.zip
Handling of DSA key parameters
DSS-Params may be null in a certificate as it can inherit the parameters. Also ignore CA-certs that do not follow ASN-1 spec in RFC 5280.
Diffstat (limited to 'lib/public_key/src')
-rw-r--r--lib/public_key/src/pubkey_cert.erl8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/public_key/src/pubkey_cert.erl b/lib/public_key/src/pubkey_cert.erl
index c1819e6ddc..2335a4e4b4 100644
--- a/lib/public_key/src/pubkey_cert.erl
+++ b/lib/public_key/src/pubkey_cert.erl
@@ -389,10 +389,12 @@ public_key_info(PublicKeyInfo,
NewPublicKeyParams =
case PublicKeyParams of
- 'NULL' when WorkingAlgorithm == Algorithm ->
+ {null, 'NULL'} when WorkingAlgorithm == Algorithm ->
WorkingParams;
- _ ->
- PublicKeyParams
+ {params, Params} ->
+ Params;
+ Params ->
+ Params
end,
{Algorithm, PublicKey, NewPublicKeyParams}.