コード例 #1
0
        /// <summary>
        /// Creates a new signature with the correct namespace and empty root <c>Signature</c> element.
        /// </summary>
        internal XmlSignatureBuilder(ISigningContext signingContext)
        {
            _signingContext = signingContext;
            _document       = new XmlDocument();
            var manager = new XmlNamespaceManager(_document.NameTable);

            manager.AddNamespace("", OpcKnownUris.XmlDSig.AbsoluteUri);
            _signatureElement = CreateDSigElement("Signature");
        }
コード例 #2
0
        public static OpcSignatureManifest Build(ISigningContext context, HashSet <OpcPart> parts)
        {
            var digests = new List <OpcPartDigest>(parts.Count);

            foreach (var part in parts)
            {
                var(digest, identifier) = OpcPartDigestProcessor.Digest(part, context.FileDigestAlgorithmName);
                var builder = new UriBuilder(part.Uri);
                builder.Query = "ContentType=" + part.ContentType;
                digests.Add(new OpcPartDigest(builder.Uri, identifier, digest));
            }
            return(new OpcSignatureManifest(digests));
        }
コード例 #3
0
 public SigningTranscript(SigningContext011 context)
 {
     _operations = new SigningTranscriptOperation();
     _context    = context;
 }
コード例 #4
0
 public SignedValue <T> SignWith(ISigningContext context)
 => new((T)this, context.Required().Key.SignWithId((T)this).AsSingle());