static X509_CRL *dup(const X509_CRL *crl) { if (crl) { return X509_CRL_dup(const_cast<X509_CRL *>(crl)); } else return NULL; }
VALUE ossl_x509crl_new(X509_CRL *crl) { X509_CRL *tmp; VALUE obj; tmp = crl ? X509_CRL_dup(crl) : X509_CRL_new(); if(!tmp) ossl_raise(eX509CRLError, NULL); WrapX509CRL(cX509CRL, obj, tmp); return obj; }
std::vector<CertificateRevocationList *> Pkcs7SignedData::getCrls() { std::vector<CertificateRevocationList *> ret; int i, num; X509_CRL *oneX509Crl; CertificateRevocationList *crl; num = sk_X509_CRL_num(this->pkcs7->d.sign->crl); for (i=0;i<num;i++) { oneX509Crl = sk_X509_CRL_value(this->pkcs7->d.sign->crl, i); crl = new CertificateRevocationList(X509_CRL_dup(oneX509Crl)); ret.push_back(crl); } return ret; }
static VALUE ossl_x509crl_copy(VALUE self, VALUE other) { X509_CRL *a, *b, *crl; rb_check_frozen(self); if (self == other) return self; GetX509CRL(self, a); SafeGetX509CRL(other, b); if (!(crl = X509_CRL_dup(b))) { ossl_raise(eX509CRLError, NULL); } X509_CRL_free(a); DATA_PTR(self) = crl; return self; }