【技術力】OpenSSLを使ったCAの構築【爆発】

11
垢版 |
2006/01/16(月) 22:17:16
OpenSSLの証明書絡みで、12月の半ばごろ、
ある会社にCSR作成の作業を依頼しました。
そして1か月ほど経った本日、依頼先から下記のメールが来ました。

メールには下記の文面とともに「csr1」というファイルが添付されており、
中身を確認したら突っ込みどころ満載でぶっとびました。

どう見てもCSRです。
本当にありがとうございました。
2メール本文
垢版 |
2006/01/16(月) 22:18:14
*****(会社名)鈴木(仮名)です
いつもお世話になります

CSR情報を送付いたします

リナックス用エディターで確認願います
2006/01/16(月) 22:19:02
え、これで終わり!?
4添付ファイルの中身(1)
垢版 |
2006/01/16(月) 22:19:18
[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:
5添付ファイルの中身(2)
垢版 |
2006/01/16(月) 22:20:17
[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
61
垢版 |
2006/01/16(月) 22:21:09
以上です。
2006/01/16(月) 22:28:22
了解しました。
では削除依頼のほど、よろしくお願いいたします。
2006/01/17(火) 21:39:55
でもワラタ
9名無しさん@お腹いっぱい。
垢版 |
2006/01/22(日) 09:03:04
でもワラタ
10名無しさん@お腹いっぱい。
垢版 |
2006/01/22(日) 15:00:08
わろた
2006/01/22(日) 15:53:44
World Wide Web の root 様だから仕方が無いな。
121
垢版 |
2006/01/23(月) 12:50:54
というわけで、どう見ても作業履歴ログでした。

後日談があります。間に入っている会社によれば、
この彼は、これを送る以前に同様なものの

「スクリーンショット版」

を送ってきたそうです。
13名無しさん@お腹いっぱい。
垢版 |
2006/03/07(火) 23:34:01
連鎖証明書がつくれなくて困ってます。
誰かたすけて。
14名無しさん@お腹いっぱい。
垢版 |
2006/03/07(火) 23:58:23
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

15名無しさん@お腹いっぱい。
垢版 |
2006/05/29(月) 12:23:11
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を含むパッケージを探しましたが出てこず。
どうすればいいのでしょうか?
2006/05/29(月) 13:23:49
>>15ここの板の名前を100回唱えてから、顔洗って出直して来い
2006/07/24(月) 18:33:02
どこで聞いたらいいかわからないので、
こちらに来ました。

opensslで鍵を作るだけの簡単なプログラミング
をc言語でするときなんですが、
・ヘッダーにincludeして関数を呼び出して鍵を作る方法
・シェルプログラミングみたいにコマンドラインを利用する方法
この2つがあるって言うことでよかったですか?

コマンドラインから手で入力して、
CAを構築したりしたんですが、
上記のような鍵を作るだけなど簡単なことでも新しくopensslのAPIの
関数の使い方も勉強しなければいけないのかなぁと思いまして。

プログラミング事態初心者なんですが、
よろしくお願いします。
2006/07/24(月) 19:53:15
Cなんか使わずに後者をシェルスクリプトで書けばいいんじゃないの?
Cを使うという要件の理由は何?
2006/07/25(火) 07:44:43
>>18
c言語でネットワークプログラミングの
基本的なことを勉強し終わって、
sslのサイトや本見ながら、
使い方を勉強しているところです。

openssl、シェル、いろんな知識が不足していて、
手がかりを探していました。
昨日c言語でopensslのAPIの使い方がちょっと書いてある
本を見つけたので、その本読んで勉強してみます。

シェルスクリプトでも大丈夫っていうアドバイスも
すごい助かりました。シェルスクリプトで
opensslが使えるかどうかもわからないレベルなので
シェルスクリプトについても勉強してみます。

ありがとうございました。
20名無しさん@お腹いっぱい。
垢版 |
2007/06/02(土) 21:30:30
質問です。
SubjectDirectoryattributeに値を入れたCSRを発行したいのですが
どうすればいいのでしょうか?
Verは0.98eです。
2007/06/03(日) 11:14:04
おい、おれはwebprog板のphpのくだらねぇ質問スレの住民だけどよお
opensslの解説サイトがあったら教えろよ
2007/06/03(日) 13:37:20
opensslに解説なんか必要なもんない
NGNG?2BP(0)
これみんなでやりませんか?
ちょっとした起爆剤になれば
もっと盛り上がると思いますよ
ブラウザから確認するためにもPHPでやりましょう。
講師もやりますよ。hatenaで聞いてきましょうか?
2007/07/05(木) 08:05:37
OpenSSL ってビルドに perl がいるんだね・・・・
Makefile 作るために perl がいるってことか?
2008/03/25(火) 02:33:56
ネト記事ごときに執拗に突っ込んでる痛い奴見つけたんでとりあえずここに貼っとく。
http://www.unixuser.org/%7Eharuyama/security/openssh/20071228.html
2008/03/25(火) 10:51:10
雑誌が減ってネット上の記事が頼りにされるようになってる時代だというのになー
2008/03/25(火) 15:46:16
ネット上の記事の重要度が上がってるなら、放置しないで突っ込むべきでは?
28名無しさん@お腹いっぱい。
垢版 |
2008/07/09(水) 03:06:33
自己署名CAたてたんだが、いまいちうまくいかんがな。むずい
29名無しさん@お腹いっぱい。
垢版 |
2008/07/14(月) 09:29:11
ここってCAの構築限定?
openssl ライブラリがらみ全般の話題ってどのスレいけばいいっすか?

質問)
openssl の rsa サブコマンドを使うとあらかじめ用意した公開鍵で
暗号化できますが、複数の公開鍵を用意してどれに対応する秘密鍵でも
復号できるようにはできないものでしょうか?

そもそも openssl の rsa サブコマンドでやるべきじゃなくて、
libopenssl を使ってツール作るべきなんでしょうか?

rsa サブコマンドでの暗号化の際にはたぶん何らかの共有鍵が
生成されていてそれを与えた公開鍵で暗号化しているのだと思うので、
複数の公開鍵を与えられればいいなぁと思ったのです。

利用例)
たとえば自分が死んだときでもあるファイル群は
嫁さん(が脳外にいたとして)が復号できるようにしておきたいとか。
2008/07/15(火) 00:31:07
>>29
その論理でいくと嫁さんが実体じゃなくてもいいってことになるな
電脳で構築された嫁か
悪くないな!
2008/07/15(火) 16:52:34
PGP などでメッセージ(なりファイルでもいいが)、暗号化して
送付する際に受取人が複数いる場合に、暗号化するには
次のようなステップをとる。

