
Fedora 18(yumを使用してインストール)でngircd IRCサーバーを設定しようとしていますが、SSLの問題があります。 「無効なSSL証明書を許可する」を選択すると、サーバーにローカルおよびリモートで接続できますが、そうでないとエラーが発生します。 IRCサーバーにローカルに接続しようとすると、XChat出力は次のようになります。
* Connecting to {domain_name} ({ip_address}) port 6697...
* * Subject: /OU=Domain Control Validated/OU=PositiveSSL/CN={domain_name}
* * Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
* * Subject: /OU=Domain Control Validated/OU=PositiveSSL/CN={domain_name}
* * Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
* * Subject: /OU=Domain Control Validated/OU=PositiveSSL/CN={domain_name}
* * Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
* * Certification info:
* Subject:
* OU=Domain Control Validated
* OU=PositiveSSL
* CN={domain_name}
* Issuer:
* C=GB
* ST=Greater Manchester
* L=Salford
* O=COMODO CA Limited
* CN=PositiveSSL CA 2
* Public key algorithm: rsaEncryption (2048 bits)
* Sign algorithm sha1WithRSAEncryption
* Valid since Nov 7 00:00:00 2012 GMT to Nov 7 23:59:59 2015 GMT
* * Cipher info:
* Version: TLSv1/SSLv3, cipher DHE-RSA-AES256-SHA (256 bits)
* Connection failed. Error: unable to verify the first certificate.? (21)
これは私のファイルのSSL部分ですngircd.conf
。設定ファイルをテストするために実行しましたが、ngircd --configtest
ファイルの内容が端末に印刷されました。
[SSL]
CertFile = /etc/pki/tls/certs/{domain_name}.crt
DHFile = /etc/pki/tls/private/dhparams.pem
KeyFile = /etc/pki/tls/private/{domain_name}.pem
KeyFilePassword = {key_file_password}
Ports = 6697
また、mIRCを使用してWindows 7 x64システムからサーバーにリモートで接続しようとしましたが、問題が発生しました。
私は確認できませんが、FedoraはGnuTLSでngircdをコンパイルし、私のキーはOpenSSLを使用して生成されたようです。それでは、キーの形式は異なりますか?どうやって確認して変換できますか?
私のコンピュータの両方がCAの信頼の問題かもしれませんか?それでは、この問題が発生しないように、Fedora 18およびWindows 7でCAルート証明書をどのように/どこに追加できますか?
他に考えられる理由はありますか?私が提供する必要がある他の情報がありますか?
答え1
ngircdは次のディレクティブをサポートします。
[SSL]
CipherList = @SYSTEM
また、使用している証明書を確認したいと思います。
openssl x509 -text -noout -in cert.pem
Let's Encryptの場合、fullchain.pemを使用し、HexChatを使用してポート6697でSSLを介してngircdに接続しました。
答え2
私の場合、証明書は証明書ファイルに誤った順序で表示され、ngircdが正しく起動されず、クライアントで次の接続エラーが発生しました。
Irssi: warning SSL handshake failed: Connection refused
証明書を最も長いものから編集した後(最後のルートCAとも呼ばれます)、サーバーが正しく起動し、クライアントが接続されます。