Algorithm Support

This Crypto Token relies on support for the algorithm in the PKCS#11 standard, the used PKCS#11 driver from the HSM vendor and the supported algorithms in the HSM. A complete list of supported algorithms can thus not be compiled here and the following lists algorithms that are tested and known to work with an HSM supporting it. Also, see the specific SignServer Signer for algorithms that signers can work with and review signer-specific algorithm support pages.

Note that the JackNJI11CryptoToken has been renamed P11NGCryptoToken as of SignServer 6.0.

Signature Algorithms


Algorithm Name

Also Known As

Comment

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA1withRSA

RSASSA-PKCS_v1.5 using SHA1


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA224withRSA

RSASSA-PKCS_v1.5 using SHA224


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA256withRSA

RSASSA-PKCS_v1.5 using SHA256


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA384withRSA

RSASSA-PKCS_v1.5 using SHA384


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA512withRSA

RSASSA-PKCS_v1.5 using SHA512


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

NONEwithRSA

RSASSA-PKCS_v1.5

Depending on the Signer. Generally only supported by Plain Signer.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA1withRSAandMGF1

RSASSA-PSS using SHA1


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA224withRSAandMGF1

RSASSA-PSS using SHA224


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA256withRSAandMGF1

RSASSA-PSS using SHA256


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA384withRSAandMGF1

RSASSA-PSS using SHA384


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA512withRSAandMGF1

RSASSA-PSS using SHA512


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

NONEwithRSAandMGF1

RSASSA-PSS

Depending on the Signer. Generally only supported by Plain Signer.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/error.svg

SHA1withECDSA

ECDSA using SHA1


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA224withECDSA

ECDSA using SHA224


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA256withECDSA

ECDSA using SHA256


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA384withECDSA

ECDSA using SHA384


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

SHA512withECDSA

ECDSA using SHA512


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

NONEwithECDSA

ECDSA

Depending on the signer. Generally only supported by Plain Signer.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

Ed25519

Pure EdDSA with Edwards25519

Depending on the Signer.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/error.svg

Ed25519ph

Hash EdDSA with Edwards25519

Not yet implemented.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/error.svg

Ed25519ctx

Context EdDSA with Edwards25519

Not yet implemented.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

Ed448

Pure EdDSA with Edwards448

Depending on the Signer.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/error.svg

Ed448ph

Hash EdDSA with Edwards448

Not yet implemented.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

LMS


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/warning.svg Experimental. Do not use it in production.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

Dilithium2


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/warning.svg Experimental. Do not use it in production.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

Dilithium3


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/warning.svg Experimental. Do not use it in production.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

Dilithium5


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/warning.svg Experimental. Do not use it in production.

Key Algorithms


Algorithm Name

Key Specification

Comment

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

RSA

Just key length:

  • 1024

  • 2048

  • 4096

Key length and public exponent (some examples):

  • 1024 exp 17

  • 1024 exp 0x11

  • 2048 exp 17

  • 4096 exp 65537

Other key lengths are likely also working.

For RSA it is possible to use a different exponent by suffixing the number with an "exp" followed by the exponent in decimal or prefixed with "0x" for hexadecimal. (see Crypto Token Generate Key Page)

The default value for the exponent is 65537.


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

ECDSA

Named curves:

  • secp256r1 / prime256v1 / P-256

  • secp384r1

  • secp521r1

More named curves are likely working.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

ECDSA

Explicit parameters

A signer can be configured using the EXPLICTECC parameter (see Other Properties) to encode the EC parameters explicitly in the request. This goes for the supported named curves and a named curve is still needed when generating the key-pair.

Certificates with explicit parameters can be stored in the token.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

EdDSA

Ed25519
Ed448


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

AES

128
256


images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

Dilithium

Dilithium2

Dilithium3

Dilithium5

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/warning.svg Experimental. Do not use it in production.

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/check.svg

LMS

LMS_SHA256_N32_H5

images/s/ndu796/8703/189cb2l/_/images/icons/emoticons/warning.svg Experimental. Do not use it in production.