Class RSASigningHandler

java.lang.Object
org.forgerock.json.jose.jws.handlers.RSASigningHandler
All Implemented Interfaces:
SigningHandler

public class RSASigningHandler extends Object implements SigningHandler
An implementation of the SigningHandler which can sign and verify using algorithms from the RSA family.
Since:
2.0.0
  • Constructor Summary

    Constructors
    Constructor
    Description
    RSASigningHandler(Key key, SignatureUtil signatureUtil)
    Constructs a new RSASigningHandler, with a SignatureUtil instance to delegate the signing and verifying calls to.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    sign(JwsAlgorithm algorithm, byte[] data)
    Signs the given raw data bytes using the Java Cryptographic algorithm defined by the JwsAlgorithm.
    byte[]
    sign(JwsAlgorithm algorithm, String data)
    Signs the given String data using the Java Cryptographic algorithm defined by the JwsAlgorithm.
    boolean
    verify(JwsAlgorithm algorithm, byte[] data, byte[] signature)
    Verifies that the given signature is valid for the given data.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RSASigningHandler

      public RSASigningHandler(Key key, SignatureUtil signatureUtil)
      Constructs a new RSASigningHandler, with a SignatureUtil instance to delegate the signing and verifying calls to.
      Parameters:
      key - The key used to sign and verify the signature.
      signatureUtil - An instance of the SignatureUtil.
  • Method Details

    • sign

      public byte[] sign(JwsAlgorithm algorithm, String data)
      Signs the given String data using the Java Cryptographic algorithm defined by the JwsAlgorithm. The signature is created using the given private key.
      Specified by:
      sign in interface SigningHandler
      Parameters:
      algorithm - The JwsAlgorithm defining the Java Cryptographic algorithm.
      data - The data to be signed.
      Returns:
      A byte array of the signature.
    • sign

      public byte[] sign(JwsAlgorithm algorithm, byte[] data)
      Signs the given raw data bytes using the Java Cryptographic algorithm defined by the JwsAlgorithm.
      Specified by:
      sign in interface SigningHandler
      Parameters:
      algorithm - the JWS signature algorithm to use.
      data - the raw data to sign.
      Returns:
      the signature.
    • verify

      public boolean verify(JwsAlgorithm algorithm, byte[] data, byte[] signature)
      Verifies that the given signature is valid for the given data.

      Uses the Java Cryptographic algorithm defined by the JwsAlgorithm and private key to create a new signature of the data to compare against the given signature to see if they are identical.

      Specified by:
      verify in interface SigningHandler
      Parameters:
      algorithm - The JwsAlgorithm defining the JavaCryptographic algorithm.
      data - The data that was signed.
      signature - The signature of the data.
      Returns:
      true if the signature is a valid signature of the data.