diff options
author | NAKAMURA Hiroshi <nahi@keynauts.com> | 2003-07-01 04:11:32 +0000 |
---|---|---|
committer | NAKAMURA Hiroshi <nahi@keynauts.com> | 2003-07-01 04:11:32 +0000 |
commit | b368037a3a6de720936182d594f0722c6664938d (patch) | |
tree | 1743a198163208131bdfcf43267d7ce7f4d844ff | |
parent | 72c5e53fd93ce0b14f50707c9544f0f39e4ff714 (diff) | |
download | ruby-openssl-history-b368037a3a6de720936182d594f0722c6664938d.tar.gz |
* ossl_x509crl.c: Add OpenSSL::X509::CRL#to_der (ossl_x509crl_to_der).
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | ossl_x509crl.c | 24 |
2 files changed, 27 insertions, 0 deletions
@@ -1,3 +1,6 @@ +Tue, 01 Jul 2003 13:08:11 +0900 -- NAKAMURA, Hiroshi <nahi@ruby-lang.org> + * ossl_x509crl.c: Add OpenSSL::X509::CRL#to_der (ossl_x509crl_to_der). + Mon, 30 Jun 2003 04:32:40 +0900 -- GOTOU Yuuzou <gotoyuzo@notwork.org> * ossl_ssl.c: @ca_cert is renamed to @client_ca; and an Array can be specified to this. diff --git a/ossl_x509crl.c b/ossl_x509crl.c index 9dc509f..96a61ec 100644 --- a/ossl_x509crl.c +++ b/ossl_x509crl.c @@ -335,6 +335,29 @@ ossl_x509crl_verify(VALUE self, VALUE key) } static VALUE +ossl_x509crl_to_der(VALUE self) +{ + X509_CRL *crl; + BIO *out; + BUF_MEM *buf; + VALUE str; + + GetX509CRL(self, crl); + if (!(out = BIO_new(BIO_s_mem()))) { + ossl_raise(eX509CRLError, ""); + } + if (!i2d_X509_CRL_bio(out, crl)) { + BIO_free(out); + ossl_raise(eX509CRLError, ""); + } + BIO_get_mem_ptr(out, &buf); + str = rb_str_new(buf->data, buf->length); + BIO_free(out); + + return str; +} + +static VALUE ossl_x509crl_to_pem(VALUE self) { X509_CRL *crl; @@ -480,6 +503,7 @@ Init_ossl_x509crl() rb_define_method(cX509CRL, "add_revoked", ossl_x509crl_add_revoked, 1); rb_define_method(cX509CRL, "sign", ossl_x509crl_sign, 2); rb_define_method(cX509CRL, "verify", ossl_x509crl_verify, 1); + rb_define_method(cX509CRL, "to_der", ossl_x509crl_to_der, 0); rb_define_method(cX509CRL, "to_pem", ossl_x509crl_to_pem, 0); rb_define_alias(cX509CRL, "to_s", "to_pem"); rb_define_method(cX509CRL, "to_text", ossl_x509crl_to_text, 0); |