【技術力】OpenSSLを使ったCAの構築【爆発】
OpenSSLの証明書絡みで、12月の半ばごろ、
ある会社にCSR作成の作業を依頼しました。
そして1か月ほど経った本日、依頼先から下記のメールが来ました。
メールには下記の文面とともに「csr1」というファイルが添付されており、
中身を確認したら突っ込みどころ満載でぶっとびました。
どう見てもCSRです。
本当にありがとうございました。
*****(会社名)鈴木(仮名)です
いつもお世話になります
CSR情報を送付いたします
リナックス用エディターで確認願います
[root@www bin]# openssl md2 *>rand.dat
Read Error in X11
11232:error:0200B015:system library:fread:Is a directory:bss_file.c:167:
11232:error:20082002:BIO routines:FILE_READ:system lib:bss_file.c:168:
[root@www bin]# openssl md5 * > rand.dat
Read Error in X11
11233:error:0200B015:system library:fread:Is a directory:bss_file.c:167:
11233:error:20082002:BIO routines:FILE_READ:system lib:bss_file.c:168:
[root@www bin]# openssl genrsa -rand flora.dat -des3 1024>key.pem
-bash: 1024: 不正なファイル記述子です
[root@www bin]# openssl genrsa -rand flora.dat -des3 1024 > key.pem
0 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
.....................++++++
...........++++++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:
[root@www bin]# openssl req -new -key key.pem -out csr.pem
Enter pass phrase for key.pem:
unable to load Private Key
11236:error:06065064:digital envelope routines:EVP_DecryptFinal:bad decrypt:evp_enc.c:438:
11236:error:0906A065:PEM routines:PEM_do_header:bad decrypt:pem_lib.c:421:
[root@www bin]# openssl req -new -key key.pem -out csr.pem
Enter pass phrase for key.pem:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:jp
State or Province Name (full name) [Berkshire]:tokyo
Locality Name (eg, city) [Newbury]:minatoku
Organization Name (eg, company) [My Company Ltd]:*****(伏せます)
Organizational Unit Name (eg, section) []:soumu service
Common Name (eg, your name or your server's hostname) []:*****(伏せます)
Email Address []:*****@*****.co.jp
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@www bin]# gedit
[root@www bin]# gedit
了解しました。
では削除依頼のほど、よろしくお願いいたします。 World Wide Web の root 様だから仕方が無いな。 というわけで、どう見ても作業履歴ログでした。
後日談があります。間に入っている会社によれば、
この彼は、これを送る以前に同様なものの
「スクリーンショット版」
を送ってきたそうです。
連鎖証明書がつくれなくて困ってます。
誰かたすけて。 keytoolとOpenSSL使いたいです。
@鍵作る
keytool -genkey -alias rsa -keystore KeyStore -keyalg RSA
A証明書要求書作る。
keytool -certreq -alias rsa -keystore KeyStore -file cert_req.csr
BCA作る。
./CA.pl -newca
CCSRを読み込んで、CA署名付き証明書発行
--ここで困ってます。
D連鎖証明書をインポート
keytool -import -alias rsa -keystore KeyStore -file ChainCert.cer
-----------------------------------------------------------------------
Cでのopensslを使用した手順を教えてください。
keytoolのマニュアルには、
連鎖証明書をimportするにはPKCS7でないとダメと書いてあるのですが。。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/solaris/keytool.html
Fedora3でCAを立てようと
% CA -newca
とすると
openssl: error while loading shared libraries: libssl_gcc32.so.0: cannot open shared object file: No such file or directory
といわれました。
libssl_gcc32.so.0をlocateで探しましたがどこにもありません。
RPM Searchでlibssl_gcc32.so.0を含むパッケージを探しましたが出てこず。
どうすればいいのでしょうか? >>15ここの板の名前を100回唱えてから、顔洗って出直して来い どこで聞いたらいいかわからないので、
こちらに来ました。
opensslで鍵を作るだけの簡単なプログラミング
をc言語でするときなんですが、
・ヘッダーにincludeして関数を呼び出して鍵を作る方法
・シェルプログラミングみたいにコマンドラインを利用する方法
この2つがあるって言うことでよかったですか?
コマンドラインから手で入力して、
CAを構築したりしたんですが、
上記のような鍵を作るだけなど簡単なことでも新しくopensslのAPIの
関数の使い方も勉強しなければいけないのかなぁと思いまして。
プログラミング事態初心者なんですが、
よろしくお願いします。 Cなんか使わずに後者をシェルスクリプトで書けばいいんじゃないの?
Cを使うという要件の理由は何?
>>18
c言語でネットワークプログラミングの
基本的なことを勉強し終わって、
sslのサイトや本見ながら、
使い方を勉強しているところです。
openssl、シェル、いろんな知識が不足していて、
手がかりを探していました。
昨日c言語でopensslのAPIの使い方がちょっと書いてある
本を見つけたので、その本読んで勉強してみます。
シェルスクリプトでも大丈夫っていうアドバイスも
すごい助かりました。シェルスクリプトで
opensslが使えるかどうかもわからないレベルなので
シェルスクリプトについても勉強してみます。
ありがとうございました。 質問です。
SubjectDirectoryattributeに値を入れたCSRを発行したいのですが
どうすればいいのでしょうか?
Verは0.98eです。 おい、おれはwebprog板のphpのくだらねぇ質問スレの住民だけどよお
opensslの解説サイトがあったら教えろよ これみんなでやりませんか?
ちょっとした起爆剤になれば
もっと盛り上がると思いますよ
ブラウザから確認するためにもPHPでやりましょう。
講師もやりますよ。hatenaで聞いてきましょうか? OpenSSL ってビルドに perl がいるんだね・・・・
Makefile 作るために perl がいるってことか?