Class: OpenSSL::PKey::DH
- Inherits:
-
PKey
- Object
- PKey
- OpenSSL::PKey::DH
- Defined in:
- ossl_pkey_dh.c
Class Method Summary collapse
Instance Method Summary collapse
- #compute_key ⇒ Object
- #export ⇒ Object (also: #to_pem, #to_s)
- #generate_key! ⇒ Object
- #initialize ⇒ Object constructor
-
#params ⇒ Object
Stores all parameters of key to the hash INSECURE: PRIVATE INFORMATIONS CAN LEAK OUT!!! Don't use :-)) (I's up to you).
- #params_ok? ⇒ Boolean
- #private? ⇒ Boolean
- #public? ⇒ Boolean
-
#public_key ⇒ Object
Makes new instance DH PUBLIC_KEY from PRIVATE_KEY.
- #to_der ⇒ Object
-
#to_text ⇒ Object
Prints all parameters of key to buffer INSECURE: PRIVATE INFORMATIONS CAN LEAK OUT!!! Don't use :-)) (I's up to you).
Constructor Details
#initialize ⇒ Object
Class Method Details
.generate ⇒ Object
Instance Method Details
#compute_key ⇒ Object
#export ⇒ Object Also known as: to_pem, to_s
#generate_key! ⇒ Object
#params ⇒ Object
Stores all parameters of key to the hash INSECURE: PRIVATE INFORMATIONS CAN LEAK OUT!!! Don't use :-)) (I's up to you)
|
# File 'ossl_pkey_dh.c'
static VALUE
ossl_dh_get_params(VALUE self)
{
EVP_PKEY *pkey;
VALUE hash;
GetPKeyDH(self, pkey);
hash = rb_hash_new();
rb_hash_aset(hash, rb_str_new2("p"), ossl_bn_new(pkey->pkey.dh->p));
rb_hash_aset(hash, rb_str_new2("g"), ossl_bn_new(pkey->pkey.dh->g));
rb_hash_aset(hash, rb_str_new2("pub_key"), ossl_bn_new(pkey->pkey.dh->pub_key));
rb_hash_aset(hash, rb_str_new2("priv_key"), ossl_bn_new(pkey->pkey.dh->priv_key));
return hash;
}
|
#params_ok? ⇒ Boolean
#private? ⇒ Boolean
#public? ⇒ Boolean
#public_key ⇒ Object
Makes new instance DH PUBLIC_KEY from PRIVATE_KEY
|
# File 'ossl_pkey_dh.c'
static VALUE
ossl_dh_to_public_key(VALUE self)
{
EVP_PKEY *pkey;
DH *dh;
VALUE obj;
GetPKeyDH(self, pkey);
dh = DHparams_dup(pkey->pkey.dh); /* err check perfomed by dh_instance */
obj = dh_instance(CLASS_OF(self), dh);
if (obj == Qfalse) {
DH_free(dh);
ossl_raise(eDHError, NULL);
}
|
#to_der ⇒ Object
#to_text ⇒ Object
Prints all parameters of key to buffer INSECURE: PRIVATE INFORMATIONS CAN LEAK OUT!!! Don't use :-)) (I's up to you)
|
# File 'ossl_pkey_dh.c'
static VALUE
ossl_dh_to_text(VALUE self)
{
EVP_PKEY *pkey;
BIO *out;
VALUE str;
GetPKeyDH(self, pkey);
if (!(out = BIO_new(BIO_s_mem()))) {
ossl_raise(eDHError, NULL);
}
|