aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPéter Dimitrov <[email protected]>2019-04-17 14:24:08 +0200
committerIngela Anderton Andin <[email protected]>2019-04-30 17:17:03 +0200
commit1e125133aba0fb0207a5784d7d7c3a01fb96131a (patch)
tree9d4e8d551c62e1988b7e6b72b9b7b66936de2286
parent87f44e652f366295e99b90426f4deecf4657124e (diff)
downloadotp-1e125133aba0fb0207a5784d7d7c3a01fb96131a.tar.gz
otp-1e125133aba0fb0207a5784d7d7c3a01fb96131a.tar.bz2
otp-1e125133aba0fb0207a5784d7d7c3a01fb96131a.zip
public_key: Accept digest types 'sha1' and 'sha'
Update type spec for digest_type() to reflect that functions with this type accept the (wrong) atom 'sha1'. The right behavior would be to only accept 'sha' as that is the only valid value of crypto:sha1(). Update rsa_digest_oid/1 and ecdsa_digest_oid/1 to accept digest 'sha'. Change-Id: I03219396b797435298e098e03b93286b352e07e2
-rw-r--r--lib/public_key/src/pubkey_cert.erl4
-rw-r--r--lib/public_key/src/public_key.erl1
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/public_key/src/pubkey_cert.erl b/lib/public_key/src/pubkey_cert.erl
index 61a1239d26..12c61e158f 100644
--- a/lib/public_key/src/pubkey_cert.erl
+++ b/lib/public_key/src/pubkey_cert.erl
@@ -1187,6 +1187,8 @@ sign_algorithm(#'ECPrivateKey'{parameters = Parms}, Opts) ->
parameters = Parms}.
rsa_digest_oid(sha1) ->
?'sha1WithRSAEncryption';
+rsa_digest_oid(sha) ->
+ ?'sha1WithRSAEncryption';
rsa_digest_oid(sha512) ->
?'sha512WithRSAEncryption';
rsa_digest_oid(sha384) ->
@@ -1198,6 +1200,8 @@ rsa_digest_oid(md5) ->
ecdsa_digest_oid(sha1) ->
?'ecdsa-with-SHA1';
+ecdsa_digest_oid(sha) ->
+ ?'ecdsa-with-SHA1';
ecdsa_digest_oid(sha512) ->
?'ecdsa-with-SHA512';
ecdsa_digest_oid(sha384) ->
diff --git a/lib/public_key/src/public_key.erl b/lib/public_key/src/public_key.erl
index 47c5dbb95a..d02df27a00 100644
--- a/lib/public_key/src/public_key.erl
+++ b/lib/public_key/src/public_key.erl
@@ -112,6 +112,7 @@
-type ssh_file() :: openssh_public_key | rfc4716_public_key | known_hosts |
auth_keys.
-type digest_type() :: none % None is for backwards compatibility
+ | sha1 % Backwards compatibility
| crypto:rsa_digest_type()
| crypto:dss_digest_type()
| crypto:ecdsa_digest_type().