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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.DigestAlgorithm digestAlgorithm) Gets an expiration date for the digest algorithm with namedigestAlgoToSearch.static DategetExpirationDate(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.SignatureAlgorithm signatureAlgorithm, Integer keySize) Gets an expiration date for the encryption algorithm with namesignatureAlgorithmandkeyLength.static DategetExpirationDate(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.SignatureAlgorithm signatureAlgorithm, String keyLength) Gets an expiration date for the encryption algorithm with namesignatureAlgorithmandkeyLength.static Set<eu.europa.esig.dss.enumerations.DigestAlgorithm> getReliableDigestAlgorithmsAtTime(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, Date validationTime) This method returns a list of reliableDigestAlgorithmaccording to the current validation policy at the given validation timestatic Set<eu.europa.esig.dss.model.policy.SignatureAlgorithmWithMinKeySize> getReliableSignatureAlgorithmsWithMinimalKeyLengthAtTime(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, Date validationTime) This method returns a list of reliableSignatureAlgorithmWithMinKeySizeaccording to the current validation policy and at the given time.static booleanisDigestAlgorithmReliable(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.DigestAlgorithm digestAlgorithm) Checks if the givenDigestAlgorithmis reliable (acceptable)static booleanisDigestAlgorithmReliableAtTime(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.DigestAlgorithm digestAlgorithm, Date validationTime) This method verifies whether thedigestAlgorithmis reliable at thevalidationTimestatic booleanisSignatureAlgorithmKeyLengthBigEnough(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.SignatureAlgorithm signatureAlgorithm, String keyLength) This method verifies whether the givenkeyLengthof thesignatureAlgorithmis big enough.static booleanisSignatureAlgorithmReliable(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.SignatureAlgorithm signatureAlgorithm) Checks if the givenSignatureAlgorithmis reliable (acceptable)static booleanisSignatureAlgorithmReliableAtTime(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.SignatureAlgorithm signatureAlgorithm, String keyLength, Date validationTime) This method verifies whether thesignatureAlgorithmwith thekeySizeis reliable at thevalidationTimestatic booleanisSignatureAlgorithmWithKeySizeReliable(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.SignatureAlgorithm signatureAlgorithm, Integer keySize) Checks if the {code keyLength} forSignatureAlgorithmis reliable (acceptable)static booleanisSignatureAlgorithmWithKeySizeReliable(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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. -
getExpirationDate
public static Date getExpirationDate(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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. -
getExpirationDate
public static Date getExpirationDate(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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<eu.europa.esig.dss.enumerations.DigestAlgorithm> getReliableDigestAlgorithmsAtTime(eu.europa.esig.dss.model.policy.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<eu.europa.esig.dss.model.policy.SignatureAlgorithmWithMinKeySize> getReliableSignatureAlgorithmsWithMinimalKeyLengthAtTime(eu.europa.esig.dss.model.policy.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(eu.europa.esig.dss.model.policy.CryptographicSuite cryptographicSuite, eu.europa.esig.dss.enumerations.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
-