Ruby  2.4.2p198(2017-09-14revision59899)
Macros | Functions | Variables
ossl_x509cert.c File Reference
#include "ossl.h"
Include dependency graph for ossl_x509cert.c:

Go to the source code of this file.

Macros

#define NewX509(klass)   TypedData_Wrap_Struct((klass), &ossl_x509_type, 0)
 
#define SetX509(obj, x509)
 
#define GetX509(obj, x509)
 
#define SafeGetX509(obj, x509)
 

Functions

static void ossl_x509_free (void *ptr)
 
VALUE ossl_x509_new (X509 *x509)
 
VALUE ossl_x509_new_from_file (VALUE filename)
 
X509 * GetX509CertPtr (VALUE obj)
 
X509 * DupX509CertPtr (VALUE obj)
 
static VALUE ossl_x509_alloc (VALUE klass)
 
static VALUE ossl_x509_initialize (int argc, VALUE *argv, VALUE self)
 
static VALUE ossl_x509_copy (VALUE self, VALUE other)
 
static VALUE ossl_x509_to_der (VALUE self)
 
static VALUE ossl_x509_to_pem (VALUE self)
 
static VALUE ossl_x509_to_text (VALUE self)
 
static VALUE ossl_x509_get_version (VALUE self)
 
static VALUE ossl_x509_set_version (VALUE self, VALUE version)
 
static VALUE ossl_x509_get_serial (VALUE self)
 
static VALUE ossl_x509_set_serial (VALUE self, VALUE num)
 
static VALUE ossl_x509_get_signature_algorithm (VALUE self)
 
static VALUE ossl_x509_get_subject (VALUE self)
 
static VALUE ossl_x509_set_subject (VALUE self, VALUE subject)
 
static VALUE ossl_x509_get_issuer (VALUE self)
 
static VALUE ossl_x509_set_issuer (VALUE self, VALUE issuer)
 
static VALUE ossl_x509_get_not_before (VALUE self)
 
static VALUE ossl_x509_set_not_before (VALUE self, VALUE time)
 
static VALUE ossl_x509_get_not_after (VALUE self)
 
static VALUE ossl_x509_set_not_after (VALUE self, VALUE time)
 
static VALUE ossl_x509_get_public_key (VALUE self)
 
static VALUE ossl_x509_set_public_key (VALUE self, VALUE key)
 
static VALUE ossl_x509_sign (VALUE self, VALUE key, VALUE digest)
 
static VALUE ossl_x509_verify (VALUE self, VALUE key)
 
static VALUE ossl_x509_check_private_key (VALUE self, VALUE key)
 
static VALUE ossl_x509_get_extensions (VALUE self)
 
static VALUE ossl_x509_set_extensions (VALUE self, VALUE ary)
 
static VALUE ossl_x509_add_extension (VALUE self, VALUE extension)
 
static VALUE ossl_x509_inspect (VALUE self)
 
void Init_ossl_x509cert (void)
 

Variables

VALUE cX509Cert
 
VALUE eX509CertError
 
static const rb_data_type_t ossl_x509_type
 

Macro Definition Documentation

◆ GetX509

#define GetX509 (   obj,
  x509 
)

◆ NewX509

#define NewX509 (   klass)    TypedData_Wrap_Struct((klass), &ossl_x509_type, 0)

Definition at line 12 of file ossl_x509cert.c.

Referenced by ossl_x509_alloc(), ossl_x509_new(), and ossl_x509_new_from_file().

◆ SafeGetX509

#define SafeGetX509 (   obj,
  x509 
)
Value:
do { \
OSSL_Check_Kind((obj), cX509Cert); \
GetX509((obj), (x509)); \
} while (0)
VALUE cX509Cert
Definition: ossl_x509cert.c:34

Definition at line 26 of file ossl_x509cert.c.

Referenced by DupX509CertPtr(), GetX509CertPtr(), and ossl_x509_copy().

◆ SetX509

#define SetX509 (   obj,
  x509 
)
Value:
do { \
if (!(x509)) { \
ossl_raise(rb_eRuntimeError, "CERT wasn't initialized!"); \
} \
RTYPEDDATA_DATA(obj) = (x509); \
} while (0)
VALUE rb_eRuntimeError
Definition: error.c:761

Definition at line 14 of file ossl_x509cert.c.

