public void GenerateSignature() { var certificate = new SignedStaticApplicationData { HashAlgorithmIndicator = 0x01, DataAuthenticationCode = "2014".FromHexa(), StaticDataToBeAuthenticated = "F04341454E 01".FromHexa() }; var bytes = certificate.GenerateCertificate(new PublicKey(IssuerModulus, IssuerPrivateExponent)); Console.WriteLine(bytes.ToHexa('\0')); Assert.AreEqual(StaticDataAuthenticationCertificateBytes, bytes.ToHexa('\0')); }
public void RecoverFromSignature() { var certificate = new SignedStaticApplicationData(); certificate.RecoverFromSignature(StaticDataAuthenticationCertificateBytes.FromHexa(), new PublicKey(IssuerModulus, IssuerPublicExponent)); Assert.AreEqual(0x6A, certificate.DataHeader); Assert.AreEqual(0xBC, certificate.DataTrailer); Assert.AreEqual(0x03, certificate.DataFormat); Assert.AreEqual(0x01, certificate.HashAlgorithmIndicator); Assert.AreEqual(Hash, certificate.HashResult.ToHexa('\0')); Assert.AreEqual(Recovered, certificate.Recovered.ToHexa('\0')); Assert.AreEqual("2014", certificate.DataAuthenticationCode.ToHexa('\0')); Assert.AreEqual(Enumerable.Repeat((byte)0xBB, (IssuerModulus.Length - 2) / 2 - 26).ToArray(), certificate.PadPattern); }