diff options
author | Ingela Anderton Andin <[email protected]> | 2018-11-12 09:41:51 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2018-11-12 09:41:51 +0100 |
commit | 1fef584a05ed7980967fad0ce90638c2ae787cfa (patch) | |
tree | db37c983e6544d711af779e8b63e06ac16de3d5e /lib/ssl/src | |
parent | 95ece845a2fea2d402ea63d79423c6dc15cb75c2 (diff) | |
parent | f70d5092509583d77168b7a2210824d4a7555d18 (diff) | |
download | otp-1fef584a05ed7980967fad0ce90638c2ae787cfa.tar.gz otp-1fef584a05ed7980967fad0ce90638c2ae787cfa.tar.bz2 otp-1fef584a05ed7980967fad0ce90638c2ae787cfa.zip |
Merge branch 'maint'
Diffstat (limited to 'lib/ssl/src')
-rw-r--r-- | lib/ssl/src/ssl_handshake.erl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/ssl/src/ssl_handshake.erl b/lib/ssl/src/ssl_handshake.erl index da2e92a76b..39a627c0a2 100644 --- a/lib/ssl/src/ssl_handshake.erl +++ b/lib/ssl/src/ssl_handshake.erl @@ -1000,6 +1000,13 @@ premaster_secret(EncSecret, #'RSAPrivateKey'{} = RSAPrivateKey) -> catch _:_ -> throw(?ALERT_REC(?FATAL, ?DECRYPT_ERROR)) + end; +premaster_secret(EncSecret, #{algorithm := rsa} = Engine) -> + try crypto:private_decrypt(rsa, EncSecret, maps:remove(algorithm, Engine), + [{rsa_pad, rsa_pkcs1_padding}]) + catch + _:_ -> + throw(?ALERT_REC(?FATAL, ?DECRYPT_ERROR)) end. %%==================================================================== %% Extensions handling |