phpでcsrを作成する

今まではシェルスクリプトでコマンドを打ってcsrを作成していましたが、 phpでも出来るようだったのでまとめます。

  • 識別名の指定
$dn = array(
    "countryName" => "JP",
    "stateOrProvinceName" => "Tokyo",
    "localityName" => "hoge",
    "organizationName" => "hoge, Inc.",
    "organizationalUnitName" => "hogehoge",
    "commonName" => "hoge.com",
    "emailAddress" => " "
);

countryName大文字2文字で無ければいけません。

  • 秘密鍵の作成
$privkey = openssl_pkey_new();
  • csr作成
$csr = openssl_csr_new($dn, $privkey);

用意した識別名とプライベートキーを入れます。

  • csrを文字列に展開
openssl_csr_export($csr, $csrout)

により、文字列に展開されたcsrがcsroutに作成されます。

http://php.net/manual/ja/function.openssl-csr-new.php