qt - これら2つのOpenSSL生成方法の違い

qt sockets ssl openssl x509

自分のルートCAを作成しようとしています。

自己署名されたルートキー/証明書を生成する1つの方法を次に示します。

openssl req -x509 -nodes -newkey rsa:2048 -subj /CN=$1/countryName=UK/stateOrProvinceName=UK/organizationName=Me -keyout $1.key.pem -out $1.cert.pem


そして、ここに別のものがあります。

openssl genrsa -des3 -out $1.key.pem 2048
openssl req -new -subj /CN=$1/countryName=UK/stateOrProvinceName=UK/organizationName=Me -key $1.key.pem -out $1.csr
openssl x509 -req -days 36500 -in $1.csr -signkey $1.key.pem -out $1.crt.pem


最初の証明書を使用して(QSslSocketを使用して)クライアントとサーバーの接続を作成すると、接続は正常に行われます。問題は、証明書の日付が1975であり、他の人の署名には使用できないことです。

無効な日付でルート証明書を生成する2番目の方法を構築しましたが、sslソケット接続は「不明な」エラーで失敗し、他の手掛かりはありません。クライアントとサーバーの両方で正しい証明書が使用されていることを確認しました。

何が悪いのですか?ありがとう。
答え
-days 36500を使用する場合、時間は1975年に戻ります。

    Validity
        Not Before: Oct 18 11:57:31 2011 GMT
        Not After : Aug 18 05:29:15 1975 GMT


-daysの値を小さくしてください。例えば:

openssl req -x509 -days 3000 -nodes -newkey rsa:2048 -subj /CN=xx/countryName=UK/stateOrProvinceName=UK/organizationName=Me -keyout xx.key.pem -text -out xx.cert.pem


次に、有効な日を取得する必要があります:

    Validity
        Not Before: Oct 18 12:01:17 2011 GMT
        Not After : Jan  4 12:01:17 2020 GMT
関連記事

multithreading - QGLWidgetのpaintGL()メソッドはどのQtスレッドから呼び出されましたか?

c++ - Qt:プロジェクトにネイティブOS固有のコードを追加する

qt - QTabBar要素のスタイリング::タブでスタイルが失われる

qt - WindowsでSymbian開発用にQt SDKをセットアップする方法

c++ - Qtで、モデルからリストビューのアイテムの背景色をリセットするにはどうすればよいですか?

qt - QToolbarフォースシュリンク

c++ - Qt:カスタムウィジェットの画像リソースを適切に保存する

qt - QWidgetでアルファ透明マスクを使用していますか?

linux - Qt子プロセスを閉じて、子プロセスにクリーンアップコードを実行させるにはどうすればよいですか?

qt - QT、QTableWidget:cellChanged()シグナルによるアイテムの変更