タグ付けされた質問 「ssl-certificate」

SSL証明書は、ネットワークサーバーへの接続を暗号化および認証するために使用されます。最も一般的なのはWebサーバーだけでなく、電子メール、ファイル転送、およびその他のネットワーク接続にも使用されます。

3
IISと同じサーバー上のSNIおよびワイルドカードSSL証明書
サブドメイン(sub.domain.comなど)をリッスンするWebサイトを、IISおよびSSLを使用して、第2レベルドメイン(domain2.com、domain3.comなど)の直下に存在する複数のWebサイトと共にホストしたいと思います。 サブドメインを含むWebサイトには、ワイルドカード証明書(* .domain.com)があり、他のサイト(domain2.comおよびdomain3.com)専用の証明書もあります。 そのようなセットアップは、同じIISでホストできますか(もしそれが重要な場合、Azure Cloud Service Webロールで)? 問題は、ここで titobfが説明したとおりです。理論的には、SNIを使用してバインドし、domain2 / 3.comにホストを指定し、次に* .domain.comに*ホストを使用したキャッチオールWebサイトを使用する必要があります。ただし、実際には、キャッチオールWebサイトが有効になっている場合、バインディングの設定方法に関係なく、domain2 / 3.comへのすべての要求も受信します(ただし、最後の手段としてのみ一致するはずです)。 任意の助けをいただければ幸いです。 未解決 残念ながら、これを解決することはできませんでした。IISとインターネット(基本的にはファイアウォール)の間に位置し、SSLハンドシェイクが行われる前に着信要求を変更するソフトウェアを作成するなど、非常に複雑な方法でしか解決できないようです! )シナリオを許可します。これは、IISでは不可能であり、ネイティブモジュールからでさえ不可能だと確信しています。 明確にする必要があります。AzureCloud Servicesを使用しているため、複数のIPアドレスを使用できないという制約があります(http://feedback.azure.com/forums/169386-cloud-services-web-and -worker-role / suggestions / 1259311-multiple-ssl-and-domains-to-one-app)。複数のIPをサーバーに向けることができる場合、IPのバインディングも作成できるため、この問題はありません。これらは一緒にワイルドカードバインディングで機能します。具体的には、ワイルドカードサイト用のIP(ただし、別のIPを使用しているため、ワイルドカードホスト名バインディングを構成する必要はありません)および他のすべての非ワイルドカード用のIPが必要です。 実際の回避策は、非標準SSLポート8443の使用でした。したがって、SNIバインディングは実際にこのポートにバインドされているため、他のバインディングと一緒に機能します。いいとは言えませんが、Webロールに複数のIPを使用できるようになるまでは、回避策として受け入れられます。 動作しないバインディング 最初のhttpsバインディングは単純な証明書を使用したSNIであり、2番目はワイルドカード証明書を使用したSNIではありません。 SNI httpsサイトと同様にhttpサイトも機能しますが、ワイルドカードバインディングを使用したサイトでは「HTTPエラー503。サービスは利用できません」と表示されます。(追加情報なし、失敗した要求トレースまたはイベントログエントリなし)。 最後に基本的に動作させる 説明したTobiasのようなETWトレースログを有効にすると、ルートエラーは次のようになりました。 要求(要求ID 0xF500000080000008)は理由により拒否されました:UrlGroupLookupFailed。 私が理解している限り、これはhttp.sysが利用可能なエンドポイントにリクエストをルーティングできないことを意味します。 登録されたエンドポイントをチェックすると、netsh http show urlacl実際にポート443に何かが登録されていることがわかりました。 Reserved URL : https://IP:443/ User: NT AUTHORITY\NETWORK SERVICE Listen: Yes Delegate: …

2
1つのIPと同じポートを持つがホストヘッダーが異なる複数のSSL証明書(IIS 8)
IIS 8(win 2012 r2)サーバーがあり、同じWebサイトを2つの異なるドメインと2つの異なる証明書にバインドしたい。 ドメインが異なるFQDNであるため、ワイルドカードを使用できません。 httpsとポート443に2つのバインディングを追加すると、2つの異なる証明書を選択できません(一方のバインディングを変更すると、もう一方も変更されます)。 異なるポートを使用したり、2つの異なるWebサイトに分割したりせずにこれを解決する方法はありますか? ありがとう!

1
「tlsv1 alert unknown ca」とはどういう意味ですか?
私はそのようなクライアント証明書を使用してカールリクエストをしようとしています: curl -E my.pem https://some.site そして、私は次のエラーメッセージを受け取ります: curl: (35) error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca これは何を意味するのでしょうか? この苦情は、私が接続しているサーバー、または私のcurlクライアントからのものですか? (どのように判断しますか)このコンテキストのCAは何ですか? caがわかるようにするにはどうすればよいですか?

4
Apache:SSL信頼チェーンを検証してMITM攻撃を防止しますか?
SSLの中間者攻撃は、特に企業環境では、思ったよりもはるかに一般的であることに気付きました。透過的なSSLプロキシサーバーを設置しているいくつかの企業について聞いたことがあります。すべてのクライアントは、このプロキシの証明書を信頼するように構成されています。これは基本的に、雇用主は理論的には、SSLで暗号化されたトラフィックでさえ、ブラウザに警告が表示されることなく傍受できることを意味します。前述のように、クライアントには信頼できる証明書が付属しています。これは、使用されている証明書を手動で検証することによってのみ明らかにできます。 私には、雇用主が彼の優れた地位を利用して従業員のSSLトラフィックをスパイしているように見えます。私にとって、これはSSLの概念全体を信頼できないものにします。私はmitmproxyを使用して同様のセットアップを自分でテストし、クライアントと電子バンキングサーバー間の通信を読み取ることができました。これは、誰にも明かされるべきではない情報です。 したがって、私の質問はかなり単純です:サーバー側で信頼チェーンを検証するにはどうすればよいですか?クライアントがサーバーの証明書と1つの信頼チェーンのみを使用するようにします。これは、ApacheのSSL構成で実現できるのでしょうか?これは、多くのアプリケーションに簡単に適用できるため便利です。これが不可能な場合、誰かがPHPでこれを行う方法を知っていますか?または、他に提案はありますか?

2
ルート証明書をCAバンドルに含める必要がありますか?
最近、Qualys SSL Server Testにアクセスして、Namecheap証明書が適切にインストールされたことを確認しました。1つのチェーンの問題(「アンカーを含む」)を除いて、すべてが正常に見えました。 (ほとんどの)信頼ストアに既に存在するAddTrust外部CAルートを削除することにより、この問題を解決できるはずです。ただし、Namecheap自身のインストール手順では、これがCAバンドルの3つの証明書の1つであると明示的に記載されています。 ComodoRSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt Namecheapの指示を無視して、AddTrust外部CAルート証明書をチェーンから削除しても安全ですか?もしそうなら、なぜNamecheapがそもそもそれを含めるのでしょうか?

1
署名された証明書を無効にせずに自己署名ルートCAを再発行する
社内のいくつかの内部サービス用に自己署名ルート認証局を作成し、それを自分で構成しました(ほとんどがHTTPS経由で提供されます)。次に、これらのサービスの証明書を作成し、このCAで署名しました。 ここで、このCAから発行された既存のサーバー証明書を無効にすることなく、x509拡張(CRL配布ポイント)をルートCAに追加します。これは可能ですか? 私が理解しているように、対応する秘密鍵へのアクセスは証明書IDに対する「完全な権限」のために必要かつ十分であるため、私の直感は「はい」です。つまり、証明書の生成時に(おそらく)証明書に公開キーと共に組み込まれた何らかのナンスがない限りです。 私はまだSSL証明書管理にかなり慣れていませんが、標準のトラストチェーンの基本を理解しています。また、他のPKI暗号化の基本的な使用にも慣れています。SSHキーを管理し、署名と暗号化にGPGを使用します。私はコンピューターサイエンスを勉強しましたが、私は暗号学の独学者です。 オリジナルのIIRCのCSRを作成したことはありません(それはの直接出力だったと思いますopenssl req -new -x509)。もちろん、元のCAの秘密キーはまだ持っています。それを使用して、元の証明書を証明書署名要求に「逆変換」することができました。 openssl x509 -x509toreq -in MyCA.pem -out MyCA.csr -signkey private/MyCA.key これが上記のナンスを効果的に「抽出」し、証明書を再作成できるようになることを望んでいましたが、今回はcrlDistributionPointsフィールドで、したがって元のCAで署名されたすべての証明書は、この新しいCAに対して検証しますが、例外がありますそのクライアントは、フィールドで指定されたHTTP URLから(現在は空の)CRLファイルを取得します。 だから私は拡張設定ファイルを作りましたext.conf: [ cert_ext ] subjectKeyIdentifier=hash crlDistributionPoints=URI:http://security.mycompany.co.za/root.crl そして、CSRからルートCAの新しいバージョンを生成しました。 openssl x509 -extfile ./ext.conf -extensions cert_ext -req -signkey private/MyCA.key -in MyCA.csr -out MyNewCA.pem これで証明書を表示すると openssl x509 -text -in MyNewCA.pem | less 私はCRL拡張部分を見ることができます: X509v3 extensions: …

3
Certbotは443とは異なるポートで暗号化できます
443とは異なるポートでWebサーバーのcertbotをセットアップしたいです。実行中に次のエラーが表示されました。 certbot --apache -d <sub>.<domain>.<ext> 認証手順に失敗しました。sub.domain.ext(tls-sni-01):urn:acme:error:connection ::サーバーはクライアントに接続してドメインを確認できませんでした:: TLS-SNI-01チャレンジのexternal_ip:443への接続に失敗しました このエラーの後、私はこれを見つけたマニュアルページを読みました: --tls-sni-01-port TLS_SNI_01_PORT tls-sni-01チャレンジを実行するためのポート番号。テストモードのボールダーのデフォルトは5001です(デフォルト:443)。 次に、このエラーを修正するために次のことを試しました。 certbot --apache --tls-sni-01-port 14831 -d <sub>.<domain>.<ext> tls-sni-01-portを追加した後、同じエラーが発生しました。 別のポートで証明書をインストールすることは可能ですか、それとも何か間違っていますか?

3
SSL証明書は一部のクライアントでのみ機能しますか?
ホスティングプロバイダーは、古いドメインのSSL証明書を誤って失効させた後、最近ドメインのSSL証明書を再発行して再インストールしました。 これで、HTTPSを介してWebサイトを再度閲覧できるようになりました。ホストも同様に、他の多くのユーザーも同様です。 ただし、一部のユーザー(少なくとも数百人のうち数十人)がYour connection is not secure、さまざまなブラウザやプラットフォームでエラーメッセージを受け取っています。(再現できない問題を診断するのは難しいことが証明されています。) ブラウザごとに認証局(CA)のリストが異なることを理解しています。 私と同じバージョン(OS Xの45.0.1)のFirefoxを実行しているユーザーが、SEC_ERROR_UNKNOWN_ISSUER(私のサイトのみで)エラーを受け取っているのに、どうしてですか?何がそれを可能にしますか?ユーザーはキャッシュをクリアし、ラップトップを再起動しました。 私は走ったdigicert.com上のSSLチェックを。結果は次のとおりです。 SSL証明書は信頼されていません 証明書は、信頼できる機関によって署名されていません(Mozillaのルートストアと照合)。信頼できる機関から証明書を購入した場合は、おそらく1つ以上の中間証明書をインストールする必要があります。サーバープラットフォームでこれを行うには、証明書プロバイダーに問い合わせてください。 この場合、SSLエラーなしでサイトに接続できるのはなぜですか?

2
JenkinsおよびSonarのSSLを使用したApacheリバースプロキシ設定の修正
Apacheサーバーの背後でJenkins(ポート8080)とSonarQube(ポート9000)の2つのサービスを実行しています。 私のApache設定は次のようになります: <VirtualHost *:80> ServerName server Redirect permanent / https://server.domain.com/ </VirtualHost> <VirtualHost *:80> ServerName server.domain.com Redirect permanent / https://server.domain.com/ </VirtualHost> <VirtualHost *:443> ServerName server.domain.com SSLEngine on SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key ProxyPass /jenkins http://localhost:8080/jenkins nocanon ProxyPassReverse /jenkins http://localhost:8080/jenkins ProxyPassReverse /jenkins http://server.domain.com/jenkins ProxyPassReverse /jenkins https://server.domain.com/jenkins ProxyPass /sonar http://localhost:9000/sonar nocanon ProxyPassReverse /sonar http://localhost:9000/sonar …

3
Windows Server 2003でのSHA2証明書サポートの有効化
最初に少しの背景情報。Windows Server 2003 SP2 32ビット環境内で実行されるSSISパッケージがあります。パッケージは最近、SSL接続を使用してWebページをダウンロードするスクリプトタスク中に次のエラーで失敗し始めました。 "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. いくつかの掘り下げにより、いくつかのことが明らかになりました。サーバーからIE8を使用して問題のWebサイトにアクセスできず(Firefoxで可能)、Webサイトに新しいSHA256証明書が発行されたばかりです。 いくつかの調査を行った後、私の現在の仮定は、問題はこのサーバーでSHA2証明書をサポートしていないということです。サイトから証明書を取得して実行するCertUtil -verify [cert file]と、次の結果が得られました。 The signature of the certificate can not be verified. 0x80096004 (-2146869244) Microsoftからいくつかの修正プログラムを見つけましたが、私が理解していることから、どちらを使用してもSHA2証明書のサポートが有効になります。 http://support.microsoft.com/kb/938397 http://support.microsoft.com/kb/968730 そのため、kb968730の修正プログラムを要求してインストールしようとしましたが、次のエラーが発生しました。 The installation cannot continue because the following packages might not …

1
SSL証明書を拒否するブラウザーの数を調べる
WebサーバーにHTTPリクエストを送信するときに、SSL証明書を拒否するブラウザーの数を調べたいと思います。現在、ほとんどの最新ブラウザで認識されているように見える無料のCAを使用していますが、ブラウザとオペレーティングシステムの組み合わせを徹底的にテストすることなく、いくつかの数値を取得したいと思います。 証明書の検証が失敗するとブラウザが接続を終了することを理解していますが、Apacheがこれを検出する方法はありますか?特定の診断情報を取得する予定はありません-証明書/ SSLの問題があったという事実だけで十分です。

3
OpenSSL:インタラクティブに要請されたサブジェクトの別名(SAN)を使用してCSRを生成する方法
OpenSSLを構成してopenssl req -new、新しい証明書署名要求を生成するために実行するときに、CSRに含める代替サブジェクト名の入力を求められるようにします。 私の[req_attributes]セクションにこの行を追加しましたopenssl.cnf: subjectAltName = Alternative subject names これには、CSRを生成するときにSANを要求するという望ましい効果があります。 $ openssl req -new -out test.csr -key ./test.key <<< You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or …


1
「cacert.pem」とは何で、何を使用するのですか?
ドメインとサブドメインを持つローカルホストでWebアプリケーションを開発していますが、HTTPS接続を使用したいと思います。Mac OSでSSLを有効にするには、Apacheを正しく設定する必要があります。そのため、いくつかのガイドに従ってその一部を達成しました。 次に、HTTPS要求をテストするために証明書を選択します。cacert.pemを見ましたが、それをどのように使用するのか、どのように使用されるのかわかりません(その使用法について説明してもらえますか?)... だから、それを使用することが可能であるcacert.pem(リンクを参照)のために、すべての(と、多分私のドメインおよびサブドメインのワイルドカード証明書をローカルホスト上で)? もしそうなら、それを行う方法は?どの証明書を取得して使用する必要がありますか? いいえの場合、私が使用するためには何をする必要があるか、ワイルドカード証明書のために、すべてのローカルホスト上の私のドメインやサブドメインを? もちろん、これらの証明書はブラウザで受け入れられ、ドメイン間のHTTPS接続で機能する必要があります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.