Need to load the cipher definitions if we expect to use them...
This commit is contained in:
parent
4191a8c56c
commit
ecd83df6a7
2
README
2
README
@ -7,6 +7,8 @@ Version 0.5
|
|||||||
*** BC Break ***
|
*** BC Break ***
|
||||||
Reimplemented libssh2_session_methods() to match libssh2_session_method_pref() style
|
Reimplemented libssh2_session_methods() to match libssh2_session_method_pref() style
|
||||||
|
|
||||||
|
Fixed authenticating with encrypted private key.
|
||||||
|
|
||||||
Fixed authenticating via ssh-dss public key.
|
Fixed authenticating via ssh-dss public key.
|
||||||
|
|
||||||
Fixed KEX_INIT cookie and packet padding to use actual random data
|
Fixed KEX_INIT cookie and packet padding to use actual random data
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "libssh2_priv.h"
|
#include "libssh2_priv.h"
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/evp.h>
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_RSA
|
#ifndef OPENSSL_NO_RSA
|
||||||
/* ***********
|
/* ***********
|
||||||
@ -86,7 +87,8 @@ static int libssh2_hostkey_method_ssh_rsa_init(LIBSSH2_SESSION *session, unsigne
|
|||||||
/* {{{ libssh2_hostkey_method_ssh_rsa_passphrase_cb
|
/* {{{ libssh2_hostkey_method_ssh_rsa_passphrase_cb
|
||||||
* TODO: Optionally call a passphrase callback specified by the calling program
|
* TODO: Optionally call a passphrase callback specified by the calling program
|
||||||
*/
|
*/
|
||||||
static int libssh2_hostkey_method_ssh_rsadsa_passphrase_cb(char *buf, int size, int rwflag, char *passphrase){
|
static int libssh2_hostkey_method_ssh_rsadsa_passphrase_cb(char *buf, int size, int rwflag, char *passphrase)
|
||||||
|
{
|
||||||
int passphrase_len = strlen(passphrase);
|
int passphrase_len = strlen(passphrase);
|
||||||
|
|
||||||
if (passphrase_len > (size - 1)) {
|
if (passphrase_len > (size - 1)) {
|
||||||
@ -116,6 +118,14 @@ static int libssh2_hostkey_method_ssh_rsa_initPEM(LIBSSH2_SESSION *session, unsi
|
|||||||
if (!fp) {
|
if (!fp) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!EVP_get_cipherbyname("des")) {
|
||||||
|
/* If this cipher isn't loaded it's a pretty good indication that none are.
|
||||||
|
* I have *NO DOUBT* that there's a better way to deal with this ($#&%#$(%$#(
|
||||||
|
* Someone buy me an OpenSSL manual and I'll read up on it.
|
||||||
|
*/
|
||||||
|
OPENSSL_add_all_algorithms_noconf();
|
||||||
|
}
|
||||||
rsactx = PEM_read_RSAPrivateKey(fp, NULL, (void*)libssh2_hostkey_method_ssh_rsadsa_passphrase_cb, passphrase);
|
rsactx = PEM_read_RSAPrivateKey(fp, NULL, (void*)libssh2_hostkey_method_ssh_rsadsa_passphrase_cb, passphrase);
|
||||||
if (!rsactx) {
|
if (!rsactx) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
@ -322,6 +332,14 @@ static int libssh2_hostkey_method_ssh_dss_initPEM(LIBSSH2_SESSION *session, unsi
|
|||||||
if (!fp) {
|
if (!fp) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!EVP_get_cipherbyname("des")) {
|
||||||
|
/* If this cipher isn't loaded it's a pretty good indication that none are.
|
||||||
|
* I have *NO DOUBT* that there's a better way to deal with this ($#&%#$(%$#(
|
||||||
|
* Someone buy me an OpenSSL manual and I'll read up on it.
|
||||||
|
*/
|
||||||
|
OPENSSL_add_all_algorithms_noconf();
|
||||||
|
}
|
||||||
dsactx = PEM_read_DSAPrivateKey(fp, NULL, (void*)libssh2_hostkey_method_ssh_rsadsa_passphrase_cb, passphrase);
|
dsactx = PEM_read_DSAPrivateKey(fp, NULL, (void*)libssh2_hostkey_method_ssh_rsadsa_passphrase_cb, passphrase);
|
||||||
if (!dsactx) {
|
if (!dsactx) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user