package org.jboss.resteasy.test.crypto.resource; import org.jboss.resteasy.security.smime.EnvelopedInput; import org.jboss.resteasy.security.smime.EnvelopedOutput; import org.jboss.resteasy.security.smime.SignedInput; import org.jboss.resteasy.security.smime.SignedOutput; import org.junit.Assert; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; @Path("/smime/encrypted/signed") public class CryptoEncryptedSignedResource { @GET public EnvelopedOutput get() { SignedOutput signed = new SignedOutput("hello world", "text/plain"); signed.setCertificate(CryptoCertResource.cert); signed.setPrivateKey(CryptoCertResource.privateKey); EnvelopedOutput output = new EnvelopedOutput(signed, "multipart/signed"); output.setCertificate(CryptoCertResource.cert); return output; } @POST public void post(EnvelopedInput<SignedInput<String>> input) throws Exception { SignedInput<String> str = input.getEntity(CryptoCertResource.privateKey, CryptoCertResource.cert); Assert.assertEquals("input", str.getEntity()); Assert.assertTrue(str.verify(CryptoCertResource.cert)); } }