本文整理汇总了Java中org.spongycastle.openpgp.PGPObjectFactory类的典型用法代码示例。如果您正苦于以下问题:Java PGPObjectFactory类的具体用法?Java PGPObjectFactory怎么用?Java PGPObjectFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PGPObjectFactory类属于org.spongycastle.openpgp包,在下文中一共展示了PGPObjectFactory类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: signPublicKey
import org.spongycastle.openpgp.PGPObjectFactory; //导入依赖的package包/类
/**
* Searches for the master (signing) key in the given public keyring and
* signs it with our master key.
* @return the same public keyring with the signed key. This is suitable to
* be imported directly into GnuPG.
* @see #signPublicKey(PGPPublicKey, String)
*/
@SuppressWarnings("unchecked")
public PGPPublicKeyRing signPublicKey(byte[] publicKeyring, String id)
throws PGPException, IOException, SignatureException {
PGPObjectFactory reader = new PGPObjectFactory(publicKeyring);
Object o = reader.nextObject();
while (o != null) {
if (o instanceof PGPPublicKeyRing) {
PGPPublicKeyRing pubRing = (PGPPublicKeyRing) o;
Iterator<PGPPublicKey> iter = pubRing.getPublicKeys();
while (iter.hasNext()) {
PGPPublicKey pk = iter.next();
if (pk.isMasterKey()) {
PGPPublicKey signed = signPublicKey(pk, id);
return PGPPublicKeyRing.insertPublicKey(pubRing, signed);
}
}
}
o = reader.nextObject();
}
throw new PGPException("invalid keyring data.");
}
开发者ID:ShadiNachat,项目名称:Chatting-App-,代码行数:31,代码来源:PersonalKey.java
示例2: readPublicKeyring
import org.spongycastle.openpgp.PGPObjectFactory; //导入依赖的package包/类
public static PGPPublicKeyRing readPublicKeyring(byte[] publicKeyring) throws IOException, PGPException {
PGPObjectFactory reader = new PGPObjectFactory(publicKeyring, sFingerprintCalculator);
Object o = reader.nextObject();
while (o != null) {
if (o instanceof PGPPublicKeyRing)
return (PGPPublicKeyRing) o;
o = reader.nextObject();
}
throw new PGPException("invalid keyring data.");
}
开发者ID:kontalk,项目名称:androidclient,代码行数:13,代码来源:PGP.java
示例3: readPublicKeyring
import org.spongycastle.openpgp.PGPObjectFactory; //导入依赖的package包/类
public static PGPPublicKeyRing readPublicKeyring(byte[] publicKeyring) throws IOException, PGPException {
PGPObjectFactory reader = new PGPObjectFactory(publicKeyring);
Object o = reader.nextObject();
while (o != null) {
if (o instanceof PGPPublicKeyRing)
return (PGPPublicKeyRing) o;
o = reader.nextObject();
}
throw new PGPException("invalid keyring data.");
}
开发者ID:ShadiNachat,项目名称:Chatting-App-,代码行数:13,代码来源:PGP.java
示例4: readKeyPairFromParcel
import org.spongycastle.openpgp.PGPObjectFactory; //导入依赖的package包/类
private static PGPKeyPair readKeyPairFromParcel(Parcel in) throws IOException, PGPException {
BCPGInputStream reader = null;
long privID;
BCPGKey privData;
PublicKeyPacket privPubKey;
// rebuild private key
try {
// key ID
privID = in.readLong();
// private key data packet
int privDataLength = in.readInt();
byte[] privDataData = new byte[privDataLength];
in.readByteArray(privDataData);
// object will be read later
// public key packet
int privPubKeyLength = in.readInt();
byte[] privPubKeyData = new byte[privPubKeyLength];
in.readByteArray(privPubKeyData);
reader = new BCPGInputStream(new ByteArrayInputStream(privPubKeyData));
privPubKey = (PublicKeyPacket) reader.readPacket();
reader.close();
reader = new BCPGInputStream(new ByteArrayInputStream(privDataData));
// from PGPSecretKey
// apparently there is no way to make this dynamic
switch (privPubKey.getAlgorithm())
{
case PGPPublicKey.RSA_ENCRYPT:
case PGPPublicKey.RSA_GENERAL:
case PGPPublicKey.RSA_SIGN:
privData = new RSASecretBCPGKey(reader);
break;
case PGPPublicKey.DSA:
privData = new DSASecretBCPGKey(reader);
break;
case PGPPublicKey.ELGAMAL_ENCRYPT:
case PGPPublicKey.ELGAMAL_GENERAL:
privData = new ElGamalSecretBCPGKey(reader);
break;
case PGPPublicKey.ECDH:
case PGPPublicKey.ECDSA:
privData = new ECSecretBCPGKey(reader);
break;
default:
throw new PGPException("unknown public key algorithm encountered");
}
reader.close();
}
finally {
try {
if (reader != null)
reader.close();
}
catch (IOException ignored) {
}
}
PGPPrivateKey priv = new PGPPrivateKey(privID, privPubKey, privData);
// rebuild public key
// public key data
int pubKeyLength = in.readInt();
byte[] pubKeyData = new byte[pubKeyLength];
in.readByteArray(pubKeyData);
PGPObjectFactory f = new PGPObjectFactory(pubKeyData, sFingerprintCalculator);
PGPPublicKeyRing pubring = (PGPPublicKeyRing) f.nextObject();
PGPPublicKey pub = pubring.getPublicKey();
return new PGPKeyPair(pub, priv);
}
开发者ID:kontalk,项目名称:androidclient,代码行数:79,代码来源:PGP.java
注:本文中的org.spongycastle.openpgp.PGPObjectFactory类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论