Referenced by ossl_x509_alloc(), ossl_x509_new(), and ossl_x509_new_from_file().

Function Documentation

◆ DupX509CertPtr()

X509* DupX509CertPtr ( VALUE  obj)

◆ GetX509CertPtr()

X509* GetX509CertPtr ( VALUE  obj)

◆ Init_ossl_x509cert()

void Init_ossl_x509cert ( void  )

◆ ossl_x509_add_extension()

static VALUE ossl_x509_add_extension ( VALUE  self,
VALUE  extension 
)
static

Definition at line 694 of file ossl_x509cert.c.

References eX509CertError, GetX509, GetX509ExtPtr(), NULL, and ossl_raise().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_alloc()

static VALUE ossl_x509_alloc ( VALUE  klass)
static

Definition at line 134 of file ossl_x509cert.c.

References eX509CertError, NewX509, NULL, ossl_raise(), and SetX509.

Referenced by Init_ossl_x509cert().

◆ ossl_x509_check_private_key()

static VALUE ossl_x509_check_private_key ( VALUE  self,
VALUE  key 
)
static

Definition at line 618 of file ossl_x509cert.c.

References GetPrivPKeyPtr(), GetX509, ossl_clear_error(), Qfalse, and Qtrue.

Referenced by Init_ossl_x509cert().

◆ ossl_x509_copy()

static VALUE ossl_x509_copy ( VALUE  self,
VALUE  other 
)
static

Definition at line 179 of file ossl_x509cert.c.

References DATA_PTR, eX509CertError, GetX509, NULL, ossl_raise(), rb_check_frozen, and SafeGetX509.

Referenced by Init_ossl_x509cert().

◆ ossl_x509_free()

static void ossl_x509_free ( void *  ptr)
static

Definition at line 38 of file ossl_x509cert.c.

◆ ossl_x509_get_extensions()

static VALUE ossl_x509_get_extensions ( VALUE  self)
static

Definition at line 639 of file ossl_x509cert.c.

References count, GetX509, ossl_x509ext_new(), rb_ary_new(), rb_ary_new2, and rb_ary_push().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_get_issuer()

static VALUE ossl_x509_get_issuer ( VALUE  self)
static

Definition at line 421 of file ossl_x509cert.c.

References eX509CertError, GetX509, name, NULL, ossl_raise(), and ossl_x509name_new().

Referenced by Init_ossl_x509cert(), and ossl_x509_inspect().

◆ ossl_x509_get_not_after()

static VALUE ossl_x509_get_not_after ( VALUE  self)
static

◆ ossl_x509_get_not_before()

static VALUE ossl_x509_get_not_before ( VALUE  self)
static

◆ ossl_x509_get_public_key()

static VALUE ossl_x509_get_public_key ( VALUE  self)
static

Definition at line 534 of file ossl_x509cert.c.

References eX509CertError, GetX509, NULL, ossl_pkey_new(), and ossl_raise().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_get_serial()

static VALUE ossl_x509_get_serial ( VALUE  self)
static

Definition at line 333 of file ossl_x509cert.c.

References asn1integer_to_num(), and GetX509.

Referenced by Init_ossl_x509cert(), and ossl_x509_inspect().

◆ ossl_x509_get_signature_algorithm()

static VALUE ossl_x509_get_signature_algorithm ( VALUE  self)
static

◆ ossl_x509_get_subject()

static VALUE ossl_x509_get_subject ( VALUE  self)
static

Definition at line 386 of file ossl_x509cert.c.

References eX509CertError, GetX509, name, NULL, ossl_raise(), and ossl_x509name_new().

Referenced by Init_ossl_x509cert(), and ossl_x509_inspect().

◆ ossl_x509_get_version()

static VALUE ossl_x509_get_version ( VALUE  self)
static

Definition at line 298 of file ossl_x509cert.c.

References GetX509, and LONG2NUM.

Referenced by Init_ossl_x509cert().

◆ ossl_x509_initialize()

static VALUE ossl_x509_initialize ( int  argc,
VALUE argv,
VALUE  self 
)
static

◆ ossl_x509_inspect()

static VALUE ossl_x509_inspect ( VALUE  self)
static

◆ ossl_x509_new()

VALUE ossl_x509_new ( X509 *  x509)

◆ ossl_x509_new_from_file()

VALUE ossl_x509_new_from_file ( VALUE  filename)

