public class PGPSecretKeyRing extends PGPKeyRing implements org.bouncycastle.util.Iterable<PGPSecretKey>
Often PGP keyring files consist of multiple master keys, if you are trying to process
or construct one of these you should use the PGPSecretKeyRingCollection class.
| Constructor and Description |
|---|
PGPSecretKeyRing(byte[] encoding,
KeyFingerPrintCalculator fingerPrintCalculator) |
PGPSecretKeyRing(java.io.InputStream in,
KeyFingerPrintCalculator fingerPrintCalculator) |
| Modifier and Type | Method and Description |
|---|---|
static PGPSecretKeyRing |
copyWithNewPassword(PGPSecretKeyRing ring,
PBESecretKeyDecryptor oldKeyDecryptor,
PBESecretKeyEncryptor newKeyEncryptor)
Return a copy of the passed in secret key ring, with the private keys (where present) associated with the master key and sub keys
are encrypted using a new password and the passed in algorithm.
|
void |
encode(java.io.OutputStream outStream) |
byte[] |
getEncoded() |
java.util.Iterator<PGPPublicKey> |
getExtraPublicKeys()
Return an iterator of the public keys in the secret key ring that
have no matching private key.
|
PGPPublicKey |
getPublicKey()
Return the public key for the master key.
|
PGPPublicKey |
getPublicKey(long keyID)
Return the public key referred to by the passed in keyID if it
is present.
|
java.util.Iterator<PGPPublicKey> |
getPublicKeys()
Return an iterator containing all the public keys.
|
PGPSecretKey |
getSecretKey()
Return the master private key.
|
PGPSecretKey |
getSecretKey(long keyId) |
java.util.Iterator<PGPSecretKey> |
getSecretKeys()
Return an iterator containing all the secret keys.
|
static PGPSecretKeyRing |
insertSecretKey(PGPSecretKeyRing secRing,
PGPSecretKey secKey)
Returns a new key ring with the secret key passed in either added or
replacing an existing one with the same key ID.
|
java.util.Iterator<PGPSecretKey> |
iterator()
Support method for Iterable where available.
|
static PGPSecretKeyRing |
removeSecretKey(PGPSecretKeyRing secRing,
PGPSecretKey secKey)
Returns a new key ring with the secret key passed in removed from the
key ring.
|
static PGPSecretKeyRing |
replacePublicKeys(PGPSecretKeyRing secretRing,
PGPPublicKeyRing publicRing)
Replace the public key set on the secret ring with the corresponding key off the public ring.
|
public PGPSecretKeyRing(byte[] encoding,
KeyFingerPrintCalculator fingerPrintCalculator)
throws java.io.IOException,
PGPException
java.io.IOExceptionPGPExceptionpublic PGPSecretKeyRing(java.io.InputStream in,
KeyFingerPrintCalculator fingerPrintCalculator)
throws java.io.IOException,
PGPException
java.io.IOExceptionPGPExceptionpublic PGPPublicKey getPublicKey()
getPublicKey in class PGPKeyRingpublic PGPPublicKey getPublicKey(long keyID)
getPublicKey in class PGPKeyRingkeyID - public java.util.Iterator<PGPPublicKey> getPublicKeys()
getPublicKeys in class PGPKeyRingpublic PGPSecretKey getSecretKey()
public java.util.Iterator<PGPSecretKey> getSecretKeys()
public PGPSecretKey getSecretKey(long keyId)
public java.util.Iterator<PGPPublicKey> getExtraPublicKeys()
public byte[] getEncoded()
throws java.io.IOException
getEncoded in class PGPKeyRingjava.io.IOExceptionpublic void encode(java.io.OutputStream outStream)
throws java.io.IOException
encode in class PGPKeyRingjava.io.IOExceptionpublic java.util.Iterator<PGPSecretKey> iterator()
iterator in interface java.lang.Iterable<PGPSecretKey>public static PGPSecretKeyRing replacePublicKeys(PGPSecretKeyRing secretRing, PGPPublicKeyRing publicRing)
secretRing - secret ring to be changed.publicRing - public ring containing the new public key set.public static PGPSecretKeyRing copyWithNewPassword(PGPSecretKeyRing ring, PBESecretKeyDecryptor oldKeyDecryptor, PBESecretKeyEncryptor newKeyEncryptor) throws PGPException
ring - the PGPSecretKeyRing to be copied.oldKeyDecryptor - the current decryptor based on the current password for key.newKeyEncryptor - a new encryptor based on a new password for encrypting the secret key material.PGPExceptionpublic static PGPSecretKeyRing insertSecretKey(PGPSecretKeyRing secRing, PGPSecretKey secKey)
secRing - the secret key ring to be modified.secKey - the secret key to be added.public static PGPSecretKeyRing removeSecretKey(PGPSecretKeyRing secRing, PGPSecretKey secKey)
secRing - the secret key ring to be modified.secKey - the secret key to be removed.