|
>>3991 sugimoto > RSAはモジュラスと私有指数,公開指数で暗号化/復号を行えるという理解な > のですが そのとおりです。 > ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。 これは定義の問題ではないでしょうか? 仕様にある「暗号化キー」は、 実は「モジュラスと公開指数」を意味する、ということはないですか? # 「暗号化キー/復号キー」が具体的に何を指すのかよくわからない # ので何ともいえないのですが。 > 例えば、opessl genrsaコマンドで作成したRSAキーなら、関数を使えば > 指数とモジュラスに分割できるよ。など情報がありましたら教えて下さい。 genrsa で出力されるデータには、モジュラス・公開指数・非公開指数全てが 含まれていますので、可能です (openssl genrsa で生成したデータを読み込み、 openssl rsa -pubout で公開鍵を出力できるわけなので)。 試してませんが、genrsa で生成した PEM ファイルを http://www.openssl.org/docs/crypto/pem.html などで読み込み、RSA 構造体を参照すればよいのではないでしょうか。 |
|
>>3992 68user 素早い回答どうも有難うございます。> 68User様 > > ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。 > これは定義の問題ではないでしょうか? 仕様にある「暗号化キー」は、 > 実は「モジュラスと公開指数」を意味する、ということはないですか? ユーザからの回答として、上記が来る事を心待ちにしている所です。 PEMファイルからモジュラスを抜き出す処理については、ユーザからの回 答を待ってからにしようと思っておりますが、必要になった場合は頑張って みます。この処理を行いましたらまた報告します。 |
|
>>3993 sugimoto sugimotoです。 結局PEMファイルから秘密指数/公開指数とモジュラスを抜き出す事にしました。 プライベート鍵ファイルからの読み込みは PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、 パブリックキーの読み込みに失敗している状態です。 以下が読み込みプログラム RSA *ReadPublicKey(char *keyfile) { FILE *fp = fopen (keyfile, "r"); RSA *pkey; if (!fp) return NULL; pkey = PEM_read_RSAPublicKey(fp,NULL,NULL,NULL); fclose (fp); if (pkey == NULL) ERR_print_errors_fp (stderr); return pkey; } この関数を実行すると、以下のエラーが出てしまいます。 === ここから === 5563:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:669:Expect ing: RSA PUBLIC KEY Error: can't load public key === ここまで === 渡しているファイルは openssl rsa -in private.key -pubout -out public.key で作成した、public.keyになります。 ちなみに、private.keyの読み込みは上記関数のPEM_read_RSAPublicKeyを PEM_read_RSAPrivateKeyに変えた物で、問題無く動作します。 どなたか、private.keyの読み込みを行った方が居ましたら、助言をお願い いたします。 |
|
>>3994 sugimoto 今実行環境がないのでわかりませんが、とりあえず気になったところだけ。 > プライベート鍵ファイルからの読み込みは > PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、 これで RSA 構造体に「秘密指数/公開指数とモジュラス」がセットされていませんか? あと、目的がよくわからないのですが、PEM ファイルは誰が作るのですか? (自分? 相手?) なぜ「秘密指数/公開指数とモジュラス」を抜き出す必要があるのでしょうか? |