@Override public void writeTo(SignedOutput out, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> headers, OutputStream os) throws IOException, WebApplicationException { try { SMIMESignedGenerator gen = new SMIMESignedGenerator(); SignerInfoGenerator signer = new JcaSimpleSignerInfoGeneratorBuilder().setProvider("BC").build("SHA1WITHRSA", out.getPrivateKey(), out.getCertificate()); gen.addSignerInfoGenerator(signer); MimeMultipart mp = gen.generate(EnvelopedWriter.createBodyPart(providers, out)); String contentType = mp.getContentType(); contentType = contentType.replace("\r\n", "").replace("\t", " "); headers.putSingle("Content-Type", contentType); mp.writeTo(os); } catch (Exception e) { throw new WriterException(e); } } }
/** * Generates a signed MimeMultipart from a MimeMessage. * @param message The message to sign. * @return The signed <CODE>MimeMultipart</CODE>. */ @Override public MimeMultipart generate(MimeMessage message) throws CertStoreException, NoSuchAlgorithmException, NoSuchProviderException, SMIMEException, OperatorCreationException, CertificateEncodingException { // create the generator for creating an smime/signed MimeMultipart SMIMESignedGenerator generator = createGenerator(); // do it return generator.generate(message); }
/** * Generates a signed MimeMultipart from a MimeBodyPart. * @param content The content to sign. * @return The signed <CODE>MimeMultipart</CODE>. */ @Override public MimeMultipart generate(MimeBodyPart content) throws CertStoreException, NoSuchAlgorithmException, NoSuchProviderException, SMIMEException, OperatorCreationException, CertificateEncodingException { // create the generator for creating an smime/signed MimeMultipart SMIMESignedGenerator generator = createGenerator(); // do it return generator.generate(content); }
SMIMESignedGenerator gen = new SMIMESignedGenerator(); SignerInfoGenerator sigGen = new JcaSimpleSignerInfoGeneratorBuilder() .setProvider(BC) .build("SHA1withRSA", senderKey, senderCert); gen.addSignerInfoGenerator(sigGen); MimeMultipart smime = gen.generate(part); MimeBodyPart tmpBody = new MimeBodyPart(); tmpBody.setContent(smime); tmpBody.setHeader("Content-Type", smime.getContentType()); return tmpBody;
signedData = sGen.generate(part);
MimeMultipart mm = signer.generate(getMimeMessage(sourcePackage)); MimeMessage signedMessage = new MimeMessage(session);
MimeMultipart mm = gen.generate(msg, "BC");
final MimeMultipart aSignedData = aSGen.generate (aPart);
MimeMultipart mm = signer.generate(message);
mimeMultipart = smimeSignedGenerator.generate(mimeBodyPart); } catch (SMIMEException e) { throw new OxalisTransmissionException("Unable to generate signed mime multipart." + e.getMessage(), e);
mimeMultipart = smimeSignedGenerator.generate(mimeBodyPart); } catch (SMIMEException e) { throw new OxalisTransmissionException("Unable to generate signed mime multipart." + e.getMessage(), e);