|
Lines 107-113
pki_key::pki_key(const pki_key *pk)
|
Link Here
|
|---|
|
if (pk == NULL) return; | if (pk == NULL) return; |
key->type = pk->key->type; | key->type = pk->key->type; |
if (key->type == EVP_PKEY_RSA) { | if (key->type == EVP_PKEY_RSA) { |
key->pkey.rsa=((RSA *)ASN1_dup( (int (*)())i2d_RSAPrivateKey, (char *(*)())d2i_RSAPrivateKey,(char *)pk->key->pkey.rsa)); |
key->pkey.rsa=ASN1_dup_of_const(RSA, i2d_RSAPrivateKey, d2i_RSAPrivateKey, pk->key->pkey.rsa); |
} | } |
// TODO add DSA support..... | // TODO add DSA support..... |
openssl_error(); | openssl_error(); |
|
Lines 216-222
void pki_key::fromData(unsigned char *p,
|
Link Here
|
|---|
|
rsakey = d2i_RSAPrivateKey(NULL, &pdec, decsize); | rsakey = d2i_RSAPrivateKey(NULL, &pdec, decsize); |
#endif | #endif |
if (ign_openssl_error()) { | if (ign_openssl_error()) { |
rsakey = d2i_RSA_PUBKEY(NULL, &sik, decsize); |
rsakey = d2i_RSA_PUBKEY(NULL, (const unsigned char **)&sik, decsize); |
} | } |
openssl_error(); | openssl_error(); |
if (rsakey) EVP_PKEY_assign_RSA(key, rsakey); | if (rsakey) EVP_PKEY_assign_RSA(key, rsakey); |