OpenSSL
私密鍵(private key)で何らかのデータを署名する.この署名を証明書(certification)に含まれている公開鍵(public key)で検証する. 準備するもの Shining Light版 OpenSSL 1.0.0a Visual Studio 2008 Express Edition Windows XP openssl.exe で鍵を作…
rsaCodec.cpp ではPEMファイルからRSA *を取り出すために,EVP_PKEY *で取り出した後,変換していた. // 次2行 rsaCodec での処理 EVP_PKEY *epubKey = PEM_read_PUBKEY( fp, NULL, NULL, NULL ); RSA *rpubKey = EVP_PKEY_get1_RSA( epubKey ); // 次2行 r…
書き直した.SHA256_Final() を呼ぶ度にハッシュが変わってしまう.sha256c というクラスを作った - BiBoLoG を書き直した.assert() を使って,プログラムを書いて,デバッグしているときに止めるようにした.一旦 final したなら,再利用はできないよ,ini…
PEM_read_RSAPublicKey を運用できなかった.http://ml.tietew.jp/cppll/cppll_novice/thread_articles/446 の PEM_read_PUBKEY と EVP_PKEY_get1_RSA を利用するようにって事を適用したら解決できた.エラーコードという言葉もあるが,こちらは分からない.…
コメントを書き込まなきゃな.javadoc 形式なりなんなり. main.cpp #include "sha256c.h" int main ( int argc, char *argv[] ) { sha256c s; s.classtest(); return 0; } sha256.h #pragma once #ifdef _DEBUG #pragma comment(lib, "libeay32MDd.lib") #p…
自己解決できた.showHash() するときは SHA256_Final() 済みとは限らない,というのが問題だった.showHash() の最初に SHA256_Final() して解決した.何がいけないのかわからない.SHA256_Final() して hash に入るデータが32個すべて204になる. #ifdef _…
RAND_bytes() で作ったデータを入力しても,コードの正確性は測れない.次の情報を入手したから,これに沿う結果が得られるかを確認する.RFC を参照するべきだろうが,test vector を記載した文書を見つけることができなかった. SHA-256 Test Vector The W…
暗号化に使用する鍵ペア pKey.pem pubKey.pem 秘密鍵 pKey.pem 作成 openssl genpkey -out pKey.pem -outform pem -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:65537 +秘密鍵表示 openssl rsa -inform pem -in pKey.pem -text…
道具 openssl 1.0.0a Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 資料 RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **x, pem_password_cb *cb, void *u); http://www.openssl.org/docs/crypto/pem.html int RSA_print_fp(FILE …
後述するプログラムが上手く動かないからコマンドラインで作る. 道具 openssl 1.0.0a Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 資料 NAME genpkey - generate a private key SYNOPSIS openssl genpkey [-out filename] [-ou…
VC++ で空のプロジェクトを作成する.試みに使用するだけで,簡単なのがいいなと考え,RAND_write_file() を選んだ.return 0; の行にブレークポイントを設定して様子を見る.ret には 1024 が入った.ランダムなデータがきっかり 1024 バイトある a.txt が…
産業 perl Configure VC-WIN32 --prefix=C:\Software\Develop\OpenSSL\1.0.0a ms\do_nasm nmake -f ms\ntdll.mak nmake -f ms\ntdll.mak test nmake -f ms\ntdll.mak install VC++ に include と lib へのパスを通す #pragma comment(lib, "libeay32.lib") #…
また OpenSSL 0.9.6l をビルドした.RSA-PSS を使いたいのだけれど,/docs/manmaster/man1/pkeyutl.html は利用できない.Re: OAEP for signatures and PSS を見ると,0.9.9 開発版でなら使えるよ,と.しかし今メンテナンスされているのは 0.9.8 であるから…
Camellia も使えるみたいだった.perl Configure の入力順を厳格にチェックされていたのだろうか. perl Configure enable-camellia --prefix=c:/software/develop/openssl/0.9.8l VC-WIN32 ms\do_nasm.bat nmake -f ms\nt.mak nmake -f ms\nt.mak test nmak…
「padding した私有鍵で暗号化すること」で達成できる様だ. 2004-08-02 RSA_public_encrypt (1024bit) OpenSSL addition a postscript libgcryptだけでなく、OpenSSLにも大きな数字を扱う関数(bn - multiprecision integer arithmetics)が用意されていた。 …
INSTALL.W32 に従って進めていたら,nmake -f ms\nt.mak が「return "OPENSSLDIR: \"" OPENSSLDIR "\"";」と出て,こけた.Ruby-1.8.7_p160 openssl編 - Kazzzの日記 の情報で解決した.perl Configure するとき,--prefix で与えるディレクトリの区切り文字…
doskey /history を知った. 概要 VC++ 2008 EE でビルド可能だった 事前の微調整は必要 既定で Camellia を含んでいる pkeyutl が使用可能 手順 perl Configure --prefix=C:/Software/Develop/OpenSSL/1.0.0beta4 VC-WIN32 ms\do_nasm.bat nmake -f ms\nt.m…
OpenSSL を使って,あるデータに RSA 署名を付けようとした.方法や仕組みを理解するために,情報を探した.電子証明書の認証局を省略すると,自己署名証明書を添え付けるらしい.私有鍵という後は private key を表す.*1手順はこうなるか.前半部はデータ…
OpenSSLライブラリを使ってプログラミング(1) - 再帰の反復blog OpenSSLライブラリを使ってプログラミング(2) 証明書・検証についての予備知識 - 再帰の反復blog OpenSSLライブラリを使ってプログラミング(3) 証明書・検証 - 再帰の反復blog http://www-aila…
OpenSSL Command-Line HOWTO - nona.to fswiki を見た.自己署名証明書を作る. openssl req -x509 -nodes -days 365 -subj /C=JP/ST=Tokyo/L=Ota/CN=server.example.com -newkey rsa:2048 -keyout privatekey.pem -out cert.pem Loading 'screen' into rand…
原因は -nopad オプションをつけていなかったこと.増えた16バイトは付加的なパディング.情報源としたところではちゃんと -nopad をつけていた.OpenSSL の使い方は http://d.hatena.ne.jp/hnko/20090302/1235977892 を参考にした. OpenSSL> enc -aes-128-…
こんなエラーが出る. 1>------ ビルド開始: プロジェクト: keyPairOut, 構成: Debug Win32 ------ 1>コンパイルしています... 1>main.cpp 1>c:\software\develop\openssl\include\openssl\x509.h(207) : error C2143: 構文エラー : ')' が '定数' の前にあ…
できるの? できる. 方法は? 準備するもの Visual C++ 2008 Express Edition Windows SDK(たぶん不要) Active Perl 5.10.0 http://aspn.activestate.com/ASPN/Downloads/ActivePerl/ NASM 2.07 NASM 手順 openssl-1.0.0-beta3.tar.gz を /index.html か…
md2test に失敗している C:\openssl-1.0.0-beta3\out32dll にテスト用ファイルが多種生成されているうちの一つとして実行をしているらしい md2test.exe は生成されていない.md4test.exe,md5test.exe などはある nmake ファイル ntdll.mak 20行目 CFLAG に …
「問題解決編」でビルドはしたが,test と install はしていなかった. nmake -f ms\ntdll.mak test nmake -f ms\ntdll.mak install ってあれー?test が途中終了しているぞ.どうしよう.nmake /a /f ms\ntdll.mak > c:\make.txt しよう(参考).436kb,18…
文字コードが合わなかったためにビルドが失敗していた.修正後改めて nmake -f ms\ntdll.mak した.C:\openssl-1.0.0-beta3\engines\ccgost\gost_crypt.c の50-66行. EVP_CIPHER cipher_gost = { NID_id_Gost28147_89, 1,/*block_size*/ 32,/*key_size*/ 8,…
準備 Visual C++ 2008 Express Edition Windows SDK Active Perl 5.10.0 http://aspn.activestate.com/ASPN/Downloads/ActivePerl/ NASM 2.07 NASM 手順 openssl-1.0.0-beta3.tar.gz を /index.html から取得し,c:/ に展開 INSTALL.W32 を読む mkdir c:\Ope…
調査対象 OpenSSL 0.9.8a の Unix アーキテクチャ(ただし、過去の経緯を探るため過去のバージョンも適宜、調査予定) https://www.codeblog.org/WGopenssl.html 作成中、 あとがき どういうケースで使うか? サンプル サンプル/証明書の読み込みと表示 サンプ…
旧版を利用することでなんとかした. これまでのエントリ OpenSSL ライブラリを利用するプログラム開発のためのメモ - BiBoLoG OpenSSL 使用トラブル - BiBoLoG OpenSSL をビルドする - BiBoLoG 対応策:旧版,0.9.7m の利用 これまでにインストールしたファ…
Visual C++ 2008 Express Edition でビルドできた.手順は C:\openssl-0.9.8k\INSTALL.W32 に従った.気になるのは Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions で配布されているバイナリインストーラを実行した場合と生成物が…