123456789_123456789_123456789_123456789_123456789_

Class: OpenSSL::PKCS7::RecipientInfo

Relationships & Source Files
Inherits: Object
Defined in: ext/openssl/ossl_pkcs7.c

Class Method Summary

Instance Method Summary

Constructor Details

.new(cert)

[ GitHub ]

  
# File 'ext/openssl/ossl_pkcs7.c', line 1010

static VALUE
ossl_pkcs7ri_initialize(VALUE self, VALUE cert)
{
    PKCS7_RECIP_INFO *p7ri;
    X509 *x509;

    ossl_want_uninitialized(self, &ossl_pkcs7_recip_info_type);
    x509 = GetX509CertPtr(cert); /* NO NEED TO DUP */

    p7ri = PKCS7_RECIP_INFO_new();
    if (!p7ri)
        ossl_raise(ePKCS7Error, "PKCS7_RECIP_INFO_new");
    RTYPEDDATA_DATA(self) = p7ri;

    if (PKCS7_RECIP_INFO_set(p7ri, x509) <= 0) {
        ossl_raise(ePKCS7Error, NULL);
    }

    return self;
}

Instance Method Details

#enc_key

[ GitHub ]

  
# File 'ext/openssl/ossl_pkcs7.c', line 1051

static VALUE
ossl_pkcs7ri_get_enc_key(VALUE self)
{
    PKCS7_RECIP_INFO *p7ri;

    GetPKCS7ri(self, p7ri);

    return asn1str_to_str(p7ri->enc_key);
}

#issuer

[ GitHub ]

  
# File 'ext/openssl/ossl_pkcs7.c', line 1031

static VALUE
ossl_pkcs7ri_get_issuer(VALUE self)
{
    PKCS7_RECIP_INFO *p7ri;

    GetPKCS7ri(self, p7ri);

    return ossl_x509name_new(p7ri->issuer_and_serial->issuer);
}

#serial

[ GitHub ]

  
# File 'ext/openssl/ossl_pkcs7.c', line 1041

static VALUE
ossl_pkcs7ri_get_serial(VALUE self)
{
    PKCS7_RECIP_INFO *p7ri;

    GetPKCS7ri(self, p7ri);

    return asn1integer_to_num(p7ri->issuer_and_serial->serial);
}