Class PrivateKeySignature

    • Field Detail

      • pk

        private final java.security.PrivateKey pk
        The private key object.
      • hashAlgorithm

        private final java.lang.String hashAlgorithm
        The hash algorithm.
      • signatureAlgorithm

        private final java.lang.String signatureAlgorithm
        The encryption algorithm (obtained from the private key)
      • provider

        private final java.lang.String provider
        The security provider
    • Constructor Detail

      • PrivateKeySignature

        public PrivateKeySignature​(java.security.PrivateKey pk,
                                   java.lang.String hashAlgorithm,
                                   java.lang.String provider)
        Creates a PrivateKeySignature instance.
        Parameters:
        pk - A PrivateKey object.
        hashAlgorithm - A hash algorithm (e.g. "SHA-1", "SHA-256",...).
        provider - A security provider (e.g. "BC").
      • PrivateKeySignature

        public PrivateKeySignature​(java.security.PrivateKey pk,
                                   java.lang.String hashAlgorithm,
                                   java.lang.String signatureAlgorithm,
                                   java.lang.String provider,
                                   IApplicableSignatureParams params)
        Creates a PrivateKeySignature instance.
        Parameters:
        pk - A PrivateKey object.
        hashAlgorithm - A hash algorithm (e.g. "SHA-1", "SHA-256",...).
        signatureAlgorithm - A signiture algorithm (e.g. "RSASSA-PSS", "id-signedData", "sha256WithRSAEncryption", ...)
        provider - A security provider (e.g. "BC").
        params - Parameters for using RSASSA-PSS or other algorithms requiring them.
    • Method Detail

      • getDigestAlgorithmName

        public java.lang.String getDigestAlgorithmName()
        Returns the digest algorithm.
        Specified by:
        getDigestAlgorithmName in interface IExternalSignature
        Returns:
        The digest algorithm (e.g. "SHA-1", "SHA-256,...").
      • getSignatureAlgorithmName

        public java.lang.String getSignatureAlgorithmName()
        Returns the signature algorithm used for signing, disregarding the digest function.
        Specified by:
        getSignatureAlgorithmName in interface IExternalSignature
        Returns:
        The signature algorithm ("RSA", "DSA", "ECDSA", "Ed25519" or "Ed448").
      • sign

        public byte[] sign​(byte[] message)
                    throws java.security.GeneralSecurityException
        Signs the given message using the encryption algorithm in combination with the hash algorithm.
        Specified by:
        sign in interface IExternalSignature
        Parameters:
        message - The message you want to be hashed and signed.
        Returns:
        A signed message digest.
        Throws:
        java.security.GeneralSecurityException - when requested cryptographic algorithm or security provider is not available
      • getSignatureMechanismName

        private java.lang.String getSignatureMechanismName()