net.suberic.crypto
Class EncryptionUtils

java.lang.Object
  extended bynet.suberic.crypto.EncryptionUtils
Direct Known Subclasses:
PGPEncryptionUtils

public abstract class EncryptionUtils
extends java.lang.Object

Utilities for encrypting/decrypting messages.


Field Summary
static int ATTACHED_KEYS
          Contains encryption keys.
static int ENCRYPTED
          Encrypted message.
static int NOT_ENCRYPTED
          Not encrypted or signed.
static int SIGNED
          Signed message.
 
Constructor Summary
EncryptionUtils()
           
 
Method Summary
abstract  boolean checkSignature(javax.mail.internet.MimeMessage m, java.security.Key key)
          Checks the signature on a Message.
abstract  boolean checkSignature(javax.mail.internet.MimeMultipart m, java.security.Key key)
          Checks the signature on a Multipart.
abstract  boolean checkSignature(javax.mail.internet.MimePart p, java.security.Key key)
          Checks the signature on a Part.
abstract  EncryptionKeyManager createKeyManager()
          Creates an empty EncryptionKeyManager that's appropriate for this Encryption provider.
abstract  javax.mail.internet.MimeBodyPart createPublicKeyPart(java.security.Key[] keys)
          Creates a public key body part.
abstract  javax.mail.internet.MimeBodyPart decryptBodyPart(javax.mail.internet.MimeBodyPart part, java.security.Key key)
          Decrypts a MimeBodyPart.
abstract  javax.mail.internet.MimeMessage decryptMessage(javax.mail.Session s, javax.mail.internet.MimeMessage msg, java.security.Key key)
          Decrypts a MimeMessage.
abstract  javax.mail.internet.MimeBodyPart decryptMultipart(javax.mail.internet.MimeMultipart mpart, java.security.Key key)
          Decrypts a Multipart.
abstract  javax.mail.internet.MimeMessage encryptMessage(javax.mail.Session s, javax.mail.internet.MimeMessage msg, java.security.Key key)
          Encrypts a MimeMessage.
abstract  javax.mail.internet.MimeBodyPart encryptPart(javax.mail.internet.MimeBodyPart part, java.security.Key key)
          Encrypts a MimeBodyPart;
abstract  java.security.Key[] extractKeys(javax.mail.internet.MimeBodyPart mbp)
          Extracts keys from a public key body part.
abstract  java.security.Key[] extractKeys(javax.mail.internet.MimeMessage m)
          Extracts keys from a public key body part.
abstract  int getEncryptionStatus(javax.mail.internet.MimePart m)
          Returns the encryption status of this MimePart: ENCRYPTED, SIGNED, ATTACHED_KEYS, or NOT_ENCRYPTED.
abstract  javax.mail.internet.MimeBodyPart getSignedContent(javax.mail.internet.MimePart mp)
          Returns the signed body part.
abstract  java.lang.String getType()
          Returns the encryption type that these utils are implementing (PGP or SMIME).
abstract  javax.mail.internet.MimeBodyPart signBodyPart(javax.mail.internet.MimeBodyPart p, java.security.Key key)
          Signs a MimeBodyPart.
abstract  javax.mail.internet.MimeMessage signMessage(javax.mail.Session s, javax.mail.internet.MimeMessage m, java.security.Key key)
          Signs a Message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ENCRYPTED

public static int ENCRYPTED
Encrypted message.


SIGNED

public static int SIGNED
Signed message.


ATTACHED_KEYS

public static int ATTACHED_KEYS
Contains encryption keys.


NOT_ENCRYPTED

public static int NOT_ENCRYPTED
Not encrypted or signed.

Constructor Detail

EncryptionUtils

public EncryptionUtils()
Method Detail

encryptMessage

public abstract javax.mail.internet.MimeMessage encryptMessage(javax.mail.Session s,
                                                               javax.mail.internet.MimeMessage msg,
                                                               java.security.Key key)
                                                        throws javax.mail.MessagingException,
                                                               java.io.IOException,
                                                               java.security.GeneralSecurityException
Encrypts a MimeMessage.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

decryptMessage

public abstract javax.mail.internet.MimeMessage decryptMessage(javax.mail.Session s,
                                                               javax.mail.internet.MimeMessage msg,
                                                               java.security.Key key)
                                                        throws javax.mail.MessagingException,
                                                               java.io.IOException,
                                                               java.security.GeneralSecurityException
Decrypts a MimeMessage.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

