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!"); \
34ossl_x509rev_free(
void *
ptr)
36 X509_REVOKED_free(
ptr);
58 new = X509_REVOKED_new();
73 X509_REVOKED *rev, *
new;
93 if (!(rev = X509_REVOKED_new())) {
109ossl_x509revoked_initialize_copy(
VALUE self,
VALUE other)
111 X509_REVOKED *rev, *rev_other, *rev_new;
122 X509_REVOKED_free(rev);
128ossl_x509revoked_get_serial(
VALUE self)
138ossl_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);
155ossl_x509revoked_get_time(
VALUE self)
158 const ASN1_TIME *
time;
176 if (!X509_REVOKED_set_revocationDate(rev, asn1time)) {
177 ASN1_TIME_free(asn1time);
180 ASN1_TIME_free(asn1time);
188ossl_x509revoked_get_extensions(
VALUE self)
196 count = X509_REVOKED_get_ext_count(rev);
203 ext = X509_REVOKED_get_ext(rev,
i);
214ossl_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)) {
240ossl_x509revoked_add_extension(
VALUE self,
VALUE ext)
253ossl_x509revoked_to_der(
VALUE self)
261 len = i2d_X509_REVOKED(rev,
NULL);
266 if (i2d_X509_REVOKED(rev, &p) <= 0)
char str[HTML_ESCAPE_MAX_LEN+1]
VALUE rb_define_class_under(VALUE, const char *, VALUE)
Defines a class under the namespace of outer.
VALUE rb_define_module(const char *)
VALUE rb_define_module_under(VALUE, const char *)
VALUE rb_cObject
Object class.
#define X509_REVOKED_dup(rev)
#define X509_REVOKED_get0_serialNumber(x)
#define X509_REVOKED_get0_revocationDate(x)
void ossl_raise(VALUE exc, const char *fmt,...)
#define ossl_str_adjust(str, p)
#define OSSL_Check_Kind(obj, klass)
VALUE asn1integer_to_num(const ASN1_INTEGER *ai)
VALUE asn1time_to_time(const ASN1_TIME *time)
ASN1_INTEGER * num_to_asn1integer(VALUE obj, ASN1_INTEGER *ai)
ASN1_TIME * ossl_x509_time_adjust(ASN1_TIME *s, VALUE time)
VALUE ossl_x509ext_new(X509_EXTENSION *)
X509_EXTENSION * GetX509ExtPtr(VALUE)
void Init_ossl_x509revoked(void)
VALUE ossl_x509revoked_new(X509_REVOKED *rev)
X509_REVOKED * DupX509RevokedPtr(VALUE obj)
#define GetX509Rev(obj, rev)
#define SetX509Rev(obj, rev)
#define NewX509Rev(klass)