aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_server_key_api.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2015-06-26 08:47:38 +0200
committerIngela Anderton Andin <[email protected]>2015-06-26 11:35:31 +0200
commitfcbf2e682cedebdf768dc90273889b1f8d4b2ce4 (patch)
tree28e429fafddc8b5cdb9e2e4141f2730fc3c1b3f9 /lib/ssh/src/ssh_server_key_api.erl
parent0f3f8f5871a1ea503cc80ae17adc8dec96c79445 (diff)
downloadotp-fcbf2e682cedebdf768dc90273889b1f8d4b2ce4.tar.gz
otp-fcbf2e682cedebdf768dc90273889b1f8d4b2ce4.tar.bz2
otp-fcbf2e682cedebdf768dc90273889b1f8d4b2ce4.zip
ssh: Use old crypto with newer ssh
Many issues with previous process design, causing for instance process leaks, are compleatly gone in the redesigned ssh-3.0 and later. This is a backport of newer ssh design to R15B
Diffstat (limited to 'lib/ssh/src/ssh_server_key_api.erl')
-rw-r--r--lib/ssh/src/ssh_server_key_api.erl30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/ssh/src/ssh_server_key_api.erl b/lib/ssh/src/ssh_server_key_api.erl
new file mode 100644
index 0000000000..4fd660ecb5
--- /dev/null
+++ b/lib/ssh/src/ssh_server_key_api.erl
@@ -0,0 +1,30 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2011-2012. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-module(ssh_server_key_api).
+
+-include_lib("public_key/include/public_key.hrl").
+-include("ssh.hrl").
+
+-callback host_key(Algorithm :: 'ssh-rsa'| 'ssh-dss'| atom(), DaemonOptions :: proplists:proplist()) ->
+ {ok, PrivateKey :: #'RSAPrivateKey'{}| #'DSAPrivateKey'{} | term()} | {error, string()}.
+
+-callback is_auth_key(PublicKey :: #'RSAPublicKey'{}| {integer(), #'Dss-Parms'{}}| term(),
+ User :: string(), DaemonOptions :: proplists:proplist()) ->
+ boolean().