OpenSSL-C-Sample

【OpenSSL-C-sample】ソケットBIOの使用例

BIO_set_connect, BIO_set_conn_hostname, BIO_set_conn_port, BIO_do_connect, BIO_do_accept等の使用例 ソケットBIOの API の形式についてはこちらを参照。 /* * OpenSSL ―暗号・PKI・SSL/TLSライブラリの詳細― * John Viega, Matt Messier,Pravir Chandra…

【OpenSSL-C-sample】フィルタBIO の使用例

BIO_f_buffer, BIO_f_base64, BIO_f_cipher の使用例 フィルタBIO API の形式についてはこちらを参照。 /* * OpenSSL ―暗号・PKI・SSL/TLSライブラリの詳細― * John Viega, Matt Messier,Pravir Chandra 著/齋藤孝道 監訳 */ #include <stdio.h> #include <stdlib.h> #include <openssl/bio.h></openssl/bio.h></stdlib.h></stdio.h>…

【OpenSSL-C-sample】BIGNUM の使用例

BN_init, BN_new, BN_free の使用例 /* * OpenSSL ―暗号・PKI・SSL/TLSライブラリの詳細― * John Viega, Matt Messier,Pravir Chandra 著/齋藤孝道 監訳 */ #include <stdio.h> #include <stdlib.h> #include <openssl/bn.h> void bn_test1( void ) { BIGNUM static_bn; BIGNUM * dynamic_bn </openssl/bn.h></stdlib.h></stdio.h>…

【OpenSSL-C-sample】乱数生成APIの使用例

RAND_load_file, RAND_write_file の使用例 /* * OpenSSL ―暗号・PKI・SSL/TLSライブラリの詳細― * John Viega, Matt Messier,Pravir Chandra 著/齋藤孝道 監訳 */ /* カレントディレクトリに prngseed.dat ファイルが生成される */ #include <stdio.h> #include <openssl/rand.h> ex</openssl/rand.h></stdio.h>…

【OpenSSL-C-sample】ファイルBIOの使用例

BIO_set_fp, BIO_set_fd, BIO_new_file 等の使用例 /* * OpenSSL ―暗号・PKI・SSL/TLSライブラリの詳細― * John Viega, Matt Messier,Pravir Chandra 著/齋藤孝道 監訳 */ #include <stdio.h> #include <openssl/bio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> void file_bio_test( void ) {</fcntl.h></sys/stat.h></sys/types.h></openssl/bio.h></stdio.h>…

【OpenSSL-C-sample】メモリBIOの使用例

/* * OpenSSL ―暗号・PKI・SSL/TLSライブラリの詳細― * John Viega, Matt Messier,Pravir Chandra 著/齋藤孝道 監訳 */ #include <stdio.h> #include <openssl/bio.h> void mem_bio_test( void ) { BIO * bio = NULL; char * buffer = NULL; /* 読み取り・書き込み用のBIOを作成 */ </openssl/bio.h></stdio.h>…

【OpenSSL-C】事前準備(2) エラー情報出力の機構を準備する

OpenSSL にはエラー処理だけを行う ERR というパッケージがある。 エラー情報はキュー状に管理されており、そのキューに対して操作をすることでエラー情報を得て処理をハンドリングすることが出来る。 ここではエラー処理 API を使って、エラー情報を出力機…

【OpenSSL-C】低レベルAPI (任意精度の数値演算)

OpenSSL では BIGNUM パッケージという数値の上限に制限がない機構がサポートされている。これによって、DH 鍵の 512ビット、RSA の 1024ビットや 2048ビットといった巨大な鍵長があり、 それに対する演算をすることが出来るようになる。 素数生成 BN_genera…