Email mit public-key verschlüsseln

Chebura

Mitglied
Hallo, ich muss eine versenden, dessen Inhalt (also der Textkörper) und der Anhang mit dem public-key verschlüsselt ist, sodass der Empfänger nur mit seinem private-key entschlüsseln kann.
Ich habe jetzt sehr viele Möglichkeiten der Verschlüsselung in Java bezüglich der mail gelesen und kann nicht einschätzen, ob das das richtige ist:

Java:
FileInputStream keyfis = new FileInputStream("C:/workspace/hatma/webapp/Digitale_Entrust-ID.p7c");
byte[] encKey = new byte[keyfis.available()];
keyfis.read(encKey);
keyfis.close();
X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey);
KeyFactory keyFactory = KeyFactory.getInstance("DSA", "SUN");
//den erzeugten Public Key irgendwie beim EmailVersand verwenden
PublicKey pubKey = keyFactory.generatePublic(pubKeySpec);

Jetzt die Email selbst ohne Verschlüsselung:

Java:
String to = "destinationemail@gmail.com";
       
        String from = "fromemail@gmail.com";

        final String username = "manishaspatil";//Sender Benutzername
        final String password = "******";//Sender passwort
        String host = "relay.jangosmtp.net";

        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", "25");

        // Get the Session object.
        Session session = Session.getInstance(props,
           new javax.mail.Authenticator() {
              protected PasswordAuthentication getPasswordAuthentication() {
                 return new PasswordAuthentication(username, password);
              }
           });

        try {
       
           Message message = new MimeMessage(session);
           message.setFrom(new InternetAddress(from));       
           message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
           message.setSubject("Excel export");
           BodyPart messageBodyPart = new MimeBodyPart();
           messageBodyPart.setText("This is message body");
           Multipart multipart = new MimeMultipart();
           multipart.addBodyPart(messageBodyPart);
           messageBodyPart = new MimeBodyPart();
           String filename = "./meineExcelListe.xlsx"; //diese Excel muss verschlüsselt übertragen werden
           DataSource source = new FileDataSource(filename);
           messageBodyPart.setDataHandler(new DataHandler(source));
           messageBodyPart.setFileName(filename);
           multipart.addBodyPart(messageBodyPart);
           message.setContent(multipart);
           Transport.send(message);

Wie kriege ich es hin, dass nur Sender, Empfänger und Betreff lesbar sind, aber nicht die Email selbst bzw. nicht der Anhang?
Danke
 

Neue Themen


Zurück
Oben