Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
instance method
OpenSSL::X509::Certificate#sign
(::OpenSSL::PKey::PKey key, ::String digest) -> ::String
cert.sign(key, digest) => self
ext/openssl/ossl_x509cert.c
View on GitHub ↗
static VALUE
ossl_x509_sign(VALUE self, VALUE key, VALUE digest)
{
X509 *x509;
EVP_PKEY *pkey;
const EVP_MD *md;
VALUE md_holder;
pkey = GetPrivPKeyPtr(key); /* NO NEED TO DUP */
/* NULL needed for some key types, e.g. Ed25519 */
md = NIL_P(digest) ? NULL : ossl_evp_md_fetch(digest, &md_holder);
GetX509(self, x509);
if (!X509_sign(x509, pkey, md))
ossl_raise(eX509CertError, "X509_sign");
return self;
}
No documentation available