package org.jboss.resteasy.test.crypto.resource;
import org.jboss.resteasy.security.BouncyIntegration;
import org.jboss.resteasy.security.KeyTools;
import org.jboss.resteasy.security.smime.SignedOutput;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
@Path("/test")
public class PKCS7SignatureSmokeResource {
private X509Certificate cert;
private PrivateKey privateKey;
public PKCS7SignatureSmokeResource() {
try {
BouncyIntegration.init();
KeyPair keyPair = KeyPairGenerator.getInstance("RSA", "BC").generateKeyPair();
privateKey = keyPair.getPrivate();
cert = KeyTools.generateTestCertificate(keyPair);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@GET
@Path("signed/pkcs7-signature")
@Produces("application/pkcs7-signature")
public SignedOutput get() {
SignedOutput output = new SignedOutput("hello world", "text/plain");
output.setCertificate(cert);
output.setPrivateKey(privateKey);
return output;
}
@GET
@Path("signed/text")
@Produces("text/plain")
public SignedOutput getText() {
SignedOutput output = new SignedOutput("hello world", "text/plain");
output.setCertificate(cert);
output.setPrivateKey(privateKey);
return output;
}
}