Interface SecretKeyRingEditorInterface
-
- All Known Implementing Classes:
SecretKeyRingEditor
public interface SecretKeyRingEditorInterface
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings
static interface
SecretKeyRingEditorInterface.WithPassphrase
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description SecretKeyRingEditorInterface
addSubKey(org.bouncycastle.openpgp.PGPSecretKey subKey, org.bouncycastle.openpgp.PGPSignatureSubpacketVector hashedSubpackets, org.bouncycastle.openpgp.PGPSignatureSubpacketVector unhashedSubpackets, SecretKeyRingProtector subKeyProtector, SecretKeyRingProtector keyRingProtector)
SecretKeyRingEditorInterface
addSubKey(KeySpec keySpec, Passphrase subKeyPassphrase, SecretKeyRingProtector secretKeyRingProtector)
Add a subkey to the key ring.SecretKeyRingEditorInterface
addUserId(java.lang.String userId, SecretKeyRingProtector secretKeyRingProtector)
Add a user-id to the key ring.default SecretKeyRingEditorInterface
addUserId(UserId userId, SecretKeyRingProtector secretKeyRingProtector)
Add a user-id to the key ring.default SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings
changePassphraseFromOldPassphrase(Passphrase oldPassphrase)
Change the passphrase of the whole key ring.SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings
changePassphraseFromOldPassphrase(Passphrase oldPassphrase, KeyRingProtectionSettings oldProtectionSettings)
Change the passphrase of the whole key ring.default SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings
changeSubKeyPassphraseFromOldPassphrase(java.lang.Long keyId, Passphrase oldPassphrase)
Change the passphrase of a single subkey in the key ring.SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings
changeSubKeyPassphraseFromOldPassphrase(java.lang.Long keyId, Passphrase oldPassphrase, KeyRingProtectionSettings oldProtectionSettings)
org.bouncycastle.openpgp.PGPSignature
createRevocationCertificate(long subkeyId, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes)
default org.bouncycastle.openpgp.PGPSignature
createRevocationCertificate(OpenPgpV4Fingerprint subkeyFingerprint, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes)
org.bouncycastle.openpgp.PGPSignature
createRevocationCertificate(SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes)
Create a detached revocation certificate, which can be used to revoke the specified key.SecretKeyRingEditorInterface
deleteSubKey(long subKeyId, SecretKeyRingProtector secretKeyRingProtector)
Delete a subkey from the key ring.SecretKeyRingEditorInterface
deleteSubKey(OpenPgpV4Fingerprint fingerprint, SecretKeyRingProtector secretKeyRingProtector)
Delete a subkey from the key ring.SecretKeyRingEditorInterface
deleteUserId(java.lang.String userId, SecretKeyRingProtector secretKeyRingProtector)
Remove a user-id from the key ring.default SecretKeyRingEditorInterface
deleteUserId(UserId userId, SecretKeyRingProtector secretKeyRingProtector)
Remove a user-id from the key ring.SecretKeyRingEditorInterface
deleteUserIds(SelectUserId selectionStrategy, SecretKeyRingProtector secretKeyRingProtector)
Delete all user-ids from the key, which match the providedSelectUserId
strategy.org.bouncycastle.openpgp.PGPSecretKeyRing
done()
Return thePGPSecretKeyRing
.default SecretKeyRingEditorInterface
revoke(SecretKeyRingProtector secretKeyRingProtector)
Revoke the key ring.SecretKeyRingEditorInterface
revoke(SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes)
Revoke the key ring using the provided revocation attributes.default SecretKeyRingEditorInterface
revokeSubKey(long subKeyId, SecretKeyRingProtector secretKeyRingProtector)
Revoke the subkey binding signature of a subkey.SecretKeyRingEditorInterface
revokeSubKey(long subKeyId, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes)
Revoke the subkey binding signature of a subkey.default SecretKeyRingEditorInterface
revokeSubKey(OpenPgpV4Fingerprint fingerprint, SecretKeyRingProtector secretKeyRingProtector)
Revoke the subkey binding signature of a subkey.SecretKeyRingEditorInterface
revokeSubKey(OpenPgpV4Fingerprint fingerprint, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes)
Revoke the subkey binding signature of a subkey.default SecretKeyRingEditorInterface
revokeUserId(java.lang.String userId, SecretKeyRingProtector secretKeyRingProtector)
Revoke the given userID.SecretKeyRingEditorInterface
revokeUserId(java.lang.String userId, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes)
Revoke the given userID using the provided revocation attributes.SecretKeyRingEditorInterface
setExpirationDate(java.util.Date expiration, SecretKeyRingProtector secretKeyRingProtector)
Set the expiration date for the primary key of the key ring.SecretKeyRingEditorInterface
setExpirationDate(OpenPgpV4Fingerprint fingerprint, java.util.Date expiration, SecretKeyRingProtector secretKeyRingProtector)
Set key expiration time.
-
-
-
Method Detail
-
addUserId
default SecretKeyRingEditorInterface addUserId(UserId userId, SecretKeyRingProtector secretKeyRingProtector) throws org.bouncycastle.openpgp.PGPException
Add a user-id to the key ring.- Parameters:
userId
- user-idsecretKeyRingProtector
- protector to unlock the secret key- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
addUserId
SecretKeyRingEditorInterface addUserId(java.lang.String userId, SecretKeyRingProtector secretKeyRingProtector) throws org.bouncycastle.openpgp.PGPException
Add a user-id to the key ring.- Parameters:
userId
- user-idsecretKeyRingProtector
- protector to unlock the secret key- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
deleteUserId
SecretKeyRingEditorInterface deleteUserId(java.lang.String userId, SecretKeyRingProtector secretKeyRingProtector)
Remove a user-id from the key ring.- Parameters:
userId
- exact user-id to be removedsecretKeyRingProtector
- protector to unlock the secret key- Returns:
- the builder
-
deleteUserId
default SecretKeyRingEditorInterface deleteUserId(UserId userId, SecretKeyRingProtector secretKeyRingProtector)
Remove a user-id from the key ring.- Parameters:
userId
- exact user-id to be removedsecretKeyRingProtector
- protector to unlock the secret key- Returns:
- the builder
-
deleteUserIds
SecretKeyRingEditorInterface deleteUserIds(SelectUserId selectionStrategy, SecretKeyRingProtector secretKeyRingProtector)
Delete all user-ids from the key, which match the providedSelectUserId
strategy.- Parameters:
selectionStrategy
- strategy to select user-idssecretKeyRingProtector
- protector to unlock the secret key- Returns:
- the builder
-
addSubKey
SecretKeyRingEditorInterface addSubKey(@Nonnull KeySpec keySpec, @Nonnull Passphrase subKeyPassphrase, SecretKeyRingProtector secretKeyRingProtector) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException, org.bouncycastle.openpgp.PGPException
Add a subkey to the key ring. The subkey will be generated from the providedKeySpec
.- Parameters:
keySpec
- key specificationsubKeyPassphrase
- passphrase to encrypt the sub keysecretKeyRingProtector
- protector to unlock the secret key of the key ring- Returns:
- the builder
- Throws:
java.security.InvalidAlgorithmParameterException
java.security.NoSuchAlgorithmException
org.bouncycastle.openpgp.PGPException
-
addSubKey
SecretKeyRingEditorInterface addSubKey(org.bouncycastle.openpgp.PGPSecretKey subKey, org.bouncycastle.openpgp.PGPSignatureSubpacketVector hashedSubpackets, org.bouncycastle.openpgp.PGPSignatureSubpacketVector unhashedSubpackets, SecretKeyRingProtector subKeyProtector, SecretKeyRingProtector keyRingProtector) throws org.bouncycastle.openpgp.PGPException
- Throws:
org.bouncycastle.openpgp.PGPException
-
deleteSubKey
SecretKeyRingEditorInterface deleteSubKey(OpenPgpV4Fingerprint fingerprint, SecretKeyRingProtector secretKeyRingProtector)
Delete a subkey from the key ring. The subkey with the provided fingerprint will be remove from the key ring. If no suitable subkey is found, aNoSuchElementException
will be thrown.- Parameters:
fingerprint
- fingerprint of the subkey to be removedsecretKeyRingProtector
- protector to unlock the secret key ring- Returns:
- the builder
-
deleteSubKey
SecretKeyRingEditorInterface deleteSubKey(long subKeyId, SecretKeyRingProtector secretKeyRingProtector)
Delete a subkey from the key ring. The subkey with the provided key-id will be removed from the key ring. If no suitable subkey is found, aNoSuchElementException
will be thrown.- Parameters:
subKeyId
- id of the subkeysecretKeyRingProtector
- protector to unlock the secret key ring- Returns:
- the builder
-
revoke
default SecretKeyRingEditorInterface revoke(SecretKeyRingProtector secretKeyRingProtector) throws org.bouncycastle.openpgp.PGPException
Revoke the key ring. The revocation will be a hard revocation, rendering the whole key invalid for any past or future signatures.- Parameters:
secretKeyRingProtector
- protector of the primary key- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
revoke
SecretKeyRingEditorInterface revoke(SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes) throws org.bouncycastle.openpgp.PGPException
Revoke the key ring using the provided revocation attributes. The attributes define, whether or not the revocation was a hard revocation or not.- Parameters:
secretKeyRingProtector
- protector of the primary keyrevocationAttributes
- reason for the revocation- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
revokeSubKey
default SecretKeyRingEditorInterface revokeSubKey(OpenPgpV4Fingerprint fingerprint, SecretKeyRingProtector secretKeyRingProtector) throws org.bouncycastle.openpgp.PGPException
Revoke the subkey binding signature of a subkey. The subkey with the provided fingerprint will be revoked. If no suitable subkey is found, aNoSuchElementException
will be thrown.- Parameters:
fingerprint
- fingerprint of the subkey to be revokedsecretKeyRingProtector
- protector to unlock the secret key ring- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
revokeSubKey
SecretKeyRingEditorInterface revokeSubKey(OpenPgpV4Fingerprint fingerprint, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes) throws org.bouncycastle.openpgp.PGPException
Revoke the subkey binding signature of a subkey. The subkey with the provided fingerprint will be revoked. If no suitable subkey is found, aNoSuchElementException
will be thrown.- Parameters:
fingerprint
- fingerprint of the subkey to be revokedsecretKeyRingProtector
- protector to unlock the primary keyrevocationAttributes
- reason for the revocation- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
revokeSubKey
default SecretKeyRingEditorInterface revokeSubKey(long subKeyId, SecretKeyRingProtector secretKeyRingProtector) throws org.bouncycastle.openpgp.PGPException
Revoke the subkey binding signature of a subkey. The subkey with the provided key-id will be revoked. If no suitable subkey is found, qNoSuchElementException
will be thrown.- Parameters:
subKeyId
- id of the subkeysecretKeyRingProtector
- protector to unlock the secret key ring- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
revokeSubKey
SecretKeyRingEditorInterface revokeSubKey(long subKeyId, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes) throws org.bouncycastle.openpgp.PGPException
Revoke the subkey binding signature of a subkey. The subkey with the provided key-id will be revoked. If no suitable subkey is found, qNoSuchElementException
will be thrown.- Parameters:
subKeyId
- id of the subkeysecretKeyRingProtector
- protector to unlock the primary keyrevocationAttributes
- reason for the revocation- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
revokeUserId
default SecretKeyRingEditorInterface revokeUserId(java.lang.String userId, SecretKeyRingProtector secretKeyRingProtector) throws org.bouncycastle.openpgp.PGPException
Revoke the given userID. The revocation will be a hard revocation, rendering the user-id invalid for any past or future signatures.- Parameters:
userId
- userId to revokesecretKeyRingProtector
- protector to unlock the primary key- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
revokeUserId
SecretKeyRingEditorInterface revokeUserId(java.lang.String userId, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes) throws org.bouncycastle.openpgp.PGPException
Revoke the given userID using the provided revocation attributes.- Parameters:
userId
- userId to revokesecretKeyRingProtector
- protector to unlock the primary keyrevocationAttributes
- reason for the revocation- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
setExpirationDate
SecretKeyRingEditorInterface setExpirationDate(java.util.Date expiration, SecretKeyRingProtector secretKeyRingProtector) throws org.bouncycastle.openpgp.PGPException
Set the expiration date for the primary key of the key ring. If the key is supposed to never expire, then an expiration date of null is expected.- Parameters:
expiration
- new expiration date or nullsecretKeyRingProtector
- to unlock the secret key- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
setExpirationDate
SecretKeyRingEditorInterface setExpirationDate(OpenPgpV4Fingerprint fingerprint, java.util.Date expiration, SecretKeyRingProtector secretKeyRingProtector) throws org.bouncycastle.openpgp.PGPException
Set key expiration time.- Parameters:
fingerprint
- key that will have its expiration date adjustedexpiration
- target expiration time or @{code null} for no expirationsecretKeyRingProtector
- protector to unlock the priary key- Returns:
- the builder
- Throws:
org.bouncycastle.openpgp.PGPException
-
createRevocationCertificate
org.bouncycastle.openpgp.PGPSignature createRevocationCertificate(SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes) throws org.bouncycastle.openpgp.PGPException
Create a detached revocation certificate, which can be used to revoke the specified key.- Parameters:
secretKeyRingProtector
- protector to unlock the primary key.revocationAttributes
- reason for the revocation- Returns:
- revocation certificate
- Throws:
org.bouncycastle.openpgp.PGPException
-
createRevocationCertificate
org.bouncycastle.openpgp.PGPSignature createRevocationCertificate(long subkeyId, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes) throws org.bouncycastle.openpgp.PGPException
- Throws:
org.bouncycastle.openpgp.PGPException
-
createRevocationCertificate
default org.bouncycastle.openpgp.PGPSignature createRevocationCertificate(OpenPgpV4Fingerprint subkeyFingerprint, SecretKeyRingProtector secretKeyRingProtector, RevocationAttributes revocationAttributes) throws org.bouncycastle.openpgp.PGPException
- Throws:
org.bouncycastle.openpgp.PGPException
-
changePassphraseFromOldPassphrase
default SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings changePassphraseFromOldPassphrase(@Nullable Passphrase oldPassphrase)
Change the passphrase of the whole key ring.- Parameters:
oldPassphrase
- old passphrase or null, if the key was unprotected- Returns:
- next builder step
-
changePassphraseFromOldPassphrase
SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings changePassphraseFromOldPassphrase(@Nullable Passphrase oldPassphrase, @Nonnull KeyRingProtectionSettings oldProtectionSettings)
Change the passphrase of the whole key ring.- Parameters:
oldPassphrase
- old passphrase or null, if the key was unprotectedoldProtectionSettings
- custom settings for the old passphrase- Returns:
- next builder step
-
changeSubKeyPassphraseFromOldPassphrase
default SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings changeSubKeyPassphraseFromOldPassphrase(@Nonnull java.lang.Long keyId, @Nullable Passphrase oldPassphrase)
Change the passphrase of a single subkey in the key ring. Note: While it is a valid use-case to have different passphrases per subKey, this is one of the reasons why OpenPGP sucks in practice.- Parameters:
keyId
- id of the subkeyoldPassphrase
- old passphrase- Returns:
- next builder step
-
changeSubKeyPassphraseFromOldPassphrase
SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings changeSubKeyPassphraseFromOldPassphrase(@Nonnull java.lang.Long keyId, @Nullable Passphrase oldPassphrase, @Nonnull KeyRingProtectionSettings oldProtectionSettings)
-
done
org.bouncycastle.openpgp.PGPSecretKeyRing done()
Return thePGPSecretKeyRing
.- Returns:
- the key
-
-