Пример #1
0
 /// <summary>
 /// Create a new GenericSignature with a copy of the fields in the given
 /// signature object.
 /// </summary>
 ///
 /// <param name="signature">The signature object to copy.</param>
 public GenericSignature(GenericSignature signature)
 {
     this.signature_ = new Blob();
     this.signatureInfoEncoding_ = new Blob();
     this.typeCode_ = -1;
     this.changeCount_ = 0;
     signature_ = signature.signature_;
     signatureInfoEncoding_ = signature.signatureInfoEncoding_;
     typeCode_ = signature.typeCode_;
 }
Пример #2
0
 /// <summary>
 /// Create a new GenericSignature with a copy of the fields in the given
 /// signature object.
 /// </summary>
 ///
 /// <param name="signature">The signature object to copy.</param>
 public GenericSignature(GenericSignature signature)
 {
     this.signature_             = new Blob();
     this.signatureInfoEncoding_ = new Blob();
     this.typeCode_         = -1;
     this.changeCount_      = 0;
     signature_             = signature.signature_;
     signatureInfoEncoding_ = signature.signatureInfoEncoding_;
     typeCode_ = signature.typeCode_;
 }
Пример #3
0
        public void testGenericSignature()
        {
            // Test correct encoding.
            GenericSignature signature = new GenericSignature();
            signature.setSignatureInfoEncoding(new Blob(experimentalSignatureInfo,
                    false), -1);
            Blob signatureValue = new Blob(toBuffer(new int[] { 1, 2, 3, 4 }),
                    false);
            signature.setSignature(signatureValue);

            freshData.setSignature(signature);
            Blob encoding = freshData.wireEncode();

            Data decodedData = new Data();
            try {
                decodedData.wireDecode(encoding);
            } catch (EncodingException ex) {
                Assert.Fail("Error decoding Data with GenericSignature: " + ex);
            }

            GenericSignature decodedSignature = (GenericSignature) decodedData
                    .getSignature();
            Assert.AssertEquals(experimentalSignatureType, decodedSignature.getTypeCode());
            Assert.AssertTrue(new Blob(experimentalSignatureInfo, false)
                    .equals(decodedSignature.getSignatureInfoEncoding()));
            Assert.AssertTrue(signatureValue.equals(decodedSignature.getSignature()));

            // Test bad encoding.
            signature = new GenericSignature();
            signature.setSignatureInfoEncoding(new Blob(
                    experimentalSignatureInfoNoSignatureType, false), -1);
            signature.setSignature(signatureValue);
            freshData.setSignature(signature);
            bool gotError = true;
            try {
                freshData.wireEncode();
                gotError = false;
            } catch (Exception ex_0) {
            }
            if (!gotError)
                Assert.Fail("Expected encoding error for experimentalSignatureInfoNoSignatureType");

            signature = new GenericSignature();
            signature.setSignatureInfoEncoding(new Blob(
                    experimentalSignatureInfoBadTlv, false), -1);
            signature.setSignature(signatureValue);
            freshData.setSignature(signature);
            gotError = true;
            try {
                freshData.wireEncode();
                gotError = false;
            } catch (Exception ex_1) {
            }
            if (!gotError)
                Assert.Fail("Expected encoding error for experimentalSignatureInfoBadTlv");
        }