◆ ossl_x509_set_extensions()

static VALUE ossl_x509_set_extensions ( VALUE  self,
VALUE  ary 
)
static

◆ ossl_x509_set_issuer()

static VALUE ossl_x509_set_issuer ( VALUE  self,
VALUE  issuer 
)
static

Definition at line 439 of file ossl_x509cert.c.

References eX509CertError, GetX509, GetX509NamePtr(), NULL, and ossl_raise().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_set_not_after()

static VALUE ossl_x509_set_not_after ( VALUE  self,
VALUE  time 
)
static

Definition at line 513 of file ossl_x509cert.c.

References eX509CertError, GetX509, NULL, ossl_raise(), and ossl_x509_time_adjust().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_set_not_before()

static VALUE ossl_x509_set_not_before ( VALUE  self,
VALUE  time 
)
static

Definition at line 474 of file ossl_x509cert.c.

References eX509CertError, GetX509, NULL, ossl_raise(), and ossl_x509_time_adjust().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_set_public_key()

static VALUE ossl_x509_set_public_key ( VALUE  self,
VALUE  key 
)
static

Definition at line 552 of file ossl_x509cert.c.

References eX509CertError, GetPKeyPtr(), GetX509, key, NULL, and ossl_raise().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_set_serial()

static VALUE ossl_x509_set_serial ( VALUE  self,
VALUE  num 
)
static

Definition at line 347 of file ossl_x509cert.c.

References GetX509, and num_to_asn1integer().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_set_subject()

static VALUE ossl_x509_set_subject ( VALUE  self,
VALUE  subject 
)
static

Definition at line 404 of file ossl_x509cert.c.

References eX509CertError, GetX509, GetX509NamePtr(), NULL, and ossl_raise().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_set_version()

static VALUE ossl_x509_set_version ( VALUE  self,
VALUE  version 
)
static

Definition at line 312 of file ossl_x509cert.c.

References eX509CertError, GetX509, NULL, NUM2LONG, ossl_raise(), and version.

Referenced by Init_ossl_x509cert().

◆ ossl_x509_sign()

static VALUE ossl_x509_sign ( VALUE  self,
VALUE  key,
VALUE  digest 
)
static

Definition at line 569 of file ossl_x509cert.c.

References eX509CertError, GetDigestPtr(), GetPrivPKeyPtr(), GetX509, NULL, and ossl_raise().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_to_der()

static VALUE ossl_x509_to_der ( VALUE  self)
static

Definition at line 203 of file ossl_x509cert.c.

References eX509CertError, GetX509, len, NULL, ossl_raise(), ossl_str_adjust, rb_str_new(), and RSTRING_PTR.

Referenced by Init_ossl_x509cert().

◆ ossl_x509_to_pem()

static VALUE ossl_x509_to_pem ( VALUE  self)
static

Definition at line 227 of file ossl_x509cert.c.

References eX509CertError, GetX509, NULL, ossl_membio2str(), and ossl_raise().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_to_text()

static VALUE ossl_x509_to_text ( VALUE  self)
static

Definition at line 251 of file ossl_x509cert.c.

References eX509CertError, GetX509, NULL, ossl_membio2str(), ossl_raise(), and ossl_x509req_new().

Referenced by Init_ossl_x509cert().

◆ ossl_x509_verify()

static VALUE ossl_x509_verify ( VALUE  self,
VALUE  key 
)
static

Definition at line 592 of file ossl_x509cert.c.

References eX509CertError, GetPKeyPtr(), GetX509, NULL, ossl_clear_error(), ossl_raise(), Qfalse, and Qtrue.

Referenced by Init_ossl_x509cert().

Variable Documentation

◆ cX509Cert

VALUE cX509Cert

Definition at line 34 of file ossl_x509cert.c.

Referenced by Init_ossl_x509cert(), ossl_x509_new(), and ossl_x509_new_from_file().

◆ eX509CertError

VALUE eX509CertError

◆ ossl_x509_type

const rb_data_type_t ossl_x509_type
static
Initial value:
= {
"OpenSSL/X509",
{
},
}
#define RUBY_TYPED_FREE_IMMEDIATELY
Definition: ruby.h:1145
static void ossl_x509_free(void *ptr)
Definition: ossl_x509cert.c:38

Definition at line 43 of file ossl_x509cert.c.