35

セルフホストWCFサービスを使用したSSLの指示に従いました。「方法:SSL証明書を使用してポートを構成する」の説明に従って、netshを使用してWindows7で証明書をバインドしようとしています。、次のように失敗しています。

WindowsPowerShellの場合

PS C:\> netsh http add sslcert ipport=0.0.0.0:8732 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={00112233-4455-6677-8899-AABBCCDDEEFF}
Bad numeric constant: 224.
At line:1 char:104
+ netsh http add sslcert ipport=0.0.0.0:8732 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={001 <<<< 12233-4455-6677-8899-AABBCCDDEEFF}
+ CategoryInfo          : ParserError: (224:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : BadNumericConstant

コマンドプロンプトで

C:\>netsh http add sslcert ipport=0.0.0.0:8732 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={00112233-4455-6677-8899-AABBCCDDEEFF}

SSL Certificate add failed, Error: 1312
A specified logon session does not exist. It may already have been terminated.
4

9 に答える 9

31

IIS ExpressでSSLを適切に実行するために、これと永遠に戦いました。私の証明書は、個人証明書ストアではなく、信頼されたルート証明機関ストアにあったことがわかりました。これは私のために働いたものです:

  1. 証明書が「証明書(ローカルコンピューター)/個人/証明書」にあることを確認してください
  2. netsh http add sslcert ipport=0.0.0.0:8732 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid='{00112233-4455-6677-8899-AABBCCDDEEFF}'
  3. SSL証明書が正常に追加されました
  4. MMCを使用して、証明書を好きな場所にドラッグします。
于 2013-08-21T21:27:18.923 に答える
15

ポートバインディングでエラー1312の4つの考えられる原因を見つけました。

  • SSL証明書が破損しています。証明書ストアから削除して再度追加する必要があります。
  • SSL証明書に秘密鍵がありません。証明書ストアから削除して完全な公開/秘密証明書を再度追加するか、証明書に秘密鍵を添付する必要があります。
  • 2012R2のSP1より前のバージョンにインストールする場合は、KB981506が必要になる場合があります。
  • ローカルのマシン証明書ストアではなく、ユーザーストアにSSL証明書を追加した可能性があります。ユーザーストアから削除して、マシンストアに追加してください。
于 2015-03-16T15:30:32.247 に答える
12

エラーの原因は、signroot.certの証明書ファイルから直接ThumbPrintを取得したことです。このファイルは、「信頼されたルート証明機関」の作成に必要な最初のmakecertコマンドから作成され、実際に作成(およびインストール)するために再度使用されます。 )2番目のmakecertコマンドの自己署名の信頼できる証明書。

2番目のmakecertコマンドも、作成した証明書を「証明書(ローカルコンピューター)->パーソナル->証明書ノード」にインストールします。現在開いているMMCを再度更新して、「localhost」証明書を確認する必要があります。ThumbPrintは、signroot.certからではなく、この証明書から取得する必要があります。

それでも当てはまらない場合は、M$からこの修正プログラムをインストールする必要があります。 http://support.microsoft.com/kb/981506

参照:http ://social.technet.microsoft.com/Forums/en/winservergen/thread/68452008-a89b-40ba-9927-472efcfafc99

于 2012-03-10T00:07:13.570 に答える
8

同じエラーに直面し、長い時間の経過後、netshが「certhash」パラメーターで識別される証明書を見つけるためにすべてのローカルマシンストアを参照していないことに気付きました。デフォルトでは、「パーソナル」ストアでのみ証明書を検索します。

証明書は「個人」ストアではなく「信頼されたルート証明機関」ストアにあったため、netshコマンドに「certstorename」パラメーターを追加することで問題を解決しました。

C:\>netsh http add sslcert ipport=0.0.0.0:8732 certstorename=AuthRoot certhash=...  
于 2015-08-11T22:14:23.403 に答える
4

注意すべきもう1つの点は、MMCコンソールの証明書プロパティウィンドウから証明書ハッシュをコピーして貼り付けると、ハッシュの先頭に面白い文字が表示される可能性があることです。この文字は、テキストエディタが使用している可能性が高いUTF-8エンコーディングでは表示されないため、表示されません。

Netshは、どのパラメーターを開示せずに「パラメーターが正しくありません」で失敗し続けるため、役に立ちません;)

エンコーディングをANSIに変更すると、文字が表示され、削除すると、チャームのように機能します

于 2017-02-19T14:26:17.137 に答える
3

あなたの質問で次のことに気づきました。元の問題は解決しない可能性がありますが、ここでの構文は正しくありません。

PS C:\> netsh http add sslcert ipport=0.0.0.0:8732 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={00112233-4455-6677-8899-AABBCCDDEEFF}
Bad numeric constant: 224.
At line:1 char:104
+ netsh http add sslcert ipport=0.0.0.0:8732 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={001 <<<< 12233-4455-6677-8899-AABBCCDDEEFF}
+ CategoryInfo          : ParserError: (224:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : BadNumericConstant

代わりにこれを使用してください(一重引用符'{}'でappidを使用):

netsh http add sslcert ipport=0.0.0.0:8732 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid='{00112233-4455-6677-8899-AABBCCDDEEFF}'
于 2012-04-05T19:44:48.997 に答える
2

私にとっての鍵は、IEを使用してインポートを行うことでした。これは、私が通常行っていることです。

mmc.exe、[ファイル]-> [スナップインの追加と削除]を使用して、[証明書]を追加します。コンピュータアカウントを管理してから「ローカルコンピュータ」を管理します。

ルート証明書を証明書(ローカルコンピューター)/信頼されたルート証明機関/証明書にインポートします。

クライアント証明書をPersonal/Certificatesにインポートしてから、netsh httpaddsslcertを実行します。

于 2016-04-04T23:49:23.487 に答える
1

実際、それはリフレッシュとは何の関係もありません。私は同じ問題で多くの時間を無駄にしてきました。新規インストールを実行する場合、この問題は発生しませんが、次のことを実行しようとすると問題が発生します。

 1. Import same certificate again
 2. You create a new certificate and try to bind it which has same parameters, namely the CN value.

この問題を解決するには、証明書ストアとIISサーバーキャッシュからこの証明書を適切に削除するか、(開発目的でのみ)新しい証明書を作成しますが、CN値が異なる場合はコマンドが機能します。

于 2012-08-17T16:10:49.350 に答える
0

「公式」(自己署名ではない)証明書(Thawteなど)は、証明書ストア「信頼されたルート証明機関」にインポートされます。
netshコマンドでパラメーター「certstorename=」が渡されない場合、netshは「Private」ストアを表す「MY」を取ります。
公式証明書をバインドするには、以下を追加する必要があります。

certstorename=Root

netshコマンドに。

完全な情報

于 2017-01-18T13:51:08.320 に答える