2

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();」にエラーが表示される メソッド呼び出し。

4

1 に答える 1