Class: OpenSSL::PKCS7::SignerInfo
Relationships & Source Files | |
Inherits: | Object |
Defined in: | ext/openssl/ossl_pkcs7.c |
Class Method Summary
- .new(cert, key, digest) constructor
Instance Method Summary
-
#issuer
Alias for #name.
- #name (also: #issuer)
- #serial
- #signed_time
Constructor Details
.new(cert, key, digest)
[ GitHub ]# File 'ext/openssl/ossl_pkcs7.c', line 914
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; }
Instance Method Details
#issuer
Alias for #name.
#name Also known as: #issuer
[ GitHub ]# File 'ext/openssl/ossl_pkcs7.c', line 933
static VALUE ossl_pkcs7si_get_issuer(VALUE self) { PKCS7_SIGNER_INFO *p7si; GetPKCS7si(self, p7si); return ossl_x509name_new(p7si->issuer_and_serial->issuer); }
#serial
[ GitHub ]# File 'ext/openssl/ossl_pkcs7.c', line 943
static VALUE ossl_pkcs7si_get_serial(VALUE self) { PKCS7_SIGNER_INFO *p7si; GetPKCS7si(self, p7si); return asn1integer_to_num(p7si->issuer_and_serial->serial); }
#signed_time
[ GitHub ]# File 'ext/openssl/ossl_pkcs7.c', line 953
static VALUE ossl_pkcs7si_get_signed_time(VALUE self) { PKCS7_SIGNER_INFO *p7si; ASN1_TYPE *asn1obj; GetPKCS7si(self, p7si); if (!(asn1obj = PKCS7_get_signed_attribute(p7si, NID_pkcs9_signingTime))) { ossl_raise(ePKCS7Error, NULL); } if (asn1obj->type == V_ASN1_UTCTIME) { return asn1time_to_time(asn1obj->value.utctime); } /* * OR * ossl_raise(ePKCS7Error, "..."); * ? */ return Qnil; }