2012-10-08 12 views
7

Oracle WebLogicサービスと通信する必要があるWCFクライアントで作業しています。サービスは相互証明書認証を強制します。WCFを使用してX509トークンに署名する方法

我々は、しかし、ポリシーを満たすことができないと、サーバが示すエラーログに記録:

「WSM-00081を:X.509証明書が署名されていません。」

私はこれの正確な意味が何であるか疑問に思っています。

WSM-00081:X.509証明書に署名はありません。

原因:証明書の認証シナリオの要件に従って、使用されたX509トークンが署名されていませんでした。

処置:証明書認証のために、使用される参照メカニズムに応じてX509トークンに署名してください。

レベル:1

タイプ:ERROR

影響:セキュリティ

http://docs.oracle.com/cd/E25054_01/core.1111/e10113/chapter_wsm_messages.htm

いくつかの研究の後、私たちはサービスのチェックを無効にすることができていることが分かりましたポリシー設定ファイルis-signed="false

<orasp:x509-token orasp:enc-key-ref-mech="direct" orasp:is-encrypted="false" 
       orasp:is-signed="false" 
       orasp:rcpt-enc-key-ref-mech="direct" 
       orasp:rcpt-sign-key-ref-mech="direct" 
       orasp:sign-key-ref-mech="direct"/> 

私の2つの理論:

  • 証明書は、私たちは、CAによって署名された証明書を使用してチェックが、これはしかし、何の違い
  • をしなかった、私たちCA
    • によって署名する必要がありますこれを設定するときにsomエラーを起こした可能性があります。私たちはそれを試すべきですか?
  • リクエストに含まれているBinarySecurityTokenに署名する必要があります。
    • はしかし、私はこの

を行うことができますどのように見当がつかない私は完全に主題を誤解しているか、あなたのいずれかの問題があるかもしれないし、それがいかに何にいくつかのポインタを与えることができます解決しましたか?

+0

自己署名証明書を使用しているのは、信頼できるプロバイダの証明書ですか? – Rajesh

+0

@Rajesh:私は両方を試しました。 – nilu

+1

双方向認証ですか?また、プロバイダがoracle weblogicサービスに信頼できる機関として存在するかどうかを確認しましたか?その2ウェイ認証の場合、両方の証明書が信頼できる機関によって署名されていることを確認してください – Rajesh

答えて

0

要求の一部としてセキュリティトークンに署名する必要があります。

<security mode="Message"> 
    <message clientCredentialType="Certificate" 
     algorithmSuite="Default" 
     establishSecurityContext="true" /> 
</security> 

次に、あなたのclient certificateの場所を解決するために、エンドポイントの動作を作成:あなたの設定の結合素子において

SecurityMode.Messageにセキュリティ要素モードとMessageCredentialType.Certificateへのメッセージ要素のclientCredentialTypeを設定しました

<behavior name="endpointCredentialBehavior"> 
    <clientCredentials> 
     <clientCertificate findValue="Contoso.com" 
      storeLocation="LocalMachine" 
      storeName="TrustedPeople" 
      x509FindType="FindBySubjectName" /> 
    </clientCredentials> 
</behavior> 
関連する問題