aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2018-04-24 11:12:40 +0200
committerIngela Anderton Andin <[email protected]>2018-04-30 07:30:35 +0200
commit973293516a0d3e5148aa567fe1da65821efe532a (patch)
treefc3166e618d7844a004704e64d49e82bc2f9c8c2 /lib/ssl
parenta34cb1484224134c6e02ce033459523d2333f430 (diff)
downloadotp-973293516a0d3e5148aa567fe1da65821efe532a.tar.gz
otp-973293516a0d3e5148aa567fe1da65821efe532a.tar.bz2
otp-973293516a0d3e5148aa567fe1da65821efe532a.zip
ssl: Fix ECDSA key decode clause
Diffstat (limited to 'lib/ssl')
-rw-r--r--lib/ssl/src/ssl_config.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/ssl/src/ssl_config.erl b/lib/ssl/src/ssl_config.erl
index 022fb7eac0..452a98e683 100644
--- a/lib/ssl/src/ssl_config.erl
+++ b/lib/ssl/src/ssl_config.erl
@@ -132,7 +132,13 @@ private_key(#'PrivateKeyInfo'{privateKeyAlgorithm =
#'PrivateKeyInfo_privateKeyAlgorithm'{algorithm = ?'id-dsa'},
privateKey = Key}) ->
public_key:der_decode('DSAPrivateKey', iolist_to_binary(Key));
-
+private_key(#'PrivateKeyInfo'{privateKeyAlgorithm =
+ #'PrivateKeyInfo_privateKeyAlgorithm'{algorithm = ?'id-ecPublicKey',
+ parameters = {asn1_OPENTYPE, Parameters}},
+ privateKey = Key}) ->
+ ECKey = public_key:der_decode('ECPrivateKey', iolist_to_binary(Key)),
+ ECParameters = public_key:der_decode('EcpkParameters', Parameters),
+ ECKey#'ECPrivateKey'{parameters = ECParameters};
private_key(Key) ->
Key.