12 #define NewX509Rev(klass) \
13 TypedData_Wrap_Struct((klass), &ossl_x509rev_type, 0)
14 #define SetX509Rev(obj, rev) do { \
16 ossl_raise(rb_eRuntimeError, "REV wasn't initialized!"); \
18 RTYPEDDATA_DATA(obj) = (rev); \
20 #define GetX509Rev(obj, rev) do { \
21 TypedData_Get_Struct((obj), X509_REVOKED, &ossl_x509rev_type, (rev)); \
23 ossl_raise(rb_eRuntimeError, "REV wasn't initialized!"); \
34 ossl_x509rev_free(
void *
ptr)
36 X509_REVOKED_free(
ptr);
58 new = X509_REVOKED_new();
60 new = X509_REVOKED_dup(rev);
73 X509_REVOKED *rev, *
new;
76 if (!(
new = X509_REVOKED_dup(rev))) {
87 ossl_x509revoked_alloc(
VALUE klass)
93 if (!(rev = X509_REVOKED_new())) {
109 ossl_x509revoked_initialize_copy(
VALUE self,
VALUE other)
111 X509_REVOKED *rev, *rev_other, *rev_new;
117 rev_new = X509_REVOKED_dup(rev_other);
122 X509_REVOKED_free(rev);
128 ossl_x509revoked_get_serial(
VALUE self)
138 ossl_x509revoked_set_serial(
VALUE self,
VALUE num)
141 ASN1_INTEGER *asn1int;
145 if (!X509_REVOKED_set_serialNumber(rev, asn1int)) {
146 ASN1_INTEGER_free(asn1int);
149 ASN1_INTEGER_free(asn1int);
155 ossl_x509revoked_get_time(
VALUE self)
158 const ASN1_TIME *time;
169 ossl_x509revoked_set_time(
VALUE self,
VALUE time)
176 if (!X509_REVOKED_set_revocationDate(rev, asn1time)) {
177 ASN1_TIME_free(asn1time);
180 ASN1_TIME_free(asn1time);
188 ossl_x509revoked_get_extensions(
VALUE self)
196 count = X509_REVOKED_get_ext_count(rev);
202 for (i=0; i<
count; i++) {
203 ext = X509_REVOKED_get_ext(rev, i);
214 ossl_x509revoked_set_extensions(
VALUE self,
VALUE ary)
226 while ((ext = X509_REVOKED_delete_ext(rev, 0)))
227 X509_EXTENSION_free(ext);
231 if(!X509_REVOKED_add_ext(rev, ext, -1)) {
240 ossl_x509revoked_add_extension(
VALUE self,
VALUE ext)
253 ossl_x509revoked_to_der(
VALUE self)
261 len = i2d_X509_REVOKED(rev,
NULL);
266 if (i2d_X509_REVOKED(rev, &p) <= 0)