Ruby  1.9.3p551(2014-11-13revision48407)
Data Structures | Macros | Functions | Variables
ossl.h File Reference
#include <ruby.h>
#include <ruby/io.h>
#include <openssl/opensslv.h>
#include <errno.h>
#include <openssl/err.h>
#include <openssl/asn1_mac.h>
#include <openssl/x509v3.h>
#include <openssl/ssl.h>
#include <openssl/pkcs12.h>
#include <openssl/pkcs7.h>
#include <openssl/hmac.h>
#include <openssl/rand.h>
#include <openssl/conf.h>
#include <openssl/conf_api.h>
#include "openssl_missing.h"
#include "ruby_missing.h"
#include "ossl_asn1.h"
#include "ossl_bio.h"
#include "ossl_bn.h"
#include "ossl_cipher.h"
#include "ossl_config.h"
#include "ossl_digest.h"
#include "ossl_hmac.h"
#include "ossl_ns_spki.h"
#include "ossl_ocsp.h"
#include "ossl_pkcs12.h"
#include "ossl_pkcs7.h"
#include "ossl_pkcs5.h"
#include "ossl_pkey.h"
#include "ossl_rand.h"
#include "ossl_ssl.h"
#include "ossl_version.h"
#include "ossl_x509.h"
#include "ossl_engine.h"

Go to the source code of this file.

Data Structures

struct  ossl_verify_cb_args
 

Macros

#define assert(condition)
 
#define OSSL_Check_Kind(obj, klass)
 
#define OSSL_Check_Instance(obj, klass)
 
#define OSSL_Check_Same_Class(obj1, obj2)
 
#define ossl_str_adjust(str, p)
 
#define OSSL_BIO_reset(bio)
 
#define OSSL_ErrMsg()   ERR_reason_error_string(ERR_get_error())
 
#define OSSL_Debug   ossl_debug
 
#define OSSL_Warning   rb_warning
 
#define OSSL_Warn   rb_warn
 

Functions

int string2hex (const unsigned char *, int, char **, int *)
 
 STACK_OF (X509) *ossl_x509_ary2sk0(VALUE)
 
int *VALUE ossl_x509_sk2ary (STACK_OF(X509) *certs)
 
VALUE ossl_x509crl_sk2ary (STACK_OF(X509_CRL) *crl)
 
VALUE ossl_x509name_sk2ary (STACK_OF(X509_NAME) *names)
 
VALUE ossl_buf2str (char *buf, int len)
 
int ossl_pem_passwd_cb (char *, int, int, void *)
 
 NORETURN (void ossl_raise(VALUE, const char *,...))
 
VALUE ossl_exc_new (VALUE, const char *,...)
 
VALUE ossl_call_verify_cb_proc (struct ossl_verify_cb_args *)
 
int ossl_verify_cb (int, X509_STORE_CTX *)
 
VALUE ossl_to_der (VALUE)
 
VALUE ossl_to_der_if_possible (VALUE)
 
void ossl_debug (const char *,...)
 
void Init_openssl (void)
 

Variables

VALUE mOSSL
 
VALUE eOSSLError
 
int ossl_verify_cb_idx
 
ID ossl_s_to_der
 
VALUE dOSSL
 

Macro Definition Documentation

◆ assert

#define assert (   condition)

◆ OSSL_BIO_reset

#define OSSL_BIO_reset (   bio)

◆ OSSL_Check_Instance

#define OSSL_Check_Instance (   obj,
  klass 
)
Value:
do {\
if (!rb_obj_is_instance_of((obj), (klass))) {\
ossl_raise(rb_eTypeError, "wrong argument (%"PRIsVALUE")! (Expected instance of %s)",\
}\
} while (0)
#define PRIsVALUE
Definition: bigdecimal.c:109
VALUE rb_eTypeError
Definition: error.c:467
const char * rb_class2name(VALUE)
Definition: variable.c:311
VALUE rb_obj_is_instance_of(VALUE, VALUE)
Definition: object.c:480
#define RB_OBJ_CLASSNAME(obj)
Definition: bigdecimal.c:110

Definition at line 97 of file ossl.h.

◆ OSSL_Check_Kind

#define OSSL_Check_Kind (   obj,
  klass 
)
Value:
do {\
if (!rb_obj_is_kind_of((obj), (klass))) {\
ossl_raise(rb_eTypeError, "wrong argument (%"PRIsVALUE")! (Expected kind of %s)",\
}\
} while (0)
#define PRIsVALUE
Definition: bigdecimal.c:109
VALUE rb_eTypeError
Definition: error.c:467
VALUE rb_obj_is_kind_of(VALUE, VALUE)
Definition: object.c:525
const char * rb_class2name(VALUE)
Definition: variable.c:311
#define RB_OBJ_CLASSNAME(obj)
Definition: bigdecimal.c:110

Definition at line 90 of file ossl.h.

Referenced by GetConfigPtr(), ossl_ssl_initialize(), ossl_x509_set_extensions(), ossl_x509crl_set_extensions(), ossl_x509crl_set_revoked(), ossl_x509req_set_attributes(), ossl_x509revoked_set_extensions(), and ossl_x509stctx_clear_ptr().

◆ OSSL_Check_Same_Class

#define OSSL_Check_Same_Class (   obj1,
  obj2 
)
Value:
do {\
if (!rb_obj_is_instance_of((obj1), rb_obj_class(obj2))) {\
ossl_raise(rb_eTypeError, "wrong argument type");\
}\
} while (0)
VALUE rb_eTypeError
Definition: error.c:467
VALUE rb_obj_is_instance_of(VALUE, VALUE)
Definition: object.c:480
VALUE rb_obj_class(VALUE)
Definition: object.c:177

Definition at line 104 of file ossl.h.

◆ OSSL_Debug

#define OSSL_Debug   ossl_debug

◆ OSSL_ErrMsg

#define OSSL_ErrMsg ( )    ERR_reason_error_string(ERR_get_error())

Definition at line 155 of file ossl.h.

Referenced by ossl_x509_check_private_key().

◆ ossl_str_adjust

#define ossl_str_adjust (   str,
  p 
)
Value:
do{\
int len = RSTRING_LENINT(str);\
int newlen = rb_long2int((p) - (unsigned char*)RSTRING_PTR(str));\
assert(newlen <= len);\
rb_str_set_len((str), newlen);\
}while(0)
#define rb_long2int(n)
Definition: ruby.h:308
#define RSTRING_PTR(string)
Definition: generator.h:42
Win32OLEIDispatch * p
Definition: win32ole.c:778
register unsigned int len
Definition: name2ctype.h:22210
#define RSTRING_LENINT(str)
Definition: ruby.h:684

Definition at line 132 of file ossl.h.

Referenced by ossl_asn1cons_to_der(), ossl_asn1data_to_der(), ossl_dh_to_der(), ossl_dsa_to_der(), ossl_pkcs12_to_der(), ossl_pkcs7_to_der(), ossl_rsa_to_der(), ossl_spki_to_der(), ossl_ssl_session_to_der(), ossl_x509_to_der(), ossl_x509attr_get_value(), ossl_x509ext_to_der(), ossl_x509name_to_der(), and ossl_x509req_to_der().

◆ OSSL_Warn

#define OSSL_Warn   rb_warn

Definition at line 207 of file ossl.h.

◆ OSSL_Warning

#define OSSL_Warning   rb_warning

Definition at line 206 of file ossl.h.

Referenced by ossl_x509_check_private_key().

Function Documentation

◆ Init_openssl()

void Init_openssl ( void  )

◆ NORETURN()

NORETURN ( void   ossl_raiseVALUE, const char *,...)

◆ ossl_buf2str()

VALUE ossl_buf2str ( char *  buf,
int  len 
)

◆ ossl_call_verify_cb_proc()

VALUE ossl_call_verify_cb_proc ( struct ossl_verify_cb_args )

Definition at line 200 of file ossl.c.

References args, rb_funcall(), and rb_intern.

Referenced by ossl_verify_cb().

◆ ossl_debug()

void ossl_debug ( const char *  ,
  ... 
)

Definition at line 374 of file ossl.c.

References args, dOSSL, and Qtrue.

◆ ossl_exc_new()

VALUE ossl_exc_new ( VALUE  ,
const char *  ,
  ... 
)

Definition at line 335 of file ossl.c.

References args, err, and ossl_make_error().

Referenced by read_would_block(), and write_would_block().

◆ ossl_pem_passwd_cb()

int ossl_pem_passwd_cb ( char *  ,
int  ,
int  ,
void *   
)

◆ ossl_to_der()

VALUE ossl_to_der ( VALUE  )

Definition at line 263 of file ossl.c.

References ossl_s_to_der, rb_funcall(), and StringValue.

Referenced by obj_to_asn1derstr(), and ossl_to_der_if_possible().

◆ ossl_to_der_if_possible()

VALUE ossl_to_der_if_possible ( VALUE  )

◆ ossl_verify_cb()

int ossl_verify_cb ( int  ,
X509_STORE_CTX *   
)

◆ ossl_x509_sk2ary()

int* VALUE ossl_x509_sk2ary ( STACK_OF(X509) *  certs)

◆ ossl_x509crl_sk2ary()

VALUE ossl_x509crl_sk2ary ( STACK_OF(X509_CRL) *  crl)

Referenced by ossl_pkcs7_get_crls().

◆ ossl_x509name_sk2ary()

VALUE ossl_x509name_sk2ary ( STACK_OF(X509_NAME) *  names)

◆ STACK_OF()

STACK_OF ( X509  )

◆ string2hex()

int string2hex ( const unsigned char *  ,
int  ,
char **  ,
int *   
)

Definition at line 18 of file ossl.c.

References buf, i, and len.

Referenced by ossl_hmac_hexdigest(), and ossl_hmac_s_hexdigest().

Variable Documentation

◆ dOSSL

VALUE dOSSL

Definition at line 370 of file ossl.c.

Referenced by Init_openssl(), ossl_debug(), ossl_debug_get(), ossl_debug_set(), and ossl_make_error().

◆ eOSSLError

VALUE eOSSLError

◆ mOSSL

VALUE mOSSL

◆ ossl_s_to_der

ID ossl_s_to_der

Definition at line 260 of file ossl.c.

Referenced by Init_openssl(), ossl_to_der(), and ossl_to_der_if_possible().

◆ ossl_verify_cb_idx

int ossl_verify_cb_idx