[PHP-users 23749] PHP の SSL 関数で証明書作成について
s38217kt @ std.kurume-nct.ac.jp
s38217kt @ std.kurume-nct.ac.jp
2004年 11月 29日 (月) 18:19:35 JST
tsukamotoといいます。
現在,PHPとOpenSSLでクライアント証明書を発行するプログラムを作成していますが,
次のようなエラーが出ます。
Warning: openssl_csr_new(): dn: add_entry_by_NID 48 -> (failed) in /home/cert.php on line 15
Warning: openssl_csr_sign(): cannot get CSR from parameter 1 in /home/cert.php on line 16
CSRファイルの発行に失敗しているので,署名ができないということはわかりますが,その原因がわかりません。
add_entry_by_NID 48 をキーワードにググってみましたが,それらしい答えは見つかりませんでした。
ご教授お願いします。
ソースは次の通りです。
--------------------------
1: <?php
2: $CA_CERT="cacert.pem";
3: $CA_KEY="cakey.pem";
4: $req_key=openssl_pkey_new();
5: if(openssl_pkey_export($req_key,$out_key)){
6: $dn=array(
7: "countryName" => "JP",
8: "stateOrProvinceName" => "tokyo",
9: "localityName" => "shibuya",
10: "organizationName" => "company",
11: "organizationalUnitName"=> "manager",
12: "commonName" => "hoge",
13: "emailAddress" => "hoge @ hoge.com"
14: );
15: $req_csr=openssl_csr_new($dn,$req_key);
16: $req_cert=openssl_csr_sign($req_csr,"file://$CA_CERT","file://$CA_KEY",365);
17: if(openssl_x509_export($req_cert,$out_cert)){
18: echo"$out_key\n";
19: echo"$out_cert\n";
20: }
21: else echo"証明書発行に失敗しました。\n";
22: }
23: else echo"鍵生成に失敗しました。\n";
24: ?>
----------------------------
環境は以下の通りです。
Red Hat Linux 8
httpd 2.0.52
PHP 4.3.9
openssl 0.9.7d
PHP-users メーリングリストの案内