それと同じでは駄目?

1. メッセージを暗号化する鍵1(K1)を作成。
   これは普通 共通鍵暗号(例:AES )の鍵として利用して、
   メッセージを暗号。

2. 暗号化したメッセージの前に、 受取人がN 人いるとして、それぞれの秘密鍵で暗号化した
K1 をつける。
     K1 encrypted by 1st Private Key for the 1st person.
     K1  encrypted by 2nd Private Key for the 2nd person.
     ...
     K1  encrypted by the private key of the N-th person.

これに暗号化されたメッセージをつけて送る:

     K1 で暗号化されたメッセージ。

みたいな。



2008/07/15(火) 17:13:45
OpenSSLだけでやりたきゃsmimeコマンドでPKCS7バイナリを直接書き出すことも出来る。

pkcs7-smime ってのはつまりRSAで暗号化されたキーとそのキーで暗号化されたコンテンツを
まとめたバイナリの形式のことで、暗号化されたキーはいくつでも付加可能。
ただ、smimeを使うと、CAをでっちあげる必要があるだろう
生のRSA鍵ではなく、X.509証明書を使う必要があるので。


あと、rsaサブコマンドでは共通鍵は生成されない。たしか。
33名無しさん@お腹いっぱい。
垢版 |
2008/07/23(水) 22:13:47
openssl version

と入力すると以下のようなエラーが出てしまい実行できない状態です。
どなたか解決方法ご存知の方、何卒ご教示お願い申し上げます。

環境:
Windows2003 Sever
Apache 1.3.33(Win32)
mod_ssl 2.8.22
OpenSSL 0.9.7f

表示されるエラーメッセージは「序数 3288がダイナミックライブラリ LIBEAY32.dllからみつかりませんでした」

です。

