Class CryptographicSuiteUtils
java.lang.Object
eu.europa.esig.dss.validation.policy.CryptographicSuiteUtils
This class contains supporting methods for processing a
eu.europa.esig.dss.model.policy.CryptographicSuite-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic DategetExpirationDate(CryptographicSuite cryptographicSuite, DigestAlgorithm digestAlgorithm) Gets an expiration date for the digest algorithm with namedigestAlgoToSearch.static DategetExpirationDate(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, Integer keySize) Gets an expiration date for the encryption algorithm with namesignatureAlgorithmandkeyLength.static DategetExpirationDate(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, String keyLength) Gets an expiration date for the encryption algorithm with namesignatureAlgorithmandkeyLength.static Set<DigestAlgorithm> getReliableDigestAlgorithmsAtTime(CryptographicSuite cryptographicSuite, Date validationTime) This method returns a list of reliableDigestAlgorithmaccording to the current validation policy at the given validation timestatic Set<SignatureAlgorithmWithMinKeySize> getReliableSignatureAlgorithmsWithMinimalKeyLengthAtTime(CryptographicSuite cryptographicSuite, Date validationTime) This method returns a list of reliableSignatureAlgorithmWithMinKeySizeaccording to the current validation policy and at the given time.static booleanisDigestAlgorithmReliable(CryptographicSuite cryptographicSuite, DigestAlgorithm digestAlgorithm) Checks if the givenDigestAlgorithmis reliable (acceptable)static booleanisDigestAlgorithmReliableAtTime(CryptographicSuite cryptographicSuite, DigestAlgorithm digestAlgorithm, Date validationTime) This method verifies whether thedigestAlgorithmis reliable at thevalidationTimestatic booleanisSignatureAlgorithmKeyLengthBigEnough(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, String keyLength) This method verifies whether the givenkeyLengthof thesignatureAlgorithmis big enough.static booleanisSignatureAlgorithmReliable(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm) Checks if the givenSignatureAlgorithmis reliable (acceptable)static booleanisSignatureAlgorithmReliableAtTime(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, String keyLength, Date validationTime) This method verifies whether thesignatureAlgorithmwith thekeySizeis reliable at thevalidationTimestatic booleanisSignatureAlgorithmWithKeySizeReliable(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, Integer keySize) Checks if the {code keyLength} forSignatureAlgorithmis reliable (acceptable)static booleanisSignatureAlgorithmWithKeySizeReliable(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, String keyLength) Checks if the {code keyLength} forSignatureAlgorithmis reliable (acceptable)
-
Field Details
-
MODULES_LENGTH_PARAMETER
Key size parameter used by RSA algorithms- See Also:
-
PLENGTH_PARAMETER
P Length key size parameter used by DSA algorithms (supported)- See Also:
-
QLENGTH_PARAMETER
Q Length key size parameter used by DSA algorithms (not supported)- See Also:
-
-
Method Details
-
isSignatureAlgorithmReliable
public static boolean isSignatureAlgorithmReliable(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm) Checks if the givenSignatureAlgorithmis reliable (acceptable)- Parameters:
cryptographicSuite-CryptographicSuitesignatureAlgorithm-SignatureAlgorithmto check- Returns:
- TRUE if the algorithm is reliable, FALSE otherwise
-
isDigestAlgorithmReliable
public static boolean isDigestAlgorithmReliable(CryptographicSuite cryptographicSuite, DigestAlgorithm digestAlgorithm) Checks if the givenDigestAlgorithmis reliable (acceptable)- Parameters:
cryptographicSuite-CryptographicSuitedigestAlgorithm-DigestAlgorithmto check- Returns:
- TRUE if the algorithm is reliable, FALSE otherwise
-
isSignatureAlgorithmWithKeySizeReliable
public static boolean isSignatureAlgorithmWithKeySizeReliable(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, String keyLength) Checks if the {code keyLength} forSignatureAlgorithmis reliable (acceptable)- Parameters:
cryptographicSuite-CryptographicSuitesignatureAlgorithm-SignatureAlgorithmto check key length forkeyLength-Stringthe key length to be checked- Returns:
- TRUE if the key length for the algorithm is reliable, FALSE otherwise
-
isSignatureAlgorithmWithKeySizeReliable
public static boolean isSignatureAlgorithmWithKeySizeReliable(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, Integer keySize) Checks if the {code keyLength} forSignatureAlgorithmis reliable (acceptable)- Parameters:
cryptographicSuite-CryptographicSuitesignatureAlgorithm-SignatureAlgorithmto check key length forkeySize-Integerthe key length to be checked- Returns:
- TRUE if the key length for the algorithm is reliable, FALSE otherwise
-
isSignatureAlgorithmKeyLengthBigEnough
public static boolean isSignatureAlgorithmKeyLengthBigEnough(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, String keyLength) This method verifies whether the givenkeyLengthof thesignatureAlgorithmis big enough. NOTE: This method only ensures that the key length is bigger than the minimal accepted key size. It does not consider the maximum requirements.- Parameters:
cryptographicSuite-CryptographicSuiteset of validation constraintssignatureAlgorithm-SignatureAlgorithmto be checkedkeyLength-String- Returns:
- TRUE if the signature algorithm key length is big enough, FALSE otherwise
-
getExpirationDate
public static Date getExpirationDate(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, String keyLength) Gets an expiration date for the encryption algorithm with namesignatureAlgorithmandkeyLength. Returns null if the expiration date is not defined for the algorithm.- Parameters:
cryptographicSuite-CryptographicSuitesignatureAlgorithm-SignatureAlgorithmto get expiration date forkeyLength-Stringkey length used to sign the token- Returns:
Date
-
getExpirationDate
public static Date getExpirationDate(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, Integer keySize) Gets an expiration date for the encryption algorithm with namesignatureAlgorithmandkeyLength. Returns null if the expiration date is not defined for the algorithm.- Parameters:
cryptographicSuite-CryptographicSuitesignatureAlgorithm-SignatureAlgorithmto get expiration date forkeySize-Integerkey length used to sign the token- Returns:
Date
-
getExpirationDate
public static Date getExpirationDate(CryptographicSuite cryptographicSuite, DigestAlgorithm digestAlgorithm) Gets an expiration date for the digest algorithm with namedigestAlgoToSearch. Returns null if the expiration date is not defined for the algorithm.- Parameters:
cryptographicSuite-CryptographicSuitedigestAlgorithm-DigestAlgorithmthe algorithm to get expiration date for- Returns:
Date
-
isDigestAlgorithmReliableAtTime
public static boolean isDigestAlgorithmReliableAtTime(CryptographicSuite cryptographicSuite, DigestAlgorithm digestAlgorithm, Date validationTime) This method verifies whether thedigestAlgorithmis reliable at thevalidationTime- Parameters:
cryptographicSuite-CryptographicSuitecontaining the algorithm validation rulesdigestAlgorithm-DigestAlgorithmto be checkedvalidationTime-Datevalidation time to check at- Returns:
- TRUE if the algorithm is reliable at the given time, FALSE otherwise
-
getReliableDigestAlgorithmsAtTime
public static Set<DigestAlgorithm> getReliableDigestAlgorithmsAtTime(CryptographicSuite cryptographicSuite, Date validationTime) This method returns a list of reliableDigestAlgorithmaccording to the current validation policy at the given validation time- Parameters:
cryptographicSuite-CryptographicSuitevalidationTime-Dateto verify against- Returns:
- a set of
DigestAlgorithms
-
getReliableSignatureAlgorithmsWithMinimalKeyLengthAtTime
public static Set<SignatureAlgorithmWithMinKeySize> getReliableSignatureAlgorithmsWithMinimalKeyLengthAtTime(CryptographicSuite cryptographicSuite, Date validationTime) This method returns a list of reliableSignatureAlgorithmWithMinKeySizeaccording to the current validation policy and at the given time.- Parameters:
cryptographicSuite-CryptographicSuitevalidationTime-Dateto verify against- Returns:
- a set of
SignatureAlgorithmWithMinKeySizes
-
isSignatureAlgorithmReliableAtTime
public static boolean isSignatureAlgorithmReliableAtTime(CryptographicSuite cryptographicSuite, SignatureAlgorithm signatureAlgorithm, String keyLength, Date validationTime) This method verifies whether thesignatureAlgorithmwith thekeySizeis reliable at thevalidationTime- Parameters:
cryptographicSuite-CryptographicSuitecontaining the algorithm validation rulessignatureAlgorithm-SignatureAlgorithmto be checkedkeyLength-Stringused to create the signaturevalidationTime-Datevalidation time to check at- Returns:
- TRUE if the algorithm is reliable at the given time, FALSE otherwise
-