HardwareIdentification.GetPackageSpecificToken によって発行された HardwareToken を Azure (.net 4.5) サービスで検証しようとしています。公式のガイダンスに従いました。しかし、私は最後のチェックで立ち往生しています。署名のチェックが常に失敗する理由がわかりません (証明書チェーンのチェック、重み付けされたハードウェア トークンの比較、ルート証明書の publicKey の照合など、他のすべてのチェックは正常に機能しています)。
署名の検証を実行するために使用しているコードは次のとおりです。
var signedData = nonce.Concat(token).ToArray();
SHA1Managed hash = new SHA1Managed();
byte[] hashedData;
hashedData = hash.ComputeHash(signedData);
if (!publicKeyProvider.VerifyHash(hashedData, CryptoConfig.MapNameToOID("SHA1"), signature))
throw new Exception("Invalid or Corrupted HardwareToken");
私も同じ結果で VerifyData を使用しようとしましたが、常に False を返します (ナンスを使用するかどうかに関係なく)。
ここに非常に基本的なサンプル プロジェクトをアップロードしました: https://github.com/sandorfr/sandor/tree/master/W8/HardwareTokenSample
誰かがこの問題に直面/解決しましたか?
よろしくお願いします、