よろしくお願いいたします。更新まであと、1週間どうしよう…。
2008/07/23(水) 22:15:00
UNIX板なんですね…。
検索エンジンからきたので全く考慮しておりませんでした。すみません。
でもご教示いただけることございましたら何卒よろしくお願い申し上げます。
2008/07/23(水) 22:29:04
もうちょっとググり方考えればすぐ出てくるのにな。
ttp://blog.clouder.jp/archives/000708.html
36名無しさん@お腹いっぱい。
垢版 |
2008/11/14(金) 23:00:18
保守
2009/04/02(木) 18:36:57
openssl-1.0.0-beta1.tar.gzが出てるんだが、
エイプリルフール?
2009/04/12(日) 01:46:22
まて、それは孔明の罠だ。
OpenSSLが1.0を名乗るなんて偽物に間違いない。
2009/12/02(水) 22:10:24
来年にはbetaがとれますように
2010/01/21(木) 00:13:02
RubyのOpenSSL情報少なすぎて死にたくなる。
41名無しさん@お腹いっぱい。
垢版 |
2010/03/30(火) 17:28:11
1.0.0キタ━━━━(゚∀゚)━━━━!!
42名無しさん@お腹いっぱい。
垢版 |
2011/03/11(金) 03:10:03.42
rsaのprivate keyは何bits以上にすればよかとですか
2011/08/22(月) 13:43:54.54
openssl 0.9.8eでプライベートCAを構築すると
証明書データベース(index.txt)ファイルの
有効期限や失効日時がASN.1 UTCTime形式のようで
Y2K問題と同様にまずい気がするんだが
1.0以降だと変更されてたりするのかな…?
2013/03/11(月) 11:22:03.34
保守
45名無しさん@お腹いっぱい。
垢版 |
2014/04/08(火) 21:29:25.78
あげ
46名無しさん@お腹いっぱい。
垢版 |
2014/04/11(金) 18:15:36.98
おわっている
2014/04/11(金) 18:30:41.08
OpenSSLの脆弱性対策で、バージョンアップしたり、証明書を再発行しているんだろうな。
2014/04/13(日) 20:56:29.67
発行済み証明書全部 revoke して再発行したけど CRL がアホみたいに巨大化したから
もうCA局から作り直したくなったよ

やれやれ
2014/04/15(火) 01:05:08.09
何万枚発行してたのよw
2014/04/16(水) 07:28:50.18
opensslの脆弱性が最近記事になってるやん

これ変な気がするんだよなぁ
メモリーをコピられてもさ、それってユーザー空間なわけじゃないのさ?
んで、ふつうさ、コネクション毎に別のプロセス立ち上げるだろ?
つまりね、別のユーザー空間にアクセスできるわけねえんだから
そもそもメモリーをコピーしたところでなんか見れるの?
ふつうcallocすりゃメモリは0で初期化されるだろ?
他のプロセスが使ってたメモリの内容がスタック領域とかに残ってるのか?

陰謀論なら、フリーソフトではなく商用ソフトを使わせたいとかいうことかもね
でも、スノーデンが正しいならむしろそっちのほうこそ仕込まれてる可能性があるわけで・・・・
2014/04/16(水) 07:32:23.32
というか、仮に1つのプロセスがすべてに対応する作りだと
そもそもそれ自体がセキュアーなアーキテクチャになってないという
ほんまにそういうつくりなのか?
2014/04/16(水) 07:57:47.01
Apacheだっていちいちforkしないだろ
そんなことしたらパフォーマンス下がる
2014/04/16(水) 09:13:47.01
>>50
「センシティブなデータ使い終わったらゼロクリアしろって言われてる」
って話はよく聞くけど、それを怠ってるんだろうね

>>52
Webアプリケーションといえば未だにCGIとPHPな2chで何を…
ここの住人にはprefork MPM以外の概念は通用しないよ
2014/04/16(水) 11:55:38.63
Googleが暗号化を推進したいとかいってるのがすげえ気になるんだわ
よくわからないけど、SSLにつかう公開鍵って常に同じだったりするのか?
仮にそうなら相手のコンピュータの識別IDとして使えるよな
2014/04/16(水) 12:56:00.04
ここCA構築スレな
スレチだから消えてくれ
56名無しさん@お腹いっぱい。
垢版 |
2014/04/16(水) 21:52:59.11
>>50
それは設定によるだろ
1アクセスごとにforkしてアクセス終わったら終了する設定にしてるならそうだけど、
ふつうは、preforkして、かつ数百とか数千アクセスを処理すれば終了するような
設定にしてる人が多いんじゃね?
57名無しさん@お腹いっぱい。
垢版 |
2014/04/16(水) 22:19:24.22
一部お客様のドメインに関しましてご報告とご協力のお願い
http://iis.jp/server/news/2014/20140416.html

これ良く分からん
58名無しさん@お腹いっぱい。
垢版 |
2014/04/18(金) 17:40:19.93
うさんくさいレジストラ代行会社やうさんくさいネームサーバ管理会社を使うなってことだね
2014/04/19(土) 20:58:34.01
>>50
>んで、ふつうさ、コネクション毎に別のプロセス立ち上げるだろ?

さすがUNIX板
1990年くらいで時が止まってるな
2014/04/20(日) 11:05:19.60
あのぉ、これは、当日はいていく予定のTバックのことです。
Tバックというのは、あの部分が故意に、つまり意図的にですね、
そうゆう目的性と申しましょうか、方向性ていうかぁ、挿入のために、
破れているのれす!
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況