署名方法はですHMAC-SHA1
、そして私はすでに<SignedInfo>
生成しました。問題は、HMAC計算でキーとして何を使用すればよいかわからないことです。
最初のリクエスト(RST)とレスポンス(RSTR)から<Entropy>
囲んでいるものが2つあることに気づきました。WS-Trustから読んだところによると、これは、応答のタグで指定されているように、および<BinarySecret>
からこれら2つのバイナリ値を使用して証明キーを生成できることを示しています。ただし、サンプルの署名値と同じ署名値をサービスプロバイダーから取得することはできませんでした。<BinarySecret>
PSHA1
<ComputeKey>
どんな情報でも役に立ちます!
例として:
- RSTからのバイナリシークレットは
grrlUUfhuNwlvQzQ4bV6TT3wA8ieZPltIf4+H7nIvCE=
- RSTRからのバイナリシークレットは
YLABh3ZmZyiO5gvVLZe9J4JPd9w59KGeTFwE85XlzxE=
- 正しい署名値は
nXJEN8p1nupMA/00TK03VZlADkU=
- 私が生成する署名値は
bEGpeRFsznafFRf86g281zKV3Ro=
- SignInfoの内容は以下の通りです
<SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/> <Reference URI="#_0"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>CwMGnFZklO7XsDfFguzl0tw7iHM=</DigestValue> </Reference> </SignedInfo>