私はopenSSLライブラリとPKIの初心者です。 私はopenSSLの専門家には簡単な質問があります。 "opensslプログラミング入門"記事。期限切れの証明書
は、誰もがこの記事 でコードサンプルの証明書を作成する方法を知っていますエリックレスコラwww.rtfm.com/openssl-examples/part1による「OpenSSLのプログラミング(パートI/II)の概要」。 PDF
www.rtfm.com/openssl-examples/part2.pdf
私はこの問題は、証明書の有効期限が切れていることであると私は新しいルート証明書を作成する方法がわからないhttp://www.rtfm.com/openssl-examples からソースコードをダウンロードしています。
ルート証明書の作成方法は?クライアントとサーバーアプリケーションの証明書を作成する方法私は暗号アルゴリズムを使用する必要がありますか? 私が知っている限り、私はshuldを次のようにします:
- キーペアを作成します。秘密鍵と公開鍵。
- 証明書要求を作成します(p10形式)。
- 自己署名付きルート証明書(x509形式)を作成します。
詳細は記事からはっきりしません。
1)CA秘密鍵と証明書要求の作成:
は、これは私が証明書を作成しようとしている方法です のopenssl reqを-newkey RSA -keyout ./ca_key.pem out.pem -out ./ca_req。 PEM -days 1095 -passin渡す: "パスワード" -subj "CAに関するいくつかの情報を、" -extensions v3_ca
2) OpenSSLが-create_serial -in ca_req.pem -out root.pemを-days CAの自己署名CA証明書を作成します。 1095 -passin pass: "password" -selfsign -extension v3_ca
3)サーバプライベートキーを生成し、証明書 のopenssl reqを探求-newkey RSA -keyout server_key.pemアウトserver_req.pem -days 1095 -passin渡す: "サーバーに関するいくつかの情報" -subj "パスワード"
4)(この証明書がないサーバーのcertifiateを作成自己署名。 CA秘密鍵で署名し、この証明書) OpenSSLは-in server_req.pem -out server.pem -passin渡しCA: "パスワード"
5)は、ユーザ秘密鍵と証明書の要求を生成する opensslのREQを-newkey RSA -keyout user_key.pem out user_req.pem -days 1095 -passin pass: "password" -subj "クライアントに関する情報"
6)create user certifiate(この証明書は自己署名されていません。 openssl ca -in user_req.pem -out client.pem -passin pass: "password"
"rsa"アルゴリズムについてはわかりません。私は他のalgorthmを使用shuoldかもしれません。
だから私は、私は そしてserver.pemについても同じことをするためにclient.pemクライアントキーと証明書をroot.pemを、server.pem、にclient.pem を入れています。(記事サンプル証明書と同じ方法です)
しかし、これらの新しい生成証明書でサーバーを起動しようとすると、エラーが発生します。 "DHファイルを開けませんでした。"私は現在のフォルダとサーバーが起動に古いDHファイルを置く
。 (それが何であるdh1024.pem?)
次のステップ。私はクライアントを起動し、別のエラーメッセージが表示されます。「証明書は確認しません」
エラーコードがx509_vfy.h内のコード20のための20 Desciptionは、このすべては、私が間違って証明書を作成したことを意味し
「ローカル発行者証明書を取得することができません」です。 私はそれを正しく行う方法を知りません。
誰かがアイデアを持っていますか?
明らかです。私は証明書が期限切れで、新しい証明書が間違っていることを知っています。問題は、正しい証明書、鍵、およびこのようなものをすべて作成する方法です。 – Vlad
@Sauron http://www.herongyang.com/crypto/OpenSSL_Signing_keytool_CSR.html .hopeこのリンクは役立ちます – Balamurugan