ECDsa (ECDsaCng) と SHA256 を使用して .Net で SignedXml を使用しようとしていますが、「署名キーの作成に失敗しました」というメッセージとともに「CryptographicException」が発生します。誰かがその目標を達成する方法を知っていますか、またはecdsaの.netサポートに関する関連情報を知っている必要がありますか? 前もって感謝します。
public XmlDocument SignXml(XmlDocument xmlDoc)
{
CngKey cngKey = CngKey.Create(CngAlgorithm.ECDsaP256);
ecDsaCng = new ECDsaCng(cngKey);
ecDsaCng.HashAlgorithm = CngAlgorithm.ECDsaP256;
ecDsaCng.KeySize = 256;
xmlDoc.PreserveWhitespace = true;
SignedXml signedXml = new SignedXml(xmlDoc);
signedXml.SigningKey = ecDsaCng;
Reference reference = new Reference();
reference.Uri = "";
XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform();
reference.AddTransform(env);
signedXml.AddReference(reference);
signedXml.ComputeSignature();
XmlElement xmlDigitalSignature = signedXml.GetXml();
xmlDoc.DocumentElement.AppendChild(xmlDoc.ImportNode(xmlDigitalSignature, true));
return xmlDoc;
}
「signedXml.ComputeSignature();」にエラーが表示される メソッド呼び出し。