コード例 #1
0
ファイル: SignatureHelper.cs プロジェクト: ricardoul/DSS
        internal static bool ValidateSignResponse(XmlDocument signResponse, DSSConfiguration configuration)
        {
            X509Certificate2 certificate = GetCertificate(configuration.DSSCertificate);

            XmlElement signatureNode = (XmlElement)signResponse.GetElementsByTagName("Signature", "http://www.w3.org/2000/09/xmldsig#")[0];
            SignedXml  signed        = new SignedXml(signatureNode);

            signed.LoadXml(signatureNode);

            return(signed.CheckSignature(certificate, false));
        }
コード例 #2
0
ファイル: SignatureHelper.cs プロジェクト: ricardoul/DSS
        internal static void SignXmlDocument(XmlDocument doc, XmlNode nodeWhereToPlaceSignature, DSSConfiguration configuration)
        {
            X509Certificate2 certificate = GetCertificate(configuration.SigningCertificate);
            CspParameters    cspParams   = new CspParameters(24)
            {
                KeyContainerName = "XML_DISG_RSA_KEY"
            };
            RSACryptoServiceProvider key = new RSACryptoServiceProvider(cspParams);

            key.FromXmlString(certificate.PrivateKey.ToXmlString(true));

            SignedXml signed = new SignedXml(doc);

            signed.SigningKey = key;
            signed.SignedInfo.SignatureMethod = DSSConstants.VALUE_SIGNATURE_METHOD_XML;

            Reference reference = new Reference();

            reference.Uri = "";

            reference.AddTransform(new XmlDsigEnvelopedSignatureTransform());
            reference.DigestMethod = DSSConstants.VALUE_DIGEST_METHOD_XML;

            signed.AddReference(reference);

            KeyInfo keyInfo = new KeyInfo();

            keyInfo.AddClause(new KeyInfoX509Data(certificate));
            signed.KeyInfo = keyInfo;

            signed.ComputeSignature();

            XmlNode signatureNode = doc.ImportNode(signed.GetXml(), true);

            nodeWhereToPlaceSignature.AppendChild(signatureNode);
        }
コード例 #3
0
 public DSSManager(DSSConfiguration configuration)
 {
     this.configuration = configuration;
 }