aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public_key
diff options
context:
space:
mode:
authorPéter Dimitrov <[email protected]>2019-04-17 14:24:08 +0200
committerPéter Dimitrov <[email protected]>2019-04-17 16:12:04 +0200
commit55ae19580db44190309a9ec2c88e6f33cf47bf31 (patch)
treed3e8144645f9a10ee42f2962e8c840eb69d67dd8 /lib/public_key
parente60b4d15b6b2433a9d1607c1792079ed4e9bcbdf (diff)
downloadotp-55ae19580db44190309a9ec2c88e6f33cf47bf31.tar.gz
otp-55ae19580db44190309a9ec2c88e6f33cf47bf31.tar.bz2
otp-55ae19580db44190309a9ec2c88e6f33cf47bf31.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
Diffstat (limited to 'lib/public_key')
-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 431c77141c..47266c514c 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().