/// <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_; }
/// <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_; }
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"); }