• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java PGPSecretKey类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



PGPSecretKey类属于org.spongycastle.openpgp包,在下文中一共展示了PGPSecretKey类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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: 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;
}
 
开发者ID:cpoppema,项目名称:pass-mobile-android,代码行数:17,代码来源:CreateKeyTaskLoader.java


示例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.");
}
 
开发者ID:kontalk,项目名称:androidclient,代码行数:26,代码来源:PGP.java


示例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));
}
 
开发者ID:kontalk,项目名称:androidclient,代码行数:18,代码来源:X509Bridge.java


示例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.");
}
 
开发者ID:ShadiNachat,项目名称:Chatting-App-,代码行数:27,代码来源:PGP.java


示例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);
}
 
开发者ID:ShadiNachat,项目名称:Chatting-App-,代码行数:19,代码来源:X509Bridge.java


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


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


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


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


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


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


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


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


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


示例16: onLoaderReset

import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
@Override
public void onLoaderReset(Loader<PGPSecretKey> loader) {
    Log.d(TAG, "onLoaderReset");

    // Close activity, returning to the SettingsActivity.
    // TODO: try again ?
    finish();
}
 
开发者ID:cpoppema,项目名称:pass-mobile-android,代码行数:9,代码来源:CreateKeyActivity.java


示例17: 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


示例18: 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;
}
 
开发者ID:snuk182,项目名称:aceim,代码行数:8,代码来源:EncryptionUtils.java


示例19: 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


示例20: getKeyID

import org.spongycastle.openpgp.PGPSecretKey; //导入依赖的package包/类
/**
 * Function to get the (hexadecimal) key id from the given key.
 */
public static String getKeyID(PGPSecretKey secretKey) {
    return Long.toHexString(secretKey.getKeyID()).toUpperCase();
}
 
开发者ID:cpoppema,项目名称:pass-mobile-android,代码行数:7,代码来源:PgpHelper.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java BindingGroup类代码示例发布时间:2022-05-22
下一篇:
Java FSAclBaseTest类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap