Defines | Functions | Variables

ext/openssl/ossl_cipher.c File Reference

#include "ossl.h"
Include dependency graph for ossl_cipher.c:

Go to the source code of this file.

Defines

#define MakeCipher(obj, klass, ctx)   obj = Data_Make_Struct(klass, EVP_CIPHER_CTX, 0, ossl_cipher_free, ctx)
#define GetCipher(obj, ctx)
#define SafeGetCipher(obj, ctx)
#define ossl_s_ciphers   rb_f_notimplement
#define ossl_cipher_set_padding   rb_f_notimplement
#define CIPHER_0ARG_INT(func)

Functions

static VALUE ossl_cipher_alloc (VALUE klass)
const EVP_CIPHER * GetCipherPtr (VALUE obj)
VALUE ossl_cipher_new (const EVP_CIPHER *cipher)
static void ossl_cipher_free (EVP_CIPHER_CTX *ctx)
static VALUE ossl_cipher_initialize (VALUE self, VALUE str)
static VALUE ossl_cipher_copy (VALUE self, VALUE other)
static VALUE ossl_cipher_reset (VALUE self)
static VALUE ossl_cipher_init (int argc, VALUE *argv, VALUE self, int mode)
static VALUE ossl_cipher_encrypt (int argc, VALUE *argv, VALUE self)
static VALUE ossl_cipher_decrypt (int argc, VALUE *argv, VALUE self)
static VALUE ossl_cipher_pkcs5_keyivgen (int argc, VALUE *argv, VALUE self)
static VALUE ossl_cipher_update (int argc, VALUE *argv, VALUE self)
static VALUE ossl_cipher_final (VALUE self)
static VALUE ossl_cipher_name (VALUE self)
static VALUE ossl_cipher_set_key (VALUE self, VALUE key)
static VALUE ossl_cipher_set_iv (VALUE self, VALUE iv)
static VALUE ossl_cipher_set_key_length (VALUE self, VALUE key_length)
void Init_ossl_cipher (void)

Variables

VALUE cCipher
VALUE eCipherError

Define Documentation

#define CIPHER_0ARG_INT (   func  ) 
Value:
static VALUE                                            \
    ossl_cipher_##func(VALUE self)                              \
    {                                                           \
        EVP_CIPHER_CTX *ctx;                                    \
        GetCipher(self, ctx);                                   \
        return INT2NUM(EVP_CIPHER_##func(EVP_CIPHER_CTX_cipher(ctx)));  \
    }

Definition at line 482 of file ossl_cipher.c.

#define GetCipher (   obj,
  ctx 
)
#define MakeCipher (   obj,
  klass,
  ctx 
)    obj = Data_Make_Struct(klass, EVP_CIPHER_CTX, 0, ossl_cipher_free, ctx)

Definition at line 13 of file ossl_cipher.c.

Referenced by ossl_cipher_alloc().

#define ossl_cipher_set_padding   rb_f_notimplement

Definition at line 479 of file ossl_cipher.c.

Referenced by Init_ossl_cipher().

#define ossl_s_ciphers   rb_f_notimplement

Definition at line 156 of file ossl_cipher.c.

Referenced by Init_ossl_cipher().

#define SafeGetCipher (   obj,
  ctx 
)
Value:
do { \
    OSSL_Check_Kind(obj, cCipher); \
    GetCipher(obj, ctx); \
} while (0)

Definition at line 21 of file ossl_cipher.c.

Referenced by GetCipherPtr(), and ossl_cipher_copy().


Function Documentation

const EVP_CIPHER* GetCipherPtr ( VALUE  obj  ) 
void Init_ossl_cipher ( void   ) 
static VALUE ossl_cipher_alloc ( VALUE  klass  )  [static]

Definition at line 75 of file ossl_cipher.c.

References MakeCipher.

Referenced by Init_ossl_cipher(), and ossl_cipher_new().

static VALUE ossl_cipher_copy ( VALUE  self,
VALUE  other 
) [static]
static VALUE ossl_cipher_decrypt ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 246 of file ossl_cipher.c.

References ossl_cipher_init().

Referenced by Init_ossl_cipher().

static VALUE ossl_cipher_encrypt ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 231 of file ossl_cipher.c.

References ossl_cipher_init().

Referenced by Init_ossl_cipher().

static VALUE ossl_cipher_final ( VALUE  self  )  [static]
static void ossl_cipher_free ( EVP_CIPHER_CTX *  ctx  )  [static]

Definition at line 66 of file ossl_cipher.c.

References ruby_xfree().

static VALUE ossl_cipher_init ( int  argc,
VALUE argv,
VALUE  self,
int  mode 
) [static]
static VALUE ossl_cipher_initialize ( VALUE  self,
VALUE  str 
) [static]
static VALUE ossl_cipher_name ( VALUE  self  )  [static]

Definition at line 372 of file ossl_cipher.c.

References EVP_CIPHER_name, GetCipher, and rb_str_new2().

Referenced by Init_ossl_cipher().

VALUE ossl_cipher_new ( const EVP_CIPHER *  cipher  ) 
static VALUE ossl_cipher_pkcs5_keyivgen ( int  argc,
VALUE argv,
VALUE  self 
) [static]
static VALUE ossl_cipher_reset ( VALUE  self  )  [static]

Definition at line 166 of file ossl_cipher.c.

References eCipherError, EVP_CipherInit_ex, GetCipher, NULL, and ossl_raise().

Referenced by Init_ossl_cipher().

static VALUE ossl_cipher_set_iv ( VALUE  self,
VALUE  iv 
) [static]
static VALUE ossl_cipher_set_key ( VALUE  self,
VALUE  key 
) [static]
static VALUE ossl_cipher_set_key_length ( VALUE  self,
VALUE  key_length 
) [static]

Definition at line 444 of file ossl_cipher.c.

References eCipherError, GetCipher, len, NULL, NUM2INT, and ossl_raise().

Referenced by Init_ossl_cipher().

static VALUE ossl_cipher_update ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Variable Documentation

Definition at line 29 of file ossl_cipher.c.

Referenced by Init_ossl_cipher(), and ossl_cipher_new().