public void DataTest() { CertificateStorage storage = new CertificateStorage(); CACertificate root = new CACertificate(null, "Root"); root.CreateSelfSignature(); storage.AddRoot(root.OnlyPublicPart); var rootCrl = new RevocationList(root.Id, DateTime.Now, DateTime.Now.AddDays(1), new Guid[] { }); var signedRootCrl = new Signed<RevocationList>(rootCrl, root); storage.AddRevocationList(signedRootCrl); CACertificate intermediate = new CACertificate(null, "Intermediate"); intermediate.CreateSelfSignature(); intermediate.AddSignature(root, DateTime.Now.AddDays(1)); storage.Add(intermediate.OnlyPublicPart); var intermediateCrl = new RevocationList(intermediate.Id, DateTime.Now, DateTime.Now.AddDays(1), new Guid[] { }); var signedIntermediateCrl = new Signed<RevocationList>(intermediateCrl, intermediate); storage.AddRevocationList(signedIntermediateCrl); AdminCertificate test = new AdminCertificate(Language.English, null, "Test"); test.CreateSelfSignature(); test.AddSignature(intermediate, DateTime.Now.AddDays(1)); byte[] data = test.ToBinary(); data[data.Length - 3]++; AdminCertificate other = Serializable.FromBinary<AdminCertificate>(data); Assert.AreEqual(CertificateValidationResult.SelfsignatureInvalid, other.Validate(storage)); }