Package edu.iu.crypt

Interface WebCryptoHeader

All Superinterfaces:
WebCertificateReference
All Known Implementing Classes:
Jose

public interface WebCryptoHeader extends WebCertificateReference
Unifies algorithm support and maps cryptographic header data from JCE to JSON Object Signing and Encryption (JOSE).
See Also:
  • Method Details

    • getProtectedHeader

      static WebCryptoHeader getProtectedHeader(String serialized)
      Returns the protected header from a serialized JWS or JWE.

      This method is useful for inspecting header parameters before processing the signed and/or encrypted payload, e.g., to determine content type or to identify the correct decryption or verification key.

      Parameters:
      serialized - serialized JWS or JWE
      Returns:
      protected header
    • verify

      static WebKey verify(WebCryptoHeader header)
      Verifies all parameters in a WebCryptoHeader.
      Parameters:
      header - WebCryptoHeader
      Returns:
      Well-known key referred to by the header; null if not known
    • getAlgorithm

      WebKey.Algorithm getAlgorithm()
      Gets the cryptographic algorithm.
      Returns:
      WebKey.Algorithm
    • getKeyId

      String getKeyId()
      Gets the key ID relative to getKeySetUri() corresponding to a JWKS key entry.
      Returns:
      key ID
    • getKeySetUri

      URI getKeySetUri()
      Gets the URI where JWKS well-known key data can be retrieved.
      Returns:
      URI
    • getKey

      WebKey getKey()
      Gets the well-known key data.
      Returns:
      WebKey
    • getType

      String getType()
      Gets the header type parameter value.
      Returns:
      header type parameter value.
    • getContentType

      String getContentType()
      Gets the header type parameter value.
      Returns:
      header type parameter value.
    • getCriticalParameters

      Set<String> getCriticalParameters()
      Gets the set of critical parameter names.
      Returns:
      critical parameter names
    • getExtendedParameter

      <T> T getExtendedParameter(String name)
      Gets extended parameters.
      Type Parameters:
      T - parameter type
      Parameters:
      name - parameter name
      Returns:
      extended parameters