encryptPart

public abstract javax.mail.internet.MimeBodyPart encryptPart(javax.mail.internet.MimeBodyPart part,
                                                             java.security.Key key)
                                                      throws javax.mail.MessagingException,
                                                             java.security.GeneralSecurityException,
                                                             java.io.IOException
Encrypts a MimeBodyPart;

Throws:
javax.mail.MessagingException
java.security.GeneralSecurityException
java.io.IOException

decryptBodyPart

public abstract javax.mail.internet.MimeBodyPart decryptBodyPart(javax.mail.internet.MimeBodyPart part,
                                                                 java.security.Key key)
                                                          throws javax.mail.MessagingException,
                                                                 java.io.IOException,
                                                                 java.security.GeneralSecurityException
Decrypts a MimeBodyPart.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

decryptMultipart

public abstract javax.mail.internet.MimeBodyPart decryptMultipart(javax.mail.internet.MimeMultipart mpart,
                                                                  java.security.Key key)
                                                           throws javax.mail.MessagingException,
                                                                  java.io.IOException,
                                                                  java.security.GeneralSecurityException
Decrypts a Multipart.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

signBodyPart

public abstract javax.mail.internet.MimeBodyPart signBodyPart(javax.mail.internet.MimeBodyPart p,
                                                              java.security.Key key)
                                                       throws javax.mail.MessagingException,
                                                              java.io.IOException,
                                                              java.security.GeneralSecurityException
Signs a MimeBodyPart.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

checkSignature

public abstract boolean checkSignature(javax.mail.internet.MimePart p,
                                       java.security.Key key)
                                throws javax.mail.MessagingException,
                                       java.io.IOException,
                                       java.security.GeneralSecurityException
Checks the signature on a Part.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

signMessage

public abstract javax.mail.internet.MimeMessage signMessage(javax.mail.Session s,
                                                            javax.mail.internet.MimeMessage m,
                                                            java.security.Key key)
                                                     throws javax.mail.MessagingException,
                                                            java.io.IOException,
                                                            java.security.GeneralSecurityException
Signs a Message.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

checkSignature

public abstract boolean checkSignature(javax.mail.internet.MimeMessage m,
                                       java.security.Key key)
                                throws javax.mail.MessagingException,
                                       java.io.IOException,
                                       java.security.GeneralSecurityException
Checks the signature on a Message.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

checkSignature

public abstract boolean checkSignature(javax.mail.internet.MimeMultipart m,
                                       java.security.Key key)
                                throws javax.mail.MessagingException,
                                       java.io.IOException,
                                       java.security.GeneralSecurityException
Checks the signature on a Multipart.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

getSignedContent

public abstract javax.mail.internet.MimeBodyPart getSignedContent(javax.mail.internet.MimePart mp)
                                                           throws javax.mail.MessagingException,
                                                                  java.io.IOException
Returns the signed body part.

Throws:
javax.mail.MessagingException
java.io.IOException

createPublicKeyPart

public abstract javax.mail.internet.MimeBodyPart createPublicKeyPart(java.security.Key[] keys)
                                                              throws javax.mail.MessagingException,
                                                                     java.io.IOException,
                                                                     java.security.GeneralSecurityException
Creates a public key body part.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

extractKeys

public abstract java.security.Key[] extractKeys(javax.mail.internet.MimeBodyPart mbp)
                                         throws javax.mail.MessagingException,
                                                java.io.IOException,
                                                java.security.GeneralSecurityException
Extracts keys from a public key body part.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

extractKeys

public abstract java.security.Key[] extractKeys(javax.mail.internet.MimeMessage m)
                                         throws javax.mail.MessagingException,
                                                java.io.IOException,
                                                java.security.GeneralSecurityException
Extracts keys from a public key body part.

Throws:
javax.mail.MessagingException
java.io.IOException
java.security.GeneralSecurityException

createKeyManager

public abstract EncryptionKeyManager createKeyManager()
Creates an empty EncryptionKeyManager that's appropriate for this Encryption provider.


getEncryptionStatus

public abstract int getEncryptionStatus(javax.mail.internet.MimePart m)
                                 throws javax.mail.MessagingException
Returns the encryption status of this MimePart: ENCRYPTED, SIGNED, ATTACHED_KEYS, or NOT_ENCRYPTED.

Throws:
javax.mail.MessagingException

getType

public abstract java.lang.String getType()
Returns the encryption type that these utils are implementing (PGP or SMIME).