List of usage examples for org.bouncycastle.openpgp.operator.jcajce JcaPGPKeyConverter JcaPGPKeyConverter
JcaPGPKeyConverter
From source file:com.goodvikings.cryptim.api.KeyRing.java
License:BEER-WARE LICENSE
private byte[] ASN1EncodeKeys() throws IOException, PGPException { JcaPGPKeyConverter converter = new JcaPGPKeyConverter(); PrivateKey priv = converter.getPrivateKey(kp.getPrivateKey()); PublicKey pub = converter.getPublicKey(kp.getPublicKey()); ASN1EncodableVector pubSeq = new ASN1EncodableVector(); for (String jid : keys.keySet()) { pubSeq.add(new DERSequence(new ASN1Encodable[] { new DERUTF8String(jid), new DERUTF8String(nicks.get(jid)), new DERUTCTime(keys.get(jid).getCreationTime()), new DEROctetString(converter.getPublicKey(keys.get(jid)).getEncoded()) })); }/*from w w w . ja v a 2 s. c om*/ DERSequence seq = new DERSequence(new ASN1Encodable[] { new DERSequence(new ASN1Encodable[] { new DERUTCTime(kp.getPublicKey().getCreationTime()), new DEROctetString(pub.getEncoded()) }), new DEROctetString(priv.getEncoded()), new DERSequence(pubSeq) }); return seq.getEncoded(); }
From source file:com.goodvikings.cryptim.api.KeyRing.java
License:BEER-WARE LICENSE
private void ASN1DecodeKeys(byte[] plain) throws IOException, PGPException, NoSuchProviderException, ParseException, InvalidKeyException, NoSuchAlgorithmException, InvalidKeySpecException { JcaPGPKeyConverter converter = new JcaPGPKeyConverter(); ASN1Sequence seq = (ASN1Sequence) new ASN1InputStream(new ByteArrayInputStream(plain)).readObject(); PGPPublicKey pub = converter.getPGPPublicKey(PGPPublicKey.RSA_GENERAL, new RSAPublicKeyImpl( ((ASN1OctetString) ((ASN1Sequence) seq.getObjectAt(0)).getObjectAt(1)).getOctets()), ((ASN1UTCTime) ((ASN1Sequence) seq.getObjectAt(0)).getObjectAt(0)).getAdjustedDate()); kp = new PGPKeyPair(pub, converter.getPGPPrivateKey(pub, KeyFactory.getInstance("RSA") .generatePrivate(new PKCS8EncodedKeySpec(((ASN1OctetString) seq.getObjectAt(1)).getOctets())))); ASN1Sequence keySeq = (ASN1Sequence) seq.getObjectAt(2); for (int i = 0; i < keySeq.size(); i++) { keys.put(((DERUTF8String) ((ASN1Sequence) keySeq.getObjectAt(i)).getObjectAt(0)).getString(), converter.getPGPPublicKey(PGPPublicKey.RSA_GENERAL, new RSAPublicKeyImpl( ((ASN1OctetString) ((ASN1Sequence) keySeq.getObjectAt(i)).getObjectAt(3)).getOctets()), ((ASN1UTCTime) ((ASN1Sequence) keySeq.getObjectAt(i)).getObjectAt(2)) .getAdjustedDate())); nicks.put(((DERUTF8String) ((ASN1Sequence) keySeq.getObjectAt(i)).getObjectAt(0)).getString(), ((DERUTF8String) ((ASN1Sequence) keySeq.getObjectAt(i)).getObjectAt(1)).getString()); }// w ww .j ava 2s. c om }
From source file:com.goodvikings.cryptim.api.KeyRing.java
License:BEER-WARE LICENSE
private boolean testKeyRing() throws BadPaddingException, IllegalBlockSizeException, InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, NoSuchProviderException, PGPException { JcaPGPKeyConverter conv = new JcaPGPKeyConverter(); PublicKey pub = conv.getPublicKey(kp.getPublicKey()); PrivateKey priv = conv.getPrivateKey(kp.getPrivateKey()); String testData = "The quick brown fox jumps over the lazy dog."; Cipher enc = Cipher.getInstance(pub.getAlgorithm(), PROVIDER); enc.init(Cipher.ENCRYPT_MODE, pub); byte[] ciphertext = enc.doFinal(testData.getBytes()); Cipher dec = Cipher.getInstance(pub.getAlgorithm(), PROVIDER); dec.init(Cipher.DECRYPT_MODE, priv); return new String(dec.doFinal(ciphertext)).equals(testData); }
From source file:org.kontalk.certgen.PGP.java
License:Open Source License
private static void ensureKeyConverter() { if (sKeyConverter == null) sKeyConverter = new JcaPGPKeyConverter().setProvider(PGP.PROVIDER); }
From source file:org.kontalk.crypto.PGPUtils.java
License:Open Source License
private static void ensureKeyConverter() { if (sKeyConverter == null) sKeyConverter = new JcaPGPKeyConverter().setProvider(PGPUtils.PROVIDER); }
From source file:org.kontalk.xmppserver.pgp.PGPUtils.java
License:Open Source License
private static void ensureKeyConverter() { if (sKeyConverter == null) sKeyConverter = new JcaPGPKeyConverter().setProvider(org.kontalk.xmppserver.Security.PROVIDER); }
From source file:org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey.java
License:Open Source License
public RSAPrivateCrtKey getCrtSecretKey() throws PgpGeneralException { if (mPrivateKeyState == PRIVATE_KEY_STATE_LOCKED) { throw new PgpGeneralException("Cannot get secret key attributes while key is locked."); }/*from w w w . ja v a 2 s. c o m*/ if (mPrivateKeyState == PRIVATE_KEY_STATE_DIVERT_TO_CARD) { throw new PgpGeneralException("Cannot get secret key attributes of divert-to-card key."); } JcaPGPKeyConverter keyConverter = new JcaPGPKeyConverter(); PrivateKey retVal; try { retVal = keyConverter.getPrivateKey(mPrivateKey); } catch (PGPException e) { throw new PgpGeneralException("Error converting private key!", e); } return (RSAPrivateCrtKey) retVal; }