- All Implemented Interfaces:
WebCertificateReference
,WebCryptoHeader
,WebKeyReference
WebCryptoHeader
implementation.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Extension provider interface.Nested classes/interfaces inherited from interface edu.iu.crypt.WebCertificateReference
WebCertificateReference.Builder<B extends WebCertificateReference.Builder<B>>
Nested classes/interfaces inherited from interface edu.iu.crypt.WebCryptoHeader
WebCryptoHeader.Builder<B extends WebCryptoHeader.Builder<B>>, WebCryptoHeader.Param
Nested classes/interfaces inherited from interface edu.iu.crypt.WebKeyReference
WebKeyReference.Builder<B extends WebKeyReference.Builder<B>>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) JsonObject
Gets the extended parameters.(package private) static Jose
from
(JsonObject protectedHeader, JsonObject sharedHeader, JsonObject perRecipientHeader) Creates a JOSE header from serialized headers.Gets the header type parameter value.Gets the set of critical parameter names.<T> T
getExtendedParameter
(String name) Gets extended parameters.(package private) static <T> Jose.Extension
<T> getExtension
(String parameterName) Gets a registered extension.getKey()
Gets the well-known key data.Gets the URI where JWKS well-known key data can be retrieved.getType()
Gets the header type parameter value.static <T> void
register
(String parameterName, Jose.Extension<T> extension) Registers an extension.(package private) JsonObject
Gets the JOSE header as JSON.toString()
(package private) Jwk
Gets the verified well-known key resolved for this header.Methods inherited from class iu.crypt.JsonKeyReference
equals, getAlgorithm, getKeyId, hashCode, represents, serializeTo
Methods inherited from class iu.crypt.JsonCertificateReference
getCertificateChain, getCertificateSha256Thumbprint, getCertificateThumbprint, getCertificateUri, verifiedCertificateChain
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface edu.iu.crypt.WebCertificateReference
getCertificateChain, getCertificateSha256Thumbprint, getCertificateThumbprint, getCertificateUri
Methods inherited from interface edu.iu.crypt.WebCryptoHeader
getAlgorithm, getKeyId
-
Constructor Details
-
Jose
Jose(JsonValue joseValue) Constructor.- Parameters:
joseValue
- header parameters
-
-
Method Details
-
register
Registers an extension.- Type Parameters:
T
- parameter type- Parameters:
parameterName
- parameter name; must not be a registered parameter name enumerated byWebCryptoHeader.Param
, should be collision-resistant. Take care when usingJose.Extension
to implement an IANA Registered Parameter not enumerated byWebCryptoHeader.Param
, since these may be implemented internally in a future release.extension
- provider implementation- See Also:
-
getExtension
Gets a registered extension.- Type Parameters:
T
- parameter type- Parameters:
parameterName
- parameter name- Returns:
- extension registered for the named parameter
-
from
static Jose from(JsonObject protectedHeader, JsonObject sharedHeader, JsonObject perRecipientHeader) Creates a JOSE header from serialized headers.- Parameters:
protectedHeader
- protected header datasharedHeader
- unprotected shared header dataperRecipientHeader
- unprotected per-recipient header data- Returns:
- JOSE header
-
getKeySetUri
Description copied from interface:WebCryptoHeader
Gets the URI where JWKS well-known key data can be retrieved.- Specified by:
getKeySetUri
in interfaceWebCryptoHeader
- Returns:
URI
-
getKey
Description copied from interface:WebCryptoHeader
Gets the well-known key data.- Specified by:
getKey
in interfaceWebCryptoHeader
- Returns:
WebKey
-
getType
Description copied from interface:WebCryptoHeader
Gets the header type parameter value.- Specified by:
getType
in interfaceWebCryptoHeader
- Returns:
- header type parameter value.
-
getContentType
Description copied from interface:WebCryptoHeader
Gets the header type parameter value.- Specified by:
getContentType
in interfaceWebCryptoHeader
- Returns:
- header type parameter value.
-
getCriticalParameters
Description copied from interface:WebCryptoHeader
Gets the set of critical parameter names.- Specified by:
getCriticalParameters
in interfaceWebCryptoHeader
- Returns:
- critical parameter names
-
getExtendedParameter
Description copied from interface:WebCryptoHeader
Gets extended parameters.- Specified by:
getExtendedParameter
in interfaceWebCryptoHeader
- Type Parameters:
T
- parameter type- Parameters:
name
- parameter name- Returns:
- extended parameters
-
toString
- Overrides:
toString
in classJsonCertificateReference<Jose>
-
wellKnown
Jwk wellKnown()Gets the verified well-known key resolved for this header.- Returns:
- well-known key
-
extendedParameters
JsonObject extendedParameters()Gets the extended parameters.- Returns:
- extended parameters
-
toJson
Gets the JOSE header as JSON.- Parameters:
nameFilter
- accepts standard or extended param name and returns true to include the parameter; else false- Returns:
JsonObject
; null if no parameters match the filter
-