Crypt-OpenSSL-Base-Func
view release on metacpan or search on metacpan
{
BIGNUM *priv_bn = NULL;
char* priv_hex = NULL;
char* priv = NULL;
size_t priv_len=0;
EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_PRIV_KEY, &priv_bn);
if(priv_bn==NULL){
EVP_PKEY_get_raw_private_key(pkey, NULL, &priv_len);
priv = OPENSSL_malloc(priv_len);
EVP_PKEY_get_raw_private_key(pkey, priv, &priv_len);
priv_bn = BN_bin2bn(priv, priv_len, NULL);
OPENSSL_free(priv);
}
priv_hex = BN_bn2hex(priv_bn);
OPENSSL_free(priv_bn);
return priv_hex;
unsigned char* priv=NULL;
size_t priv_len;
BIGNUM *priv_bn = NULL;
nid = OBJ_sn2nid(group_name);
priv = OPENSSL_hexstr2buf(priv_hex, &priv_len);
if(priv){
pkey = EVP_PKEY_new_raw_private_key(nid, NULL, priv, priv_len);
}else{
ctx = EVP_PKEY_CTX_new_id(nid, NULL);
if(ctx){
EVP_PKEY_keygen_init(ctx);
EVP_PKEY_keygen(ctx, &pkey);
}
}
if(pkey)
return pkey;
( run in 0.445 second using v1.01-cache-2.11-cpan-a5abf4f5562 )