diff --git a/src/main/java/info/weboftrust/ldsignatures/signer/RsaSignature2018LdSigner.java b/src/main/java/info/weboftrust/ldsignatures/signer/RsaSignature2018LdSigner.java index 0b4773d..7b8098c 100644 --- a/src/main/java/info/weboftrust/ldsignatures/signer/RsaSignature2018LdSigner.java +++ b/src/main/java/info/weboftrust/ldsignatures/signer/RsaSignature2018LdSigner.java @@ -93,7 +93,7 @@ public String sign(String canonicalizedDocument) throws GeneralSecurityException public interface Signer { - public byte[] sign(String algorithm, byte[] content) throws GeneralSecurityException; + public byte[] sign(byte[] content) throws GeneralSecurityException; } public static class PrivateKeySigner extends RSASSASigner implements Signer { @@ -103,9 +103,9 @@ public PrivateKeySigner(RSAPrivateKey privateKey) { super(privateKey); } - public byte[] sign(String algorithm, byte[] content) throws GeneralSecurityException { + public byte[] sign(byte[] content) throws GeneralSecurityException { - JWSHeader jwsHeader = new JWSHeader(new JWSAlgorithm(algorithm)); + JWSHeader jwsHeader = new JWSHeader(JWSAlgorithm.RS256); try { @@ -129,11 +129,11 @@ private JWSSignerAdapter(Signer signer) { @Override public Base64URL sign(final JWSHeader header, final byte[] signingInput) throws JOSEException { - String algorithm = header.getAlgorithm().getName(); + if (! JWSAlgorithm.RS256.equals(header.getAlgorithm())) throw new JOSEException("Unexpected algorithm: " + header.getAlgorithm()); try { - return Base64URL.encode(this.signer.sign(algorithm, signingInput)); + return Base64URL.encode(this.signer.sign(signingInput)); } catch (GeneralSecurityException ex) { throw new JOSEException(ex.getMessage(), ex);