aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src
diff options
context:
space:
mode:
authorNiclas Eklund <[email protected]>2010-09-20 17:06:05 +0200
committerNiclas Eklund <[email protected]>2010-11-01 13:53:07 +0100
commitf2f8d87fb6a257aa8340cd51b9d5bf5c909ef90d (patch)
tree62a7c3dac523147bdc1850100a27b5337de63e7d /lib/ssh/src
parent7fce62fb8dfcf964111ce8c3254a41ce450ad0b6 (diff)
downloadotp-f2f8d87fb6a257aa8340cd51b9d5bf5c909ef90d.tar.gz
otp-f2f8d87fb6a257aa8340cd51b9d5bf5c909ef90d.tar.bz2
otp-f2f8d87fb6a257aa8340cd51b9d5bf5c909ef90d.zip
Move away from using deprecated public_key function pem_to_der.
Diffstat (limited to 'lib/ssh/src')
-rw-r--r--lib/ssh/src/ssh.appup.src2
-rwxr-xr-xlib/ssh/src/ssh_file.erl17
2 files changed, 13 insertions, 6 deletions
diff --git a/lib/ssh/src/ssh.appup.src b/lib/ssh/src/ssh.appup.src
index 619b4b736f..9c806bcd03 100644
--- a/lib/ssh/src/ssh.appup.src
+++ b/lib/ssh/src/ssh.appup.src
@@ -19,9 +19,11 @@
{"%VSN%",
[
+ {"2.0.2", [{load_module, ssh_file, soft_purge, soft_purge, []}]},
{"2.0.1", [{restart_application, ssh}]}
],
[
+ {"2.0.2", [{load_module, ssh_file, soft_purge, soft_purge, []}]},
{"2.0.1", [{restart_application, ssh}]}
]
}.
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