Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.github.joschi.jersey.security.smime;
  
 

Author(s):
Bill Burke
Version:
$Revision: 1 $
 
 public class EnvelopedInputImpl implements EnvelopedInput {
     private PrivateKey privateKey;
     private X509Certificate certificate;
     private Class type;
     private Type genericType;
     private MimeBodyPart body;
     private Annotation[] annotations;
     private Providers providers;
 
     public PrivateKey getPrivateKey() {
         return ;
     }
 
     public void setPrivateKey(PrivateKey privateKey) {
         this. = privateKey;
     }
 
     public X509Certificate getCertificate() {
         return ;
     }
 
     public void setCertificate(X509Certificate certificate) {
         this. = certificate;
     }
 
     public Class getType() {
         return ;
     }
 
     public void setType(Class type) {
         this. = type;
     }
 
     public void setType(GenericType type) {
         this. = type.getType();
         this. = type.getGenericType();
     }
 
     public Type getGenericType() {
         return ;
     }
 
     public void setGenericType(Type genericType) {
         this. = genericType;
     }
 
     public MimeBodyPart getBody() {
         return ;
     }
 
     public void setBody(MimeBodyPart body) {
         this. = body;
     }
 
     public Annotation[] getAnnotations() {
         return .clone();
     }
 
     public void setAnnotations(Annotation[] annotations) {
         this. = annotations.clone();
     }
 
     public Providers getProviders() {
         return ;
     }
 
     public void setProviders(Providers providers) {
         this. = providers;
     }
    public Object getEntity() {
    }
    public Object getEntity(PrivateKey pKeyX509Certificate cert) {
        return getEntity(pKeycert);
    }
    public Object getEntity(Class type) {
        return getEntity(typenull);
    }
    public Object getEntity(Class typePrivateKey keyX509Certificate cert) {
        return getEntity(typenullkeycert);
    }
    public Object getEntity(GenericType type) {
        return getEntity(type.getType(), type.getGenericType(), );
    }
    public Object getEntity(GenericType typePrivateKey keyX509Certificate cert) {
        return getEntity(typekeycert);
    }
    public Object getEntity(GenericType gtAnnotation[] annPrivateKey pKeyX509Certificate cert) {
        return getEntity(gt.getType(), gt.getGenericType(), annpKeycert);
    }
    public Object getEntity(Class tType gtAnnotation[] annPrivateKey pKeyX509Certificate cert) {
        final MimeBodyPart decrypted;
        try {
            MimeBodyPart encryptedBodyPart = ;
            SMIMEEnveloped m = new SMIMEEnveloped(encryptedBodyPart);
            JceKeyTransRecipientId recId = new JceKeyTransRecipientId(cert);
            RecipientInformationStore recipients = m.getRecipientInfos();
            RecipientInformation recipientInfo = recipients.get(recId);
            Recipient recipient = new JceKeyTransEnvelopedRecipient(pKey).setProvider("BC");
            decrypted = SMIMEUtil.toMimeBodyPart(recipientInfo.getContent(recipient));
        } catch (Exception e1) {
            throw new RuntimeException(e1);
        }
        return extractEntity(tgtanndecrypted);
    }
    public static <T> Object extractEntity(Class<T> tType gtAnnotation[] annMimeBodyPart decryptedProviders providers) {
        MultivaluedMap<StringStringmimeHeaders = new InBoundHeaders();
        final Enumeration e;
        try {
            e = decrypted.getAllHeaders();
        } catch (MessagingException e1) {
            throw new RuntimeException(e1);
        }
        while (e.hasMoreElements()) {
            Header header = (Headere.nextElement();
            mimeHeaders.add(header.getName(), header.getValue());
        }
        String contentType = "text/plain";
        if (mimeHeaders.containsKey("Content-Type")) {
            contentType = mimeHeaders.getFirst("Content-Type");
        }
        MediaType mediaType = MediaType.valueOf(contentType);
        MessageBodyReader<T> reader = providers.getMessageBodyReader(tgtannmediaType);
        if (reader == null) {
            throw new RuntimeException("Could not find a message body reader for type: " + t.getClass().getName());
        }
        try {
            InputStream inputStream = decrypted.getInputStream();
            return reader.readFrom(tgtannmediaTypemimeHeadersinputStream);
        } catch (Exception e1) {
            throw new RuntimeException(e1);
        }
    }
New to GrepCode? Check out our FAQ X