package net.i2p.data; /* * free (adj.): unencumbered; not under the control of others * Written by str4d in 2015 and released into the public domain * with no warranty of any kind, either expressed or implied. * It probably won't make your computer catch on fire, or eat * your children, but it might. Use at your own risk. * */ import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; import net.i2p.crypto.EncType; import net.i2p.crypto.SigType; import junit.framework.TestCase; /** * @author str4d */ public class KeyCertificateTest extends TestCase { private static final byte[] P256_PAYLOAD = new byte[] { 0, (byte) (SigType.ECDSA_SHA256_P256.getCode()), 0, (byte) (EncType.EC_P256.getCode()) }; private static final byte[] P521_PAYLOAD = new byte[] { 0, (byte) (SigType.ECDSA_SHA512_P521.getCode()), 0, (byte) (EncType.ELGAMAL_2048.getCode()), 0, 0, 0, 0 }; public void testFromP256Payload() throws DataFormatException { KeyCertificate cert = new KeyCertificate(P256_PAYLOAD); assertThat(cert.getSigTypeCode(), is(equalTo(SigType.ECDSA_SHA256_P256.getCode()))); assertThat(cert.getCryptoTypeCode(), is(equalTo(EncType.EC_P256.getCode()))); assertThat(cert.getExtraSigningKeyData(), is(nullValue())); } public void testFromEd25519Payload() throws DataFormatException { KeyCertificate cert = new KeyCertificate(P521_PAYLOAD); assertThat(cert.getSigTypeCode(), is(equalTo(SigType.ECDSA_SHA512_P521.getCode()))); assertThat(cert.getCryptoTypeCode(), is(equalTo(EncType.ELGAMAL_2048.getCode()))); assertThat(cert.getExtraSigningKeyData().length, is(4)); } }