• 締切済み

秘密鍵の比較について

下記2つの秘密鍵を比較しようとしています。   1.CSR作成時に同時に作成される秘密鍵   2.認証局より受領した証明書と1.の秘密鍵より作成した.p12ファイルから、下記のコマンドで抽出した秘密鍵      openssl pkcs12 -in input.pfx -nocerts -out output_key.pem(証明書名はサンプルです。) 同じ秘密鍵なはずなのに、catで開いた証明書の中身が合致しません。 なぜ合致しないかわかる方ご教示いただけないでしょうか。

みんなの回答

  • kadusaya2
  • ベストアンサー率48% (114/235)
回答No.1

認証局に送るCSRには秘密鍵が入っていません。 認証局からp12で証明書を送ってきたのなら、その中には秘密鍵が入っています。 送っていない秘密鍵が返ってくるハズが無いので、単純に「認証局が別な秘密鍵を送ってきた」だけではないでしょうか。

oniku029
質問者

補足

kadusaya2さん ご回答ありがとうございます。 認証曲からはCRTファイルが送付されております。 そのCRTファイルと秘密鍵より、(*1)のコマンドを使用してp12ファイルを作成しました。 その作成したP12ファイルから秘密鍵を抽出すると、中身が変わってしまっていました。 もし、この中身が変わる理由が分かりましたら、再度ご回答いただけるととてもたすかります。 以上、よろしくお願いします。 (*1) openssl pkcs12 -export -in sample.crt -inkey sample.key -out sample.pfx

