Method: OpenSSL::PKCS7::SignerInfo#initialize

Defined in:
ossl_pkcs7.c

#initialize(cert, key, digest) ⇒ Object

[View source]

938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
# File 'ossl_pkcs7.c', line 938

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;

    pkey = GetPrivPKeyPtr(key); /* NO NEED TO DUP */
    x509 = GetX509CertPtr(cert); /* NO NEED TO DUP */
    md = ossl_evp_get_digestbyname(digest);
    GetPKCS7si(self, p7si);
    if (!(PKCS7_SIGNER_INFO_set(p7si, x509, pkey, (EVP_MD*)md))) {
	ossl_raise(ePKCS7Error, NULL);
    }

    return self;
}