Class: OpenSSL::OCSP::CertificateId
- Inherits:
-
Object
- Object
- OpenSSL::OCSP::CertificateId
- Defined in:
- ossl_ocsp.c
Instance Method Summary collapse
-
#cmp(other) ⇒ Boolean
Compares this certificate id with
other
and returns true if they are the same. -
#cmp_issuer(other) ⇒ Boolean
Compares this certificate id’s issuer with
other
and returns true if they are the same. -
#OpenSSL::OCSP::CertificateId.new(subject, issuer, digest = nil) ⇒ Object
constructor
Creates a new OpenSSL::OCSP::CertificateId for the given
subject
andissuer
X509 certificates. -
#get_serial ⇒ Integer
Returns the serial number of the issuing certificate.
Constructor Details
#OpenSSL::OCSP::CertificateId.new(subject, issuer, digest = nil) ⇒ Object
Creates a new OpenSSL::OCSP::CertificateId for the given subject
and issuer
X509 certificates. The digest
is used to compute the certificate ID and must be an OpenSSL::Digest instance.
884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 |
# File 'ossl_ocsp.c', line 884
static VALUE
ossl_ocspcid_initialize(int argc, VALUE *argv, VALUE self)
{
OCSP_CERTID *id, *newid;
X509 *x509s, *x509i;
VALUE subject, issuer, digest;
const EVP_MD *md;
if (rb_scan_args(argc, argv, "21", &subject, &issuer, &digest) == 0) {
return self;
}
x509s = GetX509CertPtr(subject); /* NO NEED TO DUP */
x509i = GetX509CertPtr(issuer); /* NO NEED TO DUP */
if (!NIL_P(digest)) {
md = GetDigestPtr(digest);
newid = OCSP_cert_to_id(md, x509s, x509i);
} else {
newid = OCSP_cert_to_id(NULL, x509s, x509i);
}
if(!newid)
ossl_raise(eOCSPError, NULL);
GetOCSPCertId(self, id);
OCSP_CERTID_free(id);
RDATA(self)->data = newid;
return self;
}
|
Instance Method Details
#cmp(other) ⇒ Boolean
Compares this certificate id with other
and returns true if they are the same.
921 922 923 924 925 926 927 928 929 930 931 932 |
# File 'ossl_ocsp.c', line 921
static VALUE
ossl_ocspcid_cmp(VALUE self, VALUE other)
{
OCSP_CERTID *id, *id2;
int result;
GetOCSPCertId(self, id);
SafeGetOCSPCertId(other, id2);
result = OCSP_id_cmp(id, id2);
return (result == 0) ? Qtrue : Qfalse;
}
|
#cmp_issuer(other) ⇒ Boolean
Compares this certificate id’s issuer with other
and returns true if they are the same.
942 943 944 945 946 947 948 949 950 951 952 953 |
# File 'ossl_ocsp.c', line 942
static VALUE
ossl_ocspcid_cmp_issuer(VALUE self, VALUE other)
{
OCSP_CERTID *id, *id2;
int result;
GetOCSPCertId(self, id);
SafeGetOCSPCertId(other, id2);
result = OCSP_id_issuer_cmp(id, id2);
return (result == 0) ? Qtrue : Qfalse;
}
|
#get_serial ⇒ Integer
Returns the serial number of the issuing certificate.
962 963 964 965 966 967 968 969 970 |
# File 'ossl_ocsp.c', line 962
static VALUE
ossl_ocspcid_get_serial(VALUE self)
{
OCSP_CERTID *id;
GetOCSPCertId(self, id);
return asn1integer_to_num(id->serialNumber);
}
|