Class DefaultSignatureAlgorithmIdentifierFinder

java.lang.Object
org.bouncycastle.operator.DefaultSignatureAlgorithmIdentifierFinder
All Implemented Interfaces:
SignatureAlgorithmIdentifierFinder

public class DefaultSignatureAlgorithmIdentifierFinder extends Object implements SignatureAlgorithmIdentifierFinder
Default implementation of SignatureAlgorithmIdentifierFinder, returning the AlgorithmIdentifier (algorithm OID plus any algorithm-specific parameters) used to name a signature scheme in X.509 certificates, CMS SignedData, OCSP responses and related PKIX structures.

Parameter-field convention for RSA-PSS: when this finder builds the RSASSA-PSS-params structure for SHA*WITHRSAANDMGF1 names, the hash sub-identifier inside the hashAlgorithm field (and the inner hash inside MGF1) is emitted with NULL parameters, following RFC 4055 §2.1 which defines sha256Identifier ::= { id-sha256, NULL } (and the same pattern for SHA-1 / SHA-224 / SHA-384 / SHA-512). SHA-3 inside PSS follows the same NULL-parameter convention here for consistency.

This is a different convention from DefaultDigestAlgorithmIdentifierFinder, which (for the CMS contexts it serves) follows RFC 5754 §2 and emits SHA-2 / SHA-3 digest identifiers with the parameters field absent. Both forms are standards-compliant in their respective slots; the practical consequence is that a single CMS SignedData with a PSS SignerInfo will validly contain the same SHA-2 OID encoded both ways. See the class-level javadoc on DefaultDigestAlgorithmIdentifierFinder for the cross-reference.

  • Constructor Details

    • DefaultSignatureAlgorithmIdentifierFinder

      public DefaultSignatureAlgorithmIdentifierFinder()
  • Method Details

    • find

      public org.bouncycastle.asn1.x509.AlgorithmIdentifier find(String sigAlgName)
      Description copied from interface: SignatureAlgorithmIdentifierFinder
      Find the signature algorithm identifier that matches with the passed in signature algorithm name.
      Specified by:
      find in interface SignatureAlgorithmIdentifierFinder
      Parameters:
      sigAlgName - the name of the signature algorithm of interest.
      Returns:
      an algorithm identifier for the corresponding signature.