関連するQ&A

  • Apache起動時に秘密鍵パスフレーズを省略したい

    ベリサインで取得していただいた、秘密鍵をインストール後、アパッチの再起動を行うと、SSL起動時に毎回パスワードが聞かれます。 http://support.6web.ne.jp/archives/15 上記サイトを確認したところ、既に作成されたキーファイルよりパスフレーズをとり、別名で作成されたファイルをhttpd.confで指定するとのことですが、再度、CSRをベリサインに送付し、証明書を取得し直す必要はないのでしょうか。 また、このサイトに記述されている #Enter pass phrase for ./2011key.pem について、openssl文にて既にパスフレーズなしの鍵が作成されていると思いますが、この文を実行すると、パスフレーズなしで作成されたファイルにパスフレーズが格納される認識で正しいでしょうか。 また、他にもパスワードを記述したスクリプトファイルを用意する方法なども存在するらいしいのですが、一般的はどのような方法がよいかも教えていただけたら幸いです。 よろしくお願いいたします。

  • 秘密鍵パスフレーズ紛失、新CSRにて作成について

    現在、さくらVPSにて利用中のサーバを独自SSLにて運用しておりました。 期限が切れてしまい、更新を行おうとしましたところ、 調べていくうちに秘密鍵のパスフレーズを紛失してしまったということが発覚致しました。 そのため、今回の更新は新しい秘密鍵の作成、そのカギを基にCSRを作成して、 SSL証明書を取得したいと考えております。 そこで、質問がございます。 現在、Apacheサーバを起動している状態でございます。 起動状態にて新しい秘密鍵作成→CSRの発行を行った場合、 現在のApacheサーバの動作が止まるなどの不具合は発生いたしますか? または、Apacheサーバの再起動が必要になりますでしょうか。 現在のサーバ運用に影響がなければ、Apache起動している状態にて、 1.秘密鍵の再作成 2.CSRの発行 3.SSLの発行申請 ※3まで発行できていれば、 設定を新に変更し、Apacheの再起動を行いたいと考えております。 このような場合は、秘密鍵の作成、CSRの作成、SSLの設置は、 新規と同じような操作手順でよろしいでしょうか。 SSL発行会社は同じところを使用する予定です。 秘密鍵の再作成は他のディレクトリにて行いますので、 上書き等は発生しないという前提でお願い致します。 詳しい方、ご教授をお願いいたします。

  • SSL証明書発行後に秘密鍵とCSRファイルを再作成すると証明書は無効に

    SSL証明書発行後に秘密鍵とCSRファイルを再作成すると証明書は無効にりますでしょうか? RapidSSLにて証明書を発行し、Plesk管理画面でサーバに証明書を作成しようとしたのですが エラー: 秘密鍵をセットすることができません:秘密鍵のフォーマットが無効である可能性があります というエラーが出てしまい作成できないため、もう一度同じ名前で秘密鍵を作成しCSRファイルを作成した上で、RapidSSLの管理画面のReissue Certificateというところから証明書を発行し直そうと考えているのですが 上記のような作り直し作業をすると、SSL証明書は無効化して購入し直さなければならなくなったりしますでしょうか? ちなみにエラーが出たときの秘密鍵は以下の通りです。 -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,B02D8998DAE4495C 8PH/+bwvnKccwqmpq4cXHiWrQLeXCLHCmvfQdptAmork8cg0e4U5IzSwUBgSL4uU ~(略) -----END RSA PRIVATE KEY-----

  • CSR ファイルを作る際に必要な秘密鍵ファイル

    CSR ファイルを作る際に必要な「秘密鍵ファイル」って、「サーバの公開鍵」なのでしょうか? http://www.ibm.com/developerworks/jp/websphere/library/web/web_security/2.html こちらのサイトの説明だと、CSRに埋め込まれる鍵は、サーバの公開鍵です。 しかしながら、こちらの手順書 https://www.cybertrust.ne.jp/SureServer/apply/Apache_Linux.pdf において、CSR ファイルの作成に必要なのは「秘密鍵ファイル」と呼ばれるファイルです。 とても混乱しているのですが、本当はどうなっているのでしょうか。 自分としては、「秘密鍵ファイル」は、そう呼ばれているだけで、中身はサーバの公開鍵が含まれている。 というふうに思っています。 これは間違いでしょうか。

  • 無料S/MIME証明書発行での公開鍵秘密鍵

    無料S/MIME証明書発行での公開鍵秘密鍵 ですが、IEで、無料の証明書を申し込むときに、 RSAの公開鍵と秘密鍵を作成しなくてはならないと思うのですが、 この計算は、自分のPCの中で行われるのでしょうか、 それとも、証明書を発行してくれる会社のサーバーで計算されるのでしょうか?

  • openssl関数

    <?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; の部分がどういった理由で記述されているのかイマイチわかりません。。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • SSLの証明書・秘密鍵について

    こんにちは。tatu456です。 LAN環境で RedHat Linux7.1JにてApache-SSLを導入し、セキュアなサーバを構築しようと思っているのですが、CA証明書・サーバ証明書・サーバ秘密鍵の作成方法、または入手方法がわかりません。 CA証明書については下記のURLを参考に作成してみたのですが、他の2点がよくわからないのです。 ご存じの方教えてください。 参考にしたURL:http://www.ipa.go.jp/security/fy12/contents/crack/soho/soho/chap3/ssl/apachessl.html

  • 既存のIISのSSL証明書からxmail用のserver.key,server.certの作り方

    こんにちは 現在Windows2003 Server上でIIS+xmail 1.26で運用しています。 このたびxmailでpops通信、smtps通信をするために設定をしているのですが 必要なserver.key,server.certを作る方法がうまく行かず悩んでいます。 IIS上のウェブサイトでSSL証明書を取得済みなのでそこから作れ出せないかな?といろいろググって試してみたのですが 以下の手順でうまくいきそうなのに xmail上は keyとcertが正しいペアではない旨のエラーになってしまいます。 どこの手順がおかしいのか? もしくは正しく設定できる別の方法があれば教えてください。 現在の手順 ・IISからpfxファイルをエキスポート(cert.pfx) ・OpenSSLで以下のコマンドを用いる openssl pkcs12 -in cert.pfx -out cert.txt ・cert.txtの中身をテキストの前半をコピペして server.key 後半をコピペしてserver.certを作成 ・OpenSSLで以下のコマンドを用いる openssl rsa -in server.key -out server.key ・上記をMAILROOTに設置 以上よろしくお願いします。

  • openSSLで秘密鍵ファイルエラー

    はじめまして。 Solaris10で、OpenSSLとApacheを導入し、認証ファイル作成で エラーになりました。 認証局ファイル作成(CA) cd /usr/local/ssl/misc/CA.sh -newca Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: unknown option -selfsign usage: ca args -verbose - Talk alot while doing things -config file - A config file -name arg - The particular CA definition to use -gencrl - Generate a new CRL -crldays days - Days is when the next CRL is due -crlhours hours - Hours is when the next CRL is due -startdate YYMMDDHHMMSSZ - certificate validity notBefore -enddate YYMMDDHHMMSSZ - certificate validity notAfter (overrides -days) -days arg - number of days to certify the certificate for -md arg - md to use, one of md2, md5, sha or sha1 -policy arg - The CA 'policy' to support -keyfile arg - private key file -keyform arg - private key file format (PEM or ENGINE) -key arg - key to decode the private key if it is encrypted -cert file - The CA certificate -in file - The input PEM encoded certificate request(s) -out file - Where to put the output file(s) -outdir dir - Where to put output certificates -infiles .... - The last argument, requests to process -spkac file - File contains DN and signed public key and challenge -ss_cert file - File contains a self signed cert to sign -preserveDN - Don't re-order the DN -noemailDN - Don't add the EMAIL field into certificate' subject -batch - Don't ask questions -msie_hack - msie modifications to handle all those universal strings -revoke file - Revoke a certificate (given in file) -subj arg - Use arg instead of request's subject -extensions .. - Extension section (override value in config file) -extfile file - Configuration file with X509v3 extentions to add -crlexts .. - CRL extension section (override value in config file) -engine e - use engine e, possibly a hardware device. -status serial - Shows certificate status given the serial number -updatedb - Updates db for expired certificates もしかして、上記でエラーですか? 次に、証明書署名要求ファイル作成(CSR) cd /usr/local/ssl/misc/CA.sh -newreq openssl req -in newreq.pem -text →確認したらOKでした。 openssl rsa -in newreq.pem -text 確認した所、エラーになります。 unable to load Private Key 18943:error:0906D06C:PEM routines:PEM_read_bio:no start line:/on10/build-nd/F10U8B6/usr/src/common/openssl/crypto/pem/pem_lib.c:637:Expecting: ANY PRIVATE KEY Googleで、調べているんですが、よくわかりません。 ご存知の方がいたら、教えてください。 よろしくお願いします。

  • 自己署名証明書によるSSL通信について教えてください!

    SSL通信により、データを暗号化してWeb上でやりとりするシステムの構築を考えています。 そこで自己署名というのを考えているのですが、署名の流れがいまいち分かりません。 認証局利用の場合、私の理解では、 【サーバ側】 1.サーバ側でRSA秘密鍵を生成 2.RSA秘密鍵を元にCSRを作成 3.CSRファイルを認証局に送信 【認証局】 4.CA秘密鍵により暗号化し、サーバ証明書を作成 5.サーバ側にサーバ証明書を送信 【サーバ側】 6.クライアント側にサーバ証明書を送信 【クライアント側】 7.サーバ側よりサーバ証明書を受信する 8.認証局より公開鍵を取得する 9.認証局の公開鍵でサーバ証明書の暗号化された鍵(認証局の秘密鍵で暗号化されたもの)を復号する 10.復号した鍵により、サーバ証明書の暗号文を復号する となります。(間違いがある場合はご指摘下さい) では、自己署名を行う場合はどうなるのでしょうか? 単純にサーバ証明書を自分で作成すると考えてよろしいのでしょうか? CSRファイルの作成などもやはり行うのでしょうか? クライアント側の流れは変わらないのでしょうか? また、この操作は接続毎に毎回行うことになるのでしょうか? (秘密鍵、サーバ証明書は毎回変わるのでしょうか?) 初歩的な質問とは思いますが、よろしくお願いいたします。