当前位置: 首页>>代码示例>>Java>>正文


Java PGPSecretKey.extractPrivateKey方法代码示例

本文整理汇总了Java中org.spongycastle.openpgp.PGPSecretKey.extractPrivateKey方法的典型用法代码示例。如果您正苦于以下问题:Java PGPSecretKey.extractPrivateKey方法的具体用法?Java PGPSecretKey.extractPrivateKey怎么用?Java PGPSecretKey.extractPrivateKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.spongycastle.openpgp.PGPSecretKey的用法示例。


在下文中一共展示了PGPSecretKey.extractPrivateKey方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
 
开发者ID:mosamabinomar,项目名称:RootPGPExplorer,代码行数:20,代码来源:KeyManagement.java

示例2: 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));
}
 
开发者ID:mosamabinomar,项目名称:RootPGPExplorer,代码行数:24,代码来源:MyPGPUtil.java

示例3: 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;
}
 
开发者ID:cpoppema,项目名称:pass-mobile-android,代码行数:19,代码来源:PgpHelper.java

示例4: createCertificate

import org.spongycastle.openpgp.PGPSecretKey; //导入方法依赖的package包/类
public static X509Certificate createCertificate(PGPPublicKeyRing publicKeyring, PGPSecretKey secretKey, String passphrase)
    throws PGPException, InvalidKeyException, IllegalStateException,
    NoSuchAlgorithmException, SignatureException, CertificateException,
    NoSuchProviderException, IOException, OperatorCreationException {

    // extract the private key
    PGPDigestCalculatorProvider sha1Calc = new JcaPGPDigestCalculatorProviderBuilder().build();
    PBESecretKeyDecryptor decryptor = new JcePBESecretKeyDecryptorBuilder(sha1Calc)
        .setProvider(PGP.PROVIDER)
        .build(passphrase.toCharArray());

    PGPPrivateKey privateKey = secretKey.extractPrivateKey(decryptor);
    return createCertificate(publicKeyring, privateKey);

}
 
开发者ID:kontalk,项目名称:androidclient,代码行数:16,代码来源:X509Bridge.java

示例5: createCertificate

import org.spongycastle.openpgp.PGPSecretKey; //导入方法依赖的package包/类
public static X509Certificate createCertificate(PGPPublicKeyRing publicKeyring, PGPSecretKey secretKey, String passphrase, String subjectAltName)
        throws PGPException, InvalidKeyException, IllegalStateException,
        NoSuchAlgorithmException, SignatureException, CertificateException,
        NoSuchProviderException, IOException {

    // extract the private key
    PGPDigestCalculatorProvider sha1Calc = new JcaPGPDigestCalculatorProviderBuilder().build();
    PBESecretKeyDecryptor decryptor = new JcePBESecretKeyDecryptorBuilder(sha1Calc)
        .setProvider(PGP.PROVIDER)
        .build(passphrase.toCharArray());

    PGPPrivateKey privateKey = secretKey.extractPrivateKey(decryptor);
    return createCertificate(publicKeyring, privateKey, subjectAltName);

}
 
开发者ID:ShadiNachat,项目名称:Chatting-App-,代码行数:16,代码来源:X509Bridge.java

示例6: 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
 * @throws PGPException
 * @throws NoSuchProviderException
 */
public 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(pass, "SC");
}
 
开发者ID:snuk182,项目名称:aceim,代码行数:24,代码来源:EncryptionUtils.java

示例7: getPrivateKey

import org.spongycastle.openpgp.PGPSecretKey; //导入方法依赖的package包/类
private static PGPPrivateKey getPrivateKey(PGPSecretKeyRing keyRing, long keyID, char[] pass) throws PGPException {
    PGPSecretKey secretKey = keyRing.getSecretKey(keyID);
    PBESecretKeyDecryptor decryptor = new BcPBESecretKeyDecryptorBuilder(new BcPGPDigestCalculatorProvider()).build(pass);
    return secretKey.extractPrivateKey(decryptor);
}
 
开发者ID:guardianproject,项目名称:proofmode,代码行数:6,代码来源:PgpUtils.java

示例8: sign

import org.spongycastle.openpgp.PGPSecretKey; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
private static String sign(String stanza, String keyPath, char[] pass) throws IOException, NoSuchAlgorithmException, NoSuchProviderException, PGPException, SignatureException {
	if (stanza == null) {
		stanza = "";
	}

	PGPSecretKey pgpSecKey = EncryptionUtils.readSecretKey(keyPath);
	PGPPrivateKey pgpPrivKey = pgpSecKey.extractPrivateKey(new JcePBESecretKeyDecryptorBuilder().setProvider("SC").build(pass));
	PGPSignatureGenerator sGen = new PGPSignatureGenerator(new JcaPGPContentSignerBuilder(pgpSecKey.getPublicKey().getAlgorithm(), PGPUtil.SHA1).setProvider("SC"));
	PGPSignatureSubpacketGenerator spGen = new PGPSignatureSubpacketGenerator();

	sGen.init(PGPSignature.CANONICAL_TEXT_DOCUMENT, pgpPrivKey);

	Iterator it = pgpSecKey.getPublicKey().getUserIDs();
	if (it.hasNext()) {
		spGen.setSignerUserID(false, (String) it.next());
		sGen.setHashedSubpackets(spGen.generate());
	}

	InputStream fIn = new BufferedInputStream(new ByteArrayInputStream(stanza.getBytes()));
	ByteArrayOutputStream out = new ByteArrayOutputStream();
	ArmoredOutputStream aOut = new ArmoredOutputStream(out);

	aOut.beginClearText(PGPUtil.SHA1);

	//
	// note the last \n/\r/\r\n in the file is ignored
	//
	ByteArrayOutputStream lineOut = new ByteArrayOutputStream();
	int lookAhead = readInputLine(lineOut, fIn);

	processLine(aOut, sGen, lineOut.toByteArray());

	if (lookAhead != -1) {
		do {
			lookAhead = readInputLine(lineOut, lookAhead, fIn);

			sGen.update((byte) '\r');
			sGen.update((byte) '\n');

			processLine(aOut, sGen, lineOut.toByteArray());
		} while (lookAhead != -1);
	}

	fIn.close();

	aOut.endClearText();

	BCPGOutputStream bOut = new BCPGOutputStream(aOut);

	sGen.generate().encode(bOut);

	aOut.close();

	String signed = new String(out.toByteArray());

	bOut.close();

	return EncryptedDataProvider.removeHeaderFooter(signed);

}
 
开发者ID:snuk182,项目名称:aceim,代码行数:62,代码来源:SignedPresence.java


注:本文中的org.spongycastle.openpgp.PGPSecretKey.extractPrivateKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。