Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
class method
OpenSSL::PKCS7::SignerInfo.new
(::OpenSSL::X509::Certificate certificate, ::OpenSSL::PKey::PKey key, ::OpenSSL::Digest digest) -> ::OpenSSL::PKCS7::SignerInfo
new(p1, p2, p3)
ext/openssl/ossl_pkcs7.c
View on GitHub ↗
static VALUE
ossl_pkcs7si_initialize(VALUE self, VALUE cert, VALUE key, VALUE digest)
{
PKCS7_SIGNER_INFO *p7si;
EVP_PKEY *pkey;
X509 *x509;
const EVP_MD *md;
VALUE md_holder;
ossl_want_uninitialized(self, &ossl_pkcs7_signer_info_type);
pkey = GetPrivPKeyPtr(key); /* NO NEED TO DUP */
x509 = GetX509CertPtr(cert); /* NO NEED TO DUP */
md = ossl_evp_md_fetch(digest, &md_holder);
p7si = PKCS7_SIGNER_INFO_new();
if (!p7si)
ossl_raise(ePKCS7Error, "PKCS7_SIGNER_INFO_new");
RTYPEDDATA_DATA(self) = p7si;
if (PKCS7_SIGNER_INFO_set(p7si, x509, pkey, md) <= 0)
ossl_raise(ePKCS7Error, "PKCS7_SIGNER_INFO_set");
rb_ivar_set(self, id_md_holder, md_holder);
return self;
}
No documentation available