List of usage examples for org.bouncycastle.openpgp PGPPublicKeyRingCollection getPublicKeyRing
public PGPPublicKeyRing getPublicKeyRing(byte[] fingerprint) throws PGPException
From source file:org.jivesoftware.smackx.ox.OpenPgpContact.java
License:Apache License
/** * Return any announced public keys. This is the set returned by {@link #getAnyPublicKeys()} with non-announced * keys and keys which lack a user-id with the contacts jid removed. * * @return announced keys of the contact * * @throws IOException IO is dangerous// w ww . jav a2 s . c o m * @throws PGPException PGP is brittle */ public PGPPublicKeyRingCollection getAnnouncedPublicKeys() throws IOException, PGPException { PGPPublicKeyRingCollection anyKeys = getAnyPublicKeys(); Map<OpenPgpV4Fingerprint, Date> announced = store.getAnnouncedFingerprintsOf(jid); BareJidUserId.PubRingSelectionStrategy userIdFilter = new BareJidUserId.PubRingSelectionStrategy(); PGPPublicKeyRingCollection announcedKeysCollection = null; for (OpenPgpV4Fingerprint announcedFingerprint : announced.keySet()) { PGPPublicKeyRing ring = anyKeys.getPublicKeyRing(announcedFingerprint.getKeyId()); if (ring == null) continue; ring = BCUtil.removeUnassociatedKeysFromKeyRing(ring, ring.getPublicKey(announcedFingerprint.getKeyId())); if (!userIdFilter.accept(getJid(), ring)) { LOGGER.log(Level.WARNING, "Ignore key " + Long.toHexString(ring.getPublicKey().getKeyID()) + " as it lacks the user-id \"xmpp" + getJid().toString() + "\""); continue; } if (announcedKeysCollection == null) { announcedKeysCollection = new PGPPublicKeyRingCollection(Collections.singleton(ring)); } else { announcedKeysCollection = PGPPublicKeyRingCollection.addPublicKeyRing(announcedKeysCollection, ring); } } return announcedKeysCollection; }
From source file:org.jivesoftware.smackx.ox.store.abstr.AbstractOpenPgpKeyStore.java
License:Apache License
@Override public PGPPublicKeyRing getPublicKeyRing(BareJid owner, OpenPgpV4Fingerprint fingerprint) throws IOException, PGPException { PGPPublicKeyRingCollection publicKeyRings = getPublicKeysOf(owner); if (publicKeyRings != null) { return publicKeyRings.getPublicKeyRing(fingerprint.getKeyId()); }//w w w . j ava2 s . co m return null; }
From source file:org.jivesoftware.smackx.ox.store.abstr.AbstractOpenPgpKeyStore.java
License:Apache License
@Override public void deletePublicKeyRing(BareJid owner, OpenPgpV4Fingerprint fingerprint) throws IOException, PGPException { PGPPublicKeyRingCollection publicKeyRings = getPublicKeysOf(owner); if (publicKeyRings.contains(fingerprint.getKeyId())) { publicKeyRings = PGPPublicKeyRingCollection.removePublicKeyRing(publicKeyRings, publicKeyRings.getPublicKeyRing(fingerprint.getKeyId())); if (!publicKeyRings.iterator().hasNext()) { publicKeyRings = null;/*from w w w . ja v a 2 s. co m*/ } this.publicKeyRingCollections.put(owner, publicKeyRings); writePublicKeysOf(owner, publicKeyRings); } }