Method: OpenSSL::PKey::DH#export

Defined in:
ossl_pkey_dh.c

#exportaString #to_pemaString #to_saString Also known as: to_pem, to_s

Serializes the DH parameters to a PEM-encoding.

Note that any existing per-session public/private keys will not get encoded, just the Diffie-Hellman parameters will be encoded.

PEM-encoded parameters will look like:

-----BEGIN DH PARAMETERS-----
[...]
-----END DH PARAMETERS-----

See also #public_to_pem (X.509 SubjectPublicKeyInfo) and #private_to_pem (PKCS #8 PrivateKeyInfo or EncryptedPrivateKeyInfo) for serialization with the private or public key components.

Overloads:

  • #exportaString

    Returns:

    • (aString)
  • #to_pemaString

    Returns:

    • (aString)
  • #to_saString

    Returns:

    • (aString)

234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# File 'ossl_pkey_dh.c', line 234

static VALUE
ossl_dh_export(VALUE self)
{
    OSSL_3_const DH *dh;
    BIO *out;
    VALUE str;

    GetDH(self, dh);
    if (!(out = BIO_new(BIO_s_mem()))) {
	ossl_raise(eDHError, NULL);
    }
    if (!PEM_write_bio_DHparams(out, dh)) {
	BIO_free(out);
	ossl_raise(eDHError, NULL);
    }
    str = ossl_membio2str(out);

    return str;
}