diff options
author | Erlang/OTP <[email protected]> | 2010-11-01 13:58:26 +0100 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-11-01 13:58:26 +0100 |
commit | b93c12e8e0113862be038565fc04e170cfe3c12a (patch) | |
tree | 9e0e6cb19f759239cb415050616237a7c2ba5c50 /lib/ssh/src/ssh_file.erl | |
parent | 7fce62fb8dfcf964111ce8c3254a41ce450ad0b6 (diff) | |
parent | 637dff7790e3f195dff81a7cfb8af468dece8946 (diff) | |
download | otp-b93c12e8e0113862be038565fc04e170cfe3c12a.tar.gz otp-b93c12e8e0113862be038565fc04e170cfe3c12a.tar.bz2 otp-b93c12e8e0113862be038565fc04e170cfe3c12a.zip |
Merge branch 'nick/ssh/replaced-deprecated/OTP-8849' into maint-r14
* nick/ssh/replaced-deprecated/OTP-8849:
The fix regarding OTP-8849 was not included in the previous version as stated.
Move away from using deprecated public_key function pem_to_der.
Diffstat (limited to 'lib/ssh/src/ssh_file.erl')
-rwxr-xr-x | lib/ssh/src/ssh_file.erl | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/ssh/src/ssh_file.erl b/lib/ssh/src/ssh_file.erl index 5572349fe7..13722656db 100755 --- a/lib/ssh/src/ssh_file.erl +++ b/lib/ssh/src/ssh_file.erl @@ -198,12 +198,17 @@ read_public_key_v1(File) -> %% pem_type("ssh-rsa") -> "RSA". read_private_key_v2(File, Type) -> - case catch (public_key:pem_to_der(File)) of - {ok, [{_, Bin, not_encrypted}]} -> - decode_private_key_v2(Bin, Type); - Error -> %% Note we do not handle password encrypted keys at the moment - {error, Error} - end. + case file:read_file(File) of + {ok, PemBin} -> + case catch (public_key:pem_decode(PemBin)) of + [{_, Bin, not_encrypted}] -> + decode_private_key_v2(Bin, Type); + Error -> %% Note we do not handle password encrypted keys at the moment + {error, Error} + end; + {error, Reason} -> + {error, Reason} + end. %% case file:read_file(File) of %% {ok,Bin} -> %% case read_pem(binary_to_list(Bin), pem_type(Type)) of |