Skip to content

Commit

Permalink
fix: allow signing RPMs for DNF
Browse files Browse the repository at this point in the history
  • Loading branch information
ctron committed Aug 19, 2022
1 parent f2360fd commit 4df8727
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<groupId>de.dentrassi.maven</groupId>
<artifactId>rpm</artifactId>
<version>1.8.1-SNAPSHOT</version>
<version>1.9.0-SNAPSHOT</version>

<packaging>maven-plugin</packaging>

Expand Down Expand Up @@ -42,7 +42,7 @@
<maven.version>3.3.9</maven.version>

<org.bouncycastle.version>1.70</org.bouncycastle.version>
<packager.version>0.18.0</packager.version>
<packager.version>0.19.0</packager.version>
</properties>

<prerequisites>
Expand Down
16 changes: 11 additions & 5 deletions src/main/java/de/dentrassi/rpm/builder/RpmMojo.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
import org.eclipse.packager.rpm.build.RpmFileNameProvider;
import org.eclipse.packager.rpm.deps.RpmDependencyFlags;
import org.eclipse.packager.rpm.signature.RsaHeaderSignatureProcessor;
import org.eclipse.packager.rpm.signature.RsaSignatureProcessor;
import org.eclipse.packager.rpm.signature.SignatureProcessor;

import com.google.common.base.Strings;
Expand Down Expand Up @@ -794,9 +795,11 @@ public void execute() throws MojoExecutionException, MojoFailureException {
}

if (!this.skipSigning && this.signature != null) {
final SignatureProcessor signer = makeRsaSigner(this.signature);
if (signer != null) {
builder.addSignatureProcessor(signer);
final SignatureProcessor[] signers = makeRsaSigners(this.signature);
if (signers != null) {
for (SignatureProcessor signer : signers ) {
builder.addSignatureProcessor(signer);
}
}
}

Expand Down Expand Up @@ -875,12 +878,15 @@ private void testLeadFlags() {

}

private SignatureProcessor makeRsaSigner(final Signature signature) throws MojoExecutionException, MojoFailureException {
private SignatureProcessor[] makeRsaSigners(final Signature signature) throws MojoExecutionException, MojoFailureException {
final PGPPrivateKey privateKey = SigningHelper.loadKey(signature, this.logger);
if (privateKey == null) {
return null;
}
return new RsaHeaderSignatureProcessor(privateKey, HashAlgorithm.from(signature.getHashAlgorithm()));
return new SignatureProcessor[]{
new RsaHeaderSignatureProcessor(privateKey, HashAlgorithm.from(signature.getHashAlgorithm())),
new RsaSignatureProcessor(privateKey, HashAlgorithm.from(signature.getHashAlgorithm()))
};
}

@FunctionalInterface
Expand Down

0 comments on commit 4df8727

Please sign in to comment.