public override void PerformTest() { TypeOfBiometricData dataType = new TypeOfBiometricData(TypeOfBiometricData.HandwrittenSignature); AlgorithmIdentifier hashAlgorithm = new AlgorithmIdentifier(OiwObjectIdentifiers.IdSha1, DerNull.Instance); Asn1OctetString dataHash = new DerOctetString(GenerateHash()); BiometricData bd = new BiometricData(dataType, hashAlgorithm, dataHash); CheckConstruction(bd, dataType, hashAlgorithm, dataHash, null); DerIA5String dataUri = new DerIA5String("http://test"); bd = new BiometricData(dataType, hashAlgorithm, dataHash, dataUri); CheckConstruction(bd, dataType, hashAlgorithm, dataHash, dataUri); bd = BiometricData.GetInstance(null); if (bd != null) { Fail("null GetInstance() failed."); } try { BiometricData.GetInstance(new object()); Fail("GetInstance() failed to detect bad object."); } catch (ArgumentException) { // expected } }
private void CheckConstruction( BiometricData bd, TypeOfBiometricData dataType, AlgorithmIdentifier hashAlgorithm, Asn1OctetString dataHash, DerIA5String dataUri) { CheckValues(bd, dataType, hashAlgorithm, dataHash, dataUri); bd = BiometricData.GetInstance(bd); CheckValues(bd, dataType, hashAlgorithm, dataHash, dataUri); Asn1Sequence seq = (Asn1Sequence)Asn1Object.FromByteArray(bd.ToAsn1Object().GetEncoded()); bd = BiometricData.GetInstance(seq); CheckValues(bd, dataType, hashAlgorithm, dataHash, dataUri); }