1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2024-11-29 07:22:07 +01:00

Merge pull request #505 from vanitasvitae/bumpPgpainless

Bump PGPainless to 0.2.19
This commit is contained in:
Florian Schmaus 2021-11-01 17:27:07 +01:00 committed by GitHub
commit 18b25902c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 13 deletions

View file

@ -8,9 +8,10 @@ dependencies {
api project(':smack-extensions') api project(':smack-extensions')
api project(':smack-experimental') api project(':smack-experimental')
api 'org.pgpainless:pgpainless-core:0.2.8' api 'org.pgpainless:pgpainless-core:0.2.19'
testImplementation "org.bouncycastle:bcprov-jdk15on:${bouncyCastleVersion}" testImplementation "org.bouncycastle:bcprov-jdk15on:${bouncyCastleVersion}"
testImplementation 'ch.qos.logback:logback-classic:1.2.6'
testFixturesApi(testFixtures(project(":smack-core"))) testFixturesApi(testFixtures(project(":smack-core")))
testImplementation group: 'commons-io', name: 'commons-io', version: "$commonsIoVersion" testImplementation group: 'commons-io', name: 'commons-io', version: "$commonsIoVersion"

View file

@ -29,7 +29,6 @@ import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException.XMPPErrorException; import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.util.Objects; import org.jivesoftware.smack.util.Objects;
import org.jivesoftware.smack.util.stringencoder.Base64; import org.jivesoftware.smack.util.stringencoder.Base64;
import org.jivesoftware.smackx.ox.OpenPgpContact; import org.jivesoftware.smackx.ox.OpenPgpContact;
import org.jivesoftware.smackx.ox.OpenPgpMessage; import org.jivesoftware.smackx.ox.OpenPgpMessage;
import org.jivesoftware.smackx.ox.OpenPgpSelf; import org.jivesoftware.smackx.ox.OpenPgpSelf;
@ -90,7 +89,7 @@ public class PainlessOpenPgpProvider implements OpenPgpProvider {
SigningOptions signOpts = new SigningOptions(); SigningOptions signOpts = new SigningOptions();
signOpts.addInlineSignature(getStore().getKeyRingProtector(), self.getSigningKeyRing(), signOpts.addInlineSignature(getStore().getKeyRingProtector(), self.getSigningKeyRing(),
"xmpp:" + self.getJid().toString(), DocumentSignatureType.BINARY_DOCUMENT); DocumentSignatureType.BINARY_DOCUMENT);
EncryptionStream cipherStream = PGPainless.encryptAndOrSign() EncryptionStream cipherStream = PGPainless.encryptAndOrSign()
.onOutputStream(cipherText) .onOutputStream(cipherText)

View file

@ -47,29 +47,27 @@ import org.jivesoftware.smackx.ox.store.filebased.FileBasedOpenPgpStore;
import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPPublicKeyRing;
import org.bouncycastle.openpgp.PGPSecretKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing;
import org.junit.AfterClass; import org.junit.jupiter.api.AfterEach;
import org.junit.BeforeClass; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.jxmpp.jid.BareJid; import org.jxmpp.jid.BareJid;
import org.jxmpp.jid.Jid; import org.jxmpp.jid.Jid;
import org.jxmpp.jid.JidTestUtil; import org.jxmpp.jid.JidTestUtil;
import org.pgpainless.key.OpenPgpFingerprint;
import org.pgpainless.key.OpenPgpV4Fingerprint; import org.pgpainless.key.OpenPgpV4Fingerprint;
import org.pgpainless.key.protection.UnprotectedKeysProtector; import org.pgpainless.key.protection.UnprotectedKeysProtector;
import org.pgpainless.key.util.KeyRingUtils; import org.pgpainless.key.util.KeyRingUtils;
public class PainlessOpenPgpProviderTest extends SmackTestSuite { public class PainlessOpenPgpProviderTest extends SmackTestSuite {
private static final File storagePath; private static File storagePath;
private static final BareJid alice = JidTestUtil.BARE_JID_1; private static final BareJid alice = JidTestUtil.BARE_JID_1;
private static final BareJid bob = JidTestUtil.BARE_JID_2; private static final BareJid bob = JidTestUtil.BARE_JID_2;
static { @BeforeEach
@AfterEach
public void deletePath() throws IOException {
storagePath = new File(org.apache.commons.io.FileUtils.getTempDirectory(), "smack-painlessprovidertest"); storagePath = new File(org.apache.commons.io.FileUtils.getTempDirectory(), "smack-painlessprovidertest");
}
@BeforeClass
@AfterClass
public static void deletePath() throws IOException {
org.apache.commons.io.FileUtils.deleteDirectory(storagePath); org.apache.commons.io.FileUtils.deleteDirectory(storagePath);
} }
@ -142,7 +140,7 @@ public class PainlessOpenPgpProviderTest extends SmackTestSuite {
// Decrypt and Verify // Decrypt and Verify
decrypted = bobProvider.decryptAndOrVerify(bobConnection, encrypted.getElement(), bobSelf, aliceForBob); decrypted = bobProvider.decryptAndOrVerify(bobConnection, encrypted.getElement(), bobSelf, aliceForBob);
OpenPgpV4Fingerprint decryptionFingerprint = decrypted.getMetadata().getDecryptionKey().getFingerprint(); OpenPgpFingerprint decryptionFingerprint = decrypted.getMetadata().getDecryptionKey().getFingerprint();
assertTrue(bobSelf.getSecretKeys().contains(decryptionFingerprint.getKeyId())); assertTrue(bobSelf.getSecretKeys().contains(decryptionFingerprint.getKeyId()));
assertTrue(decrypted.getMetadata().containsVerifiedSignatureFrom(alicePubKeys)); assertTrue(decrypted.getMetadata().containsVerifiedSignatureFrom(alicePubKeys));

View file

@ -0,0 +1,21 @@
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>%blue(%-5level) %green(%logger{35}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
<target>System.err</target>
<encoder>
<pattern>%blue(%-5level) %green(%logger{35}) - %msg %n</pattern>
</encoder>
</appender>
<root level="warn">
<appender-ref ref="STDERR" />
</root>
</configuration>