コード例 #1
0
        public void EndSignWithoutSigningServiceProtocol()
        {
            IKsiService serviceBegin = GetStaticKsiService(File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_AggregationResponsePdu_RequestId_1584727637)),
                                                           1584727637);
            IAsyncResult asyncResult = serviceBegin.BeginSign(new DataHash(Base16.Decode("0111A700B0C8066C47ECBA05ED37BC14DCADB238552D86C659342D1D7E87B8772D")), null, null);
            KsiService   serviceEnd  = new KsiService(null, null, null, null, null, null);

            KsiServiceException ex = Assert.Throws <KsiServiceException>(delegate
            {
                serviceEnd.EndSign(asyncResult);
            });

            Assert.That(ex.Message.StartsWith("Signing service protocol is missing from service"), "Unexpected exception message: " + ex.Message);
        }
コード例 #2
0
        /// <summary>
        /// Sign given hashes. Returns uni-signatures.
        /// </summary>
        public IEnumerable <IKsiSignature> Sign()
        {
            _canAddItems = false;

            if (_leafNodes.Count == 0)
            {
                return(new List <IKsiSignature>());
            }

            TreeNode root = _treeBuilder.GetTreeRoot();

            if (root.Left == null && root.Right == null)
            {
                Logger.Debug("Only one node in the tree. Signing the hash. Level: {0}; Hash: {1}", root.Level, root.Hash);
                return(new List <IKsiSignature>()
                {
                    _ksiService.Sign(root.Hash, root.Level)
                });
            }

            Logger.Debug("Signing root node hash. Level: {0}; Hash: {1}", root.Level, root.Hash);
            SignRequestResponsePayload signResponsePayload = _ksiService.GetSignResponsePayload(_ksiService.BeginSign(root.Hash, root.Level, null, null));

            return(CreateUniSignatures(new KsiSignature(false, false, signResponsePayload.GetSignatureChildTags())));
        }
コード例 #3
0
 /// <summary>
 /// Begin sub-service signing request.
 /// </summary>
 /// <param name="service">sub-service</param>
 protected override IAsyncResult SubServiceBeginRequest(IKsiService service)
 {
     return(service.BeginSign(_hash, _level, null, null));
 }