本文整理汇总了Java中org.spongycastle.openpgp.PGPSecretKey类的典型用法代码示例。如果您正苦于以下问题:Java PGPSecretKey类的具体用法?Java PGPSecretKey怎么用?Java PGPSecretKey使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PGPSecretKey类属于org.spongycastle.openpgp包,在下文中一共展示了PGPSecretKey类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: findSecretKey
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
public static PGPPrivateKey findSecretKey(PGPSecretKeyRingCollection pgpSec, long keyID, char[] pass)
throws PGPException, NoSuchProviderException
{
PGPSecretKey pgpSecKey = pgpSec.getSecretKey(keyID);
PGPPrivateKey x;
if (pgpSecKey == null)
{
return null;
}
try{
Log.d("decrypt", "findSecretKey: fixing something");
x =pgpSecKey.extractPrivateKey(new JcePBESecretKeyDecryptorBuilder().setProvider("BC").build(pass));
}catch (Exception ex){
ex.printStackTrace();
return null;
}
return x;
}
示例2: loadInBackground
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
@Override
public PGPSecretKey loadInBackground() {
Log.d(TAG, "loadInBackground");
// Generate keypair.
PGPSecretKey keyPair = PgpHelper.generateKeyPair(mKeyName, mPassphrase);
// When stopped, do not return a result.
if (isStopped || isLoadInBackgroundCanceled()) {
Log.d(TAG, "stopped");
return null;
}
Log.d(TAG, "generated");
return keyPair;
}
示例3: convertPrivateKey
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public static PrivateKey convertPrivateKey(byte[] privateKeyData, String passphrase)
throws PGPException, IOException {
PGPDigestCalculatorProvider digestCalc = new JcaPGPDigestCalculatorProviderBuilder().build();
PBESecretKeyDecryptor decryptor = new JcePBESecretKeyDecryptorBuilder(digestCalc)
.setProvider(PGP.PROVIDER)
.build(passphrase.toCharArray());
// load the secret key ring
PGPSecretKeyRing secRing = new PGPSecretKeyRing(privateKeyData, sFingerprintCalculator);
// search and decrypt the master (signing key)
// secret keys
Iterator<PGPSecretKey> skeys = secRing.getSecretKeys();
while (skeys.hasNext()) {
PGPSecretKey key = skeys.next();
PGPSecretKey sec = secRing.getSecretKey();
if (key.isMasterKey())
return convertPrivateKey(sec.extractPrivateKey(decryptor));
}
throw new PGPException("no suitable private key found.");
}
示例4: createCertificate
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
public static X509Certificate createCertificate(byte[] privateKeyData, byte[] publicKeyData, String passphrase)
throws PGPException, IOException, InvalidKeyException, IllegalStateException,
NoSuchAlgorithmException, SignatureException, CertificateException, NoSuchProviderException, OperatorCreationException {
PGPSecretKeyRing secRing = new PGPSecretKeyRing(privateKeyData, sFingerprintCalculator);
PGPPublicKeyRing pubRing = new PGPPublicKeyRing(publicKeyData, sFingerprintCalculator);
PGPDigestCalculatorProvider sha1Calc = new JcaPGPDigestCalculatorProviderBuilder().build();
PBESecretKeyDecryptor decryptor = new JcePBESecretKeyDecryptorBuilder(sha1Calc)
.setProvider(PGP.PROVIDER)
.build(passphrase.toCharArray());
// secret key
PGPSecretKey secKey = secRing.getSecretKey();
return createCertificate(pubRing, secKey.extractPrivateKey(decryptor));
}
示例5: convertPrivateKey
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public static PrivateKey convertPrivateKey(byte[] privateKeyData, String passphrase)
throws PGPException, IOException {
PGPDigestCalculatorProvider sha1Calc = new JcaPGPDigestCalculatorProviderBuilder().build();
PBESecretKeyDecryptor decryptor = new JcePBESecretKeyDecryptorBuilder(sha1Calc)
.setProvider(PGP.PROVIDER)
.build(passphrase.toCharArray());
// load the secret key ring
KeyFingerPrintCalculator fpr = new BcKeyFingerprintCalculator();
PGPSecretKeyRing secRing = new PGPSecretKeyRing(privateKeyData, fpr);
// search and decrypt the master (signing key)
// secret keys
Iterator<PGPSecretKey> skeys = secRing.getSecretKeys();
while (skeys.hasNext()) {
PGPSecretKey key = skeys.next();
PGPSecretKey sec = secRing.getSecretKey();
if (key.isMasterKey())
return convertPrivateKey(sec.extractPrivateKey(decryptor));
}
throw new PGPException("no suitable private key found.");
}
示例6: createCertificate
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
public static X509Certificate createCertificate(byte[] privateKeyData, byte[] publicKeyData, String passphrase, String subjectAltName)
throws PGPException, IOException, InvalidKeyException, IllegalStateException,
NoSuchAlgorithmException, SignatureException, CertificateException, NoSuchProviderException {
KeyFingerPrintCalculator fpr = new BcKeyFingerprintCalculator();
PGPSecretKeyRing secRing = new PGPSecretKeyRing(privateKeyData, fpr);
PGPPublicKeyRing pubRing = new PGPPublicKeyRing(publicKeyData, fpr);
PGPDigestCalculatorProvider sha1Calc = new JcaPGPDigestCalculatorProviderBuilder().build();
PBESecretKeyDecryptor decryptor = new JcePBESecretKeyDecryptorBuilder(sha1Calc)
.setProvider(PGP.PROVIDER)
.build(passphrase.toCharArray());
// secret key
PGPSecretKey secKey = secRing.getSecretKey();
return createCertificate(pubRing, secKey.extractPrivateKey(decryptor), subjectAltName);
}
示例7: doInBackground
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
@Override
protected Boolean doInBackground(Void... voids) {
try {
PGPSecretKey key=MyPGPUtil.readSecretKey(mSecretKeyFilename);
// if secret key is correct get the public key from it and save it
publishProgress("Getting public key");
PGPPublicKey pub=key.getPublicKey();
//output keys in ascii armored format
File file = new File(getFilesDir(),"pub.asc");
ArmoredOutputStream pubOut = new ArmoredOutputStream(new FileOutputStream(file));
pub.encode(pubOut);
pubOut.close();
publishProgress("Setting up database");
DatabaseHandler db=new DatabaseHandler(KeySelectActivity.this,SharedData.DB_PASSWORD,true);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ArmoredOutputStream secOut = new ArmoredOutputStream(outputStream);
key.encode(secOut);
secOut.close();
byte[] test=outputStream.toByteArray();
//call the db methods to store
db.insertSecKey(SharedData.USERNAME,test);
//save shared preferences
SharedPreferences prefs=getSharedPreferences("done", Context.MODE_PRIVATE);
SharedPreferences.Editor editor=prefs.edit();
editor.putBoolean("keys_gen",true);
editor.apply();
editor.commit();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
示例8: findSecretKey
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
/**
* Search a secret key ring collection for a secret key corresponding to keyID if it
* exists.
*
* @param pgpSec a secret key ring collection.
* @param keyID keyID we want.
* @param pass passphrase to decrypt secret key with.
* @return the private key.
* @throws PGPException
* @throws NoSuchProviderException
*/
static PGPPrivateKey findSecretKey(PGPSecretKeyRingCollection pgpSec, long keyID, char[] pass)
throws PGPException, NoSuchProviderException
{
PGPSecretKey pgpSecKey = pgpSec.getSecretKey(keyID);
if (pgpSecKey == null)
{
return null;
}
return pgpSecKey.extractPrivateKey(new JcePBESecretKeyDecryptorBuilder().setProvider("BC").build(pass));
}
示例9: readSecretKey
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
public static PGPSecretKey readSecretKey(String fileName) throws IOException, PGPException
{
InputStream keyIn = new BufferedInputStream(new FileInputStream(fileName));
PGPSecretKey secKey = readSecretKey(keyIn);
keyIn.close();
return secKey;
}
示例10: extractArmoredPublicKey
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
public static String extractArmoredPublicKey(PGPSecretKey secretKey) {
try {
ByteArrayOutputStream pubStream = new ByteArrayOutputStream();
ArmoredOutputStream pubArmorStream = new ArmoredOutputStream(pubStream);
secretKey.getPublicKey().encode(pubArmorStream);
pubArmorStream.close();
return new String(pubStream.toByteArray(), Charset.forName(CHARSET));
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
示例11: extractArmoredPrivateKey
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
public static String extractArmoredPrivateKey(PGPSecretKey secretKey) {
try {
ByteArrayOutputStream secretStream = new ByteArrayOutputStream();
ArmoredOutputStream secretArmorStream = new ArmoredOutputStream(secretStream);
secretKey.encode(secretArmorStream);
secretArmorStream.close();
return new String(secretStream.toByteArray(), Charset.forName(CHARSET));
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
示例12: extractPrivateKey
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
/**
* Function to turn the private key into one that can be used for decrypting.
*
* @param passphrase Passphrase that unlocks the private key.
*/
public static PGPPrivateKey extractPrivateKey(byte[] privateKey, String passphrase) {
PGPSecretKey secretKey = getSecretKey(privateKey);
try {
PBESecretKeyDecryptor decrypterFactory = new JcePBESecretKeyDecryptorBuilder()
.setProvider(SECURITY_PROVIDER)
.build(passphrase.toCharArray());
return secretKey.extractPrivateKey(decrypterFactory);
} catch (PGPException e) {
e.printStackTrace();
}
return null;
}
示例13: putKeyPair
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
public void putKeyPair(PGPSecretKey keyPair) {
String publicKey = PgpHelper.extractArmoredPublicKey(keyPair);
String privateKey = PgpHelper.extractArmoredPrivateKey(keyPair);
String keyID = PgpHelper.getKeyID(keyPair);
this.putArmoredPublicKey(publicKey);
this.putArmoredPrivateKey(privateKey);
this.putKeyID(keyID);
}
示例14: onCreateLoader
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
@Override
public Loader<PGPSecretKey> onCreateLoader(int id, Bundle args) {
Log.d(TAG, "onCreateLoader");
// Toggle views and create loader.
showProgress(true);
return new CreateKeyTaskLoader(this, mKeyNameView.getText().toString(), mPassphraseView.getText().toString());
}
示例15: onLoadFinished
import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
@Override
public void onLoadFinished(Loader<PGPSecretKey> loader, PGPSecretKey keyPair) {
Log.d(TAG, "onLoadFinished");
if (keyPair == null) {
showProgress(false);
// TODO: No result but this isn't a cancellation by user. Try again ? automatically ?
} else {
// Save key data.
mStorageHelper.putKeyPair(keyPair);
// Close activity, returning to the SettingsActivity.
finish();
}
}