1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-09-09 18:29:39 +02:00

Code cleanup

This commit is contained in:
Paul Schaub 2025-03-17 16:29:19 +01:00
parent 1e7a357b68
commit d6d52cd544
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
3 changed files with 17 additions and 13 deletions

View file

@ -206,8 +206,11 @@ class PGPainless(
*/
@JvmStatic
@JvmOverloads
fun modifyKeyRing(secretKey: PGPSecretKeyRing, referenceTime: Date = Date()) =
SecretKeyRingEditor(secretKey, referenceTime)
fun modifyKeyRing(
secretKey: PGPSecretKeyRing,
referenceTime: Date = Date(),
policy: Policy = getInstance().algorithmPolicy
) = SecretKeyRingEditor(secretKey, policy, referenceTime)
/**
* Quickly access information about a [org.bouncycastle.openpgp.PGPPublicKeyRing] /

View file

@ -39,21 +39,26 @@ import org.pgpainless.key.util.KeyRingUtils
import org.pgpainless.key.util.KeyRingUtils.Companion.changePassphrase
import org.pgpainless.key.util.KeyRingUtils.Companion.injectCertification
import org.pgpainless.key.util.RevocationAttributes
import org.pgpainless.policy.Policy
import org.pgpainless.signature.builder.*
import org.pgpainless.signature.subpackets.*
import org.pgpainless.util.Passphrase
import org.pgpainless.util.selection.userid.SelectUserId
class SecretKeyRingEditor(var key: OpenPGPKey, override val referenceTime: Date = Date()) :
SecretKeyRingEditorInterface {
class SecretKeyRingEditor(
var key: OpenPGPKey,
val policy: Policy = PGPainless.getInstance().algorithmPolicy,
override val referenceTime: Date = Date()
) : SecretKeyRingEditorInterface {
private var secretKeyRing: PGPSecretKeyRing = key.pgpSecretKeyRing
@JvmOverloads
constructor(
secretKeyRing: PGPSecretKeyRing,
policy: Policy = PGPainless.getInstance().algorithmPolicy,
referenceTime: Date = Date()
) : this(PGPainless.getInstance().toKey(secretKeyRing), referenceTime)
) : this(PGPainless.getInstance().toKey(secretKeyRing), policy, referenceTime)
override fun addUserId(
userId: CharSequence,
@ -293,17 +298,14 @@ class SecretKeyRingEditor(var key: OpenPGPKey, override val referenceTime: Date
SignatureSubpacketsUtil.assureKeyCanCarryFlags(subkeyAlgorithm)
val bitStrength = subkey.publicKey.bitStrength
require(
PGPainless.getPolicy()
.publicKeyAlgorithmPolicy
.isAcceptable(subkeyAlgorithm, bitStrength)) {
require(policy.publicKeyAlgorithmPolicy.isAcceptable(subkeyAlgorithm, bitStrength)) {
"Public key algorithm policy violation: $subkeyAlgorithm with bit strength $bitStrength is not acceptable."
}
val primaryKey = secretKeyRing.secretKey
val info = inspectKeyRing(secretKeyRing, referenceTime)
val hashAlgorithm =
HashAlgorithmNegotiator.negotiateSignatureHashAlgorithm(PGPainless.getPolicy())
HashAlgorithmNegotiator.negotiateSignatureHashAlgorithm(policy)
.negotiateHashAlgorithm(info.preferredHashAlgorithms)
var secretSubkey =

View file

@ -35,7 +35,6 @@ public class ChangeExpirationTest {
@ExtendWith(TestAllImplementations.class)
public void setExpirationDateAndThenUnsetIt_OnPrimaryKey()
throws PGPException, IOException {
PGPSecretKeyRing secretKeys = TestKeys.getEmilSecretKeyRing();
KeyRingInfo sInfo = PGPainless.inspectKeyRing(secretKeys);