推しミネラルウォーターはありますか?

<?php
$dn = array(
'countryName' => 'JP'
,'stateOrProvinceName' => 'Tokyo'
,'localityName' => 'Shibuyaku'
,'organizationName' => 'HOGE'
,'organizationalUnitName' => 'hogehoge'
,'commonName' => 'example.com'
,'emailAddress' => 'hoge@example.com'
);
$pkeypass = '1234';
$numofdays = 365;

$pkey = openssl_pkey_new();
$csr = openssl_csr_new($dn, $pkey);
$sscert = openssl_csr_sign($csr, null, $pkey, $numofdays);

$publickey = null;
$privatekey = null;
$csrStr = null;

openssl_x509_export($sscert, $publickey);
openssl_pkey_export($pkey,$privatekey,$pkeypass);
openssl_csr_export($csr, $csrStr);

echo $publickey; // 公開鍵
echo $privatekey; // 秘密鍵
echo $csrStr; // CSR

上記のプログラムで生成される公開鍵と秘密鍵は乱数的に生成されているのでしょうか?
あと $pkeypass = '1234'; と echo $csrStr;
の部分がどういった理由で記述されているのかイマイチわかりません。。

よろしくお願いいたします。

A 回答 (2件)

>もう一つの質問である、「乱数的に発生させているのか?」



見落としていました。
公開鍵と秘密鍵は乱数で生成されます。
ソースコードを見たわけではありませんが、/dev/urandom など安全な乱数が使われるはずです。
    • good
    • 0

$pkeypass = '1234';


秘密鍵に掛けるパスワードです。秘密鍵で復号化や署名処理をする場合に、このパスワードが必要。

echo $csrStr;
上記プログラムでは自己署名していますが、後でVerisignなどにきちんと署名してもらいたいならば、ここで出力される「署名要求」が必要。
    • good
    • 0
この回答へのお礼

わかりやすい回答をありがとうございます。
もう一つの質問である、「乱数的に発生させているのか?」
というのについてもわかりますか?

お礼日時:2007/01/02 21:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!