53 lines
2.2 KiB
Java
53 lines
2.2 KiB
Java
package org.mercury_im.messenger.data.mapping;
|
|
|
|
import org.bouncycastle.openpgp.PGPException;
|
|
import org.bouncycastle.openpgp.PGPPublicKeyRing;
|
|
import org.bouncycastle.openpgp.PGPSecretKeyRing;
|
|
import org.bouncycastle.util.encoders.Base64;
|
|
import org.junit.jupiter.api.BeforeAll;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.mercury_im.messenger.data.converter.Base64PGPPublicKeyRingConverter;
|
|
import org.mercury_im.messenger.data.converter.Base64PGPSecretKeyRingConverter;
|
|
import org.pgpainless.PGPainless;
|
|
import org.pgpainless.key.collection.PGPKeyRing;
|
|
|
|
import java.io.IOException;
|
|
import java.security.InvalidAlgorithmParameterException;
|
|
import java.security.NoSuchAlgorithmException;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
public class OpenPgpKeyConverterTest {
|
|
|
|
private static PGPKeyRing keyRing;
|
|
|
|
@BeforeAll
|
|
public static void before() throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, PGPException {
|
|
keyRing = PGPainless.generateKeyRing().simpleEcKeyRing("xmpp:alice@wonderland.lit");
|
|
}
|
|
|
|
@Test
|
|
public void testPublicKeyConverter() throws IOException {
|
|
Base64PGPPublicKeyRingConverter converter = new Base64PGPPublicKeyRingConverter();
|
|
String expected = Base64.toBase64String(keyRing.getPublicKeys().getEncoded());
|
|
|
|
String base64 = converter.convertToPersisted(keyRing.getPublicKeys());
|
|
assertEquals(expected, base64);
|
|
|
|
PGPPublicKeyRing pub = converter.convertToMapped(PGPPublicKeyRing.class, base64);
|
|
assertEquals(keyRing.getPublicKeys().getPublicKey().getKeyID(), pub.getPublicKey().getKeyID());
|
|
}
|
|
|
|
@Test
|
|
public void testSecretKeyConverter() throws IOException {
|
|
Base64PGPSecretKeyRingConverter converter = new Base64PGPSecretKeyRingConverter();
|
|
String expected = Base64.toBase64String(keyRing.getSecretKeys().getEncoded());
|
|
|
|
String base64 = converter.convertToPersisted(keyRing.getSecretKeys());
|
|
assertEquals(expected, base64);
|
|
|
|
PGPSecretKeyRing sec = converter.convertToMapped(PGPSecretKeyRing.class, base64);
|
|
assertEquals(keyRing.getSecretKeys().getPublicKey().getKeyID(), sec.getPublicKey().getKeyID());
|
|
}
|
|
}
|