mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-05 09:54:15 +00:00
fixed openssl 1.1 crash
This commit is contained in:
parent
3bbe1e9c0c
commit
6f2357c695
@ -488,7 +488,7 @@ namespace data
|
|||||||
switch (m_Public->GetSigningKeyType ())
|
switch (m_Public->GetSigningKeyType ())
|
||||||
{
|
{
|
||||||
case SIGNING_KEY_TYPE_DSA_SHA1:
|
case SIGNING_KEY_TYPE_DSA_SHA1:
|
||||||
m_Signer.reset (new i2p::crypto::DSASigner (m_SigningPrivateKey));
|
m_Signer.reset (new i2p::crypto::DSASigner (m_SigningPrivateKey, m_Public->GetStandardIdentity ().signingKey));
|
||||||
break;
|
break;
|
||||||
case SIGNING_KEY_TYPE_ECDSA_SHA256_P256:
|
case SIGNING_KEY_TYPE_ECDSA_SHA256_P256:
|
||||||
m_Signer.reset (new i2p::crypto::ECDSAP256Signer (m_SigningPrivateKey));
|
m_Signer.reset (new i2p::crypto::ECDSAP256Signer (m_SigningPrivateKey));
|
||||||
|
@ -77,10 +77,11 @@ namespace crypto
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
DSASigner (const uint8_t * signingPrivateKey)
|
DSASigner (const uint8_t * signingPrivateKey, const uint8_t * signingPublicKey)
|
||||||
|
// openssl 1.1 always requires DSA public key even for signing
|
||||||
{
|
{
|
||||||
m_PrivateKey = CreateDSA ();
|
m_PrivateKey = CreateDSA ();
|
||||||
DSA_set0_key (m_PrivateKey, NULL, BN_bin2bn (signingPrivateKey, DSA_PRIVATE_KEY_LENGTH, NULL));
|
DSA_set0_key (m_PrivateKey, BN_bin2bn (signingPublicKey, DSA_PUBLIC_KEY_LENGTH, NULL), BN_bin2bn (signingPrivateKey, DSA_PRIVATE_KEY_LENGTH, NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
~DSASigner ()
|
~DSASigner ()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user