Ruby 2.4
OpenSSL

OpenSSL::PKCS7::SignerInfo

class OpenSSL::PKCS7::SignerInfo

父类:Object

公共类方法

新(p1,p2,p3)显示来源

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 = GetDigestPtr(digest GetPKCS7si(self, p7si if (!(PKCS7_SIGNER_INFO_set(p7si, x509, pkey, (EVP_MD*)md))) { ossl_raise(ePKCS7Error, NULL } return self; }

公共实例方法

issuer()显示源

static VALUE ossl_pkcs7si_get_issuer(VALUE self) { PKCS7_SIGNER_INFO *p7si; GetPKCS7si(self, p7si return ossl_x509name_new(p7si->issuer_and_serial->issuer }

另外别名为:名称

name()

发行人的别名

serial()显示源文件

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()显示源文件

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; }