Class PKCS7SignatureWriter
java.lang.Object
org.jboss.resteasy.security.smime.PKCS7SignatureWriter
- All Implemented Interfaces:
jakarta.ws.rs.ext.MessageBodyWriter<SignedOutput>
,AsyncMessageBodyWriter<SignedOutput>
@Provider
@Produces("application/pkcs7-signature")
public class PKCS7SignatureWriter
extends Object
implements AsyncMessageBodyWriter<SignedOutput>
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionasyncWriteTo
(SignedOutput out, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String, Object> headers, AsyncOutputStream entityStream) Write a type to an HTTP message using async IO.long
getSize
(SignedOutput smimeOutput, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType) boolean
isWriteable
(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType) static byte[]
sign
(jakarta.ws.rs.ext.Providers providers, SignedOutput out) void
writeTo
(SignedOutput out, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String, Object> headers, OutputStream os)
-
Field Details
-
providers
@Context protected jakarta.ws.rs.ext.Providers providers
-
-
Constructor Details
-
PKCS7SignatureWriter
public PKCS7SignatureWriter()
-
-
Method Details
-
isWriteable
public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType) - Specified by:
isWriteable
in interfacejakarta.ws.rs.ext.MessageBodyWriter<SignedOutput>
-
getSize
public long getSize(SignedOutput smimeOutput, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType) - Specified by:
getSize
in interfacejakarta.ws.rs.ext.MessageBodyWriter<SignedOutput>
-
writeTo
public void writeTo(SignedOutput out, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String, Object> headers, OutputStream os) throws IOException, jakarta.ws.rs.WebApplicationException- Specified by:
writeTo
in interfacejakarta.ws.rs.ext.MessageBodyWriter<SignedOutput>
- Throws:
IOException
jakarta.ws.rs.WebApplicationException
-
asyncWriteTo
public CompletionStage<Void> asyncWriteTo(SignedOutput out, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String, Object> headers, AsyncOutputStream entityStream) Description copied from interface:AsyncMessageBodyWriter
Write a type to an HTTP message using async IO. The message header map is mutable but any changes must be made before writing to the async output stream since the headers will be flushed prior to writing the message body.- Specified by:
asyncWriteTo
in interfaceAsyncMessageBodyWriter<SignedOutput>
- Parameters:
out
- the instance to write.type
- the class of instance that is to be written.genericType
- the type of instance to be written.GenericEntity
provides a way to specify this information at runtime.annotations
- an array of the annotations attached to the message entity instance.mediaType
- the media type of the HTTP entity.headers
- a mutable map of the HTTP message headers.entityStream
- theAsyncOutputStream
for the HTTP entity. The implementation should not close the output stream.- Returns:
- a
CompletionStage
indicating completion
-
sign
public static byte[] sign(jakarta.ws.rs.ext.Providers providers, SignedOutput out) throws IOException, NoSuchAlgorithmException, NoSuchProviderException, org.bouncycastle.cms.CMSException, org.bouncycastle.operator.OperatorCreationException, CertificateEncodingException - Throws:
IOException
NoSuchAlgorithmException
NoSuchProviderException
org.bouncycastle.cms.CMSException
org.bouncycastle.operator.OperatorCreationException
CertificateEncodingException
-