0

メッセージセキュリティを備えたWCF Webサービスがあり、Metro(WSIT + jaxws)を使用するプロジェクトでNetbeansで作成されたJava Webアプリケーションからそれを使用しています。標準のalgorithmSuite Basic256を使用するとすべて正常に動作しますが、サービスの要件であるBasic256Sha256を使用すると、「SOAPFaultException:メッセージのセキュリティを検証中にエラーが発生しました。」という実行時エラーが発生します。サービス ログを見ると、「アルゴリズム ' http://www.w3.org/2000/09/xmldsig#hmac-sha1 ' は、アルゴリズム スイート Basic256Sha256 による操作 'SymmetricSignature' に対して受け入れられません。」 と表示されます。問題は、SHA2 (Sha256) を使用するようにクライアントを変更する方法です。クライアント資格情報の種類として Certificate を使用しています。

WCF バインディング:

        <!-- MESSAGE SECURITY -->
        <binding name="myMessageBinding">
          <transactionFlow />
          <security defaultAlgorithmSuite="Basic256Sha256" 
                    authenticationMode="SecureConversation"
                    messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
            <secureConversationBootstrap defaultAlgorithmSuite="Basic256Sha256"
                                         authenticationMode="MutualCertificate" requireDerivedKeys="false"
                                         messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
                                         requireSignatureConfirmation="true" />
          </security>
          <textMessageEncoding />
          <httpTransport />
        </binding>
4

1 に答える 1

1

SecurityAlgorithmSuite.IsSymmetricSignatureAlgorithmSupportedは、Basic256Sha256

http://www.w3.org/2001/04/xmldsig-more#hmac-sha256

署名の生成と検証に使用されるアルゴリズムとして

http://www.w3.org/2001/04/xmlenc#sha256

XML 署名のハッシュを作成または検証するために、署名済みオブジェクトに適用されるダイジェスト アルゴリズムとして。

http://www.w3.org/2000/09/xmldsig#hmac-sha1

の対称署名として有効です

  • デフォルト
  • ベーシック256
  • Basic256Rsa15

使用して

http://www.w3.org/2000/09/xmldsig#sha1

ダイジェストアルゴリズムとして。

Java クライアントが同じアルゴリズムを使用して SOAP メッセージに署名していないようです。Java クライアントから受信したメッセージの SignedInfo SignatureMethod 要素を確認してください。

Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"

クライアントが同じアルゴリズムを使用して署名していないことを確認します。

于 2013-12-18T10:45:15.137 に答える