mirror of
https://github.com/pgpainless/pgpainless.git
synced 2025-12-17 09:41:08 +01:00
Source PGPObjectFactory from ImplementationProvider
This commit is contained in:
parent
1681f3934f
commit
60f7a9d9ec
5 changed files with 51 additions and 11 deletions
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
package org.pgpainless.implementation;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.security.KeyPair;
|
||||
import java.util.Date;
|
||||
|
||||
|
|
@ -11,10 +12,12 @@ import org.bouncycastle.crypto.AsymmetricCipherKeyPair;
|
|||
import org.bouncycastle.crypto.params.AsymmetricKeyParameter;
|
||||
import org.bouncycastle.openpgp.PGPException;
|
||||
import org.bouncycastle.openpgp.PGPKeyPair;
|
||||
import org.bouncycastle.openpgp.PGPObjectFactory;
|
||||
import org.bouncycastle.openpgp.PGPPrivateKey;
|
||||
import org.bouncycastle.openpgp.PGPPublicKey;
|
||||
import org.bouncycastle.openpgp.PGPSecretKey;
|
||||
import org.bouncycastle.openpgp.PGPSessionKey;
|
||||
import org.bouncycastle.openpgp.bc.BcPGPObjectFactory;
|
||||
import org.bouncycastle.openpgp.operator.KeyFingerPrintCalculator;
|
||||
import org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory;
|
||||
import org.bouncycastle.openpgp.operator.PBEKeyEncryptionMethodGenerator;
|
||||
|
|
@ -145,6 +148,16 @@ public class BcImplementationFactory extends ImplementationFactory {
|
|||
return new BcSessionKeyDataDecryptorFactory(sessionKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PGPObjectFactory getPGPObjectFactory(byte[] bytes) {
|
||||
return new BcPGPObjectFactory(bytes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PGPObjectFactory getPGPObjectFactory(InputStream inputStream) {
|
||||
return new BcPGPObjectFactory(inputStream);
|
||||
}
|
||||
|
||||
private AsymmetricCipherKeyPair jceToBcKeyPair(PublicKeyAlgorithm algorithm,
|
||||
KeyPair keyPair,
|
||||
Date creationDate) throws PGPException {
|
||||
|
|
|
|||
|
|
@ -4,11 +4,13 @@
|
|||
|
||||
package org.pgpainless.implementation;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.security.KeyPair;
|
||||
import java.util.Date;
|
||||
|
||||
import org.bouncycastle.openpgp.PGPException;
|
||||
import org.bouncycastle.openpgp.PGPKeyPair;
|
||||
import org.bouncycastle.openpgp.PGPObjectFactory;
|
||||
import org.bouncycastle.openpgp.PGPPrivateKey;
|
||||
import org.bouncycastle.openpgp.PGPPublicKey;
|
||||
import org.bouncycastle.openpgp.PGPSecretKey;
|
||||
|
|
@ -107,6 +109,10 @@ public abstract class ImplementationFactory {
|
|||
|
||||
public abstract SessionKeyDataDecryptorFactory provideSessionKeyDataDecryptorFactory(PGPSessionKey sessionKey);
|
||||
|
||||
public abstract PGPObjectFactory getPGPObjectFactory(InputStream inputStream);
|
||||
|
||||
public abstract PGPObjectFactory getPGPObjectFactory(byte[] bytes);
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getClass().getSimpleName();
|
||||
|
|
|
|||
|
|
@ -4,15 +4,18 @@
|
|||
|
||||
package org.pgpainless.implementation;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.security.KeyPair;
|
||||
import java.util.Date;
|
||||
|
||||
import org.bouncycastle.openpgp.PGPException;
|
||||
import org.bouncycastle.openpgp.PGPKeyPair;
|
||||
import org.bouncycastle.openpgp.PGPObjectFactory;
|
||||
import org.bouncycastle.openpgp.PGPPrivateKey;
|
||||
import org.bouncycastle.openpgp.PGPPublicKey;
|
||||
import org.bouncycastle.openpgp.PGPSecretKey;
|
||||
import org.bouncycastle.openpgp.PGPSessionKey;
|
||||
import org.bouncycastle.openpgp.jcajce.JcaPGPObjectFactory;
|
||||
import org.bouncycastle.openpgp.operator.KeyFingerPrintCalculator;
|
||||
import org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory;
|
||||
import org.bouncycastle.openpgp.operator.PBEKeyEncryptionMethodGenerator;
|
||||
|
|
@ -132,4 +135,14 @@ public class JceImplementationFactory extends ImplementationFactory {
|
|||
public SessionKeyDataDecryptorFactory provideSessionKeyDataDecryptorFactory(PGPSessionKey sessionKey) {
|
||||
return new JceSessionKeyDataDecryptorFactoryBuilder().build(sessionKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PGPObjectFactory getPGPObjectFactory(InputStream inputStream) {
|
||||
return new JcaPGPObjectFactory(inputStream);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PGPObjectFactory getPGPObjectFactory(byte[] bytes) {
|
||||
return new JcaPGPObjectFactory(bytes);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue