public class MimeHeaderC14N
extends java.lang.Object
Each of the MIME headers listed for the Attachment-Complete transform MUST be canonicalized as part of that transform processing, as outlined in this section. This means the transform MUST perform the following actions in interpreting the MIME headers for signature creation or verification (this order is not prescriptive as long as the same result is obtained)
Constructor and Description |
---|
MimeHeaderC14N() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
canonicalizeContentDescription(java.lang.String contentDescription)
Canonicalize the Content-Description by doing an RFC 2047 decode
|
static java.lang.String |
canonicalizeContentDisposition(java.lang.String contentDisposition)
Canonicalize the Content-Dispostion by removing any comments, lowercase the disposition type and parameter name, sorting the parameters by name, and uniformly putting in double quotes
|
static java.lang.String |
canonicalizeContentId(java.lang.String contentId)
Canonicalize the ContentId, by parsing the address into its constituent parts.
|
static java.lang.String |
canonicalizeContentLocation(java.lang.String contentLocation, boolean decode)
Canonicalize the Content-Location, by removing any comments and any folding white space, and optionally decoding it
|
static java.lang.String |
canonicalizeContentType(java.lang.String contentType)
Canonicalize the Content-Type, by lowercasing he type and subtype, sorting the parameters, and lowercasing the parameter names
|
static java.lang.String |
canonicalizeHeader(java.lang.String header) |
static java.lang.String |
canonicalizeMimeHeaders(javax.xml.soap.AttachmentPart ap)
Canonicalize the 5 mime headers in the following order Content-Description Content-Disposition Content-ID Content-Location Content-Type
|
static java.lang.String |
canonicalizeParameterList(ParameterList plist) |
static java.lang.String |
quote(java.lang.String s) |
public static java.lang.String canonicalizeContentLocation(java.lang.String contentLocation, boolean decode) throws ParseException, java.io.UnsupportedEncodingException
According to RFC 2557
content-location := "Content-Location:" [CFWS] URI [CFWS]where CFWS is comments and folding white space. If the URI has any non ASCII characters they must be encoded according to RFC 2047.e.g
=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?=
contentLocation
- original headerdecode
- whether to decode the RFC 2047 encodingParseException
java.io.UnsupportedEncodingException
public static java.lang.String canonicalizeContentDisposition(java.lang.String contentDisposition) throws ParseException
contentDisposition
- original headerdecode
-ParseException
public static java.lang.String canonicalizeContentDescription(java.lang.String contentDescription) throws java.io.UnsupportedEncodingException
contentDescription
- original headerjava.io.UnsupportedEncodingException
public static java.lang.String canonicalizeContentId(java.lang.String contentId) throws AddressException
contentId
- original headerAddressException
public static java.lang.String canonicalizeContentType(java.lang.String contentType) throws ParseException
contentType
- original headerParseException
public static java.lang.String canonicalizeParameterList(ParameterList plist)
public static java.lang.String quote(java.lang.String s)
public static java.lang.String canonicalizeHeader(java.lang.String header)
public static java.lang.String canonicalizeMimeHeaders(javax.xml.soap.AttachmentPart ap) throws java.io.UnsupportedEncodingException, ParseException, AddressException
java.io.UnsupportedEncodingException
ParseException
AddressException