org.apache.james.transport.mailets.smime
Class Sign

java.lang.Object
  extended by org.apache.mailet.GenericMailet
      extended by org.apache.james.transport.mailets.smime.AbstractSign
          extended by org.apache.james.transport.mailets.smime.Sign
All Implemented Interfaces:
org.apache.mailet.Mailet, org.apache.mailet.MailetConfig
Direct Known Subclasses:
SMIMESign

public class Sign
extends AbstractSign

Puts a server-side signature on a message.
It is a concrete subclass of AbstractSign, with very few modifications to it.

A text file with an explanation text is attached to the original message, and the resulting message with all its attachments is signed. The resulting appearence of the message is almost unchanged: only an extra attachment and the signature are added.

The kind of signuture depends on the value of the <keyHolderClass> init parameter.

Handles the following init parameters (will comment only the differences from AbstractSign):

Since:
2.2.1
Version:
CVS $Revision: 647925 $ $Date: 2008-04-14 19:38:17 +0100 (Mon, 14 Apr 2008) $

Constructor Summary
Sign()
           
 
Method Summary
protected  java.lang.String[] getAllowedInitParameters()
          Gets the expected init parameters.
 java.lang.String getExplanationText()
          If the <explanationText> init parameter is missing returns the following default explanation template string:
 java.lang.String getMailetInfo()
          Return a string describing this mailet.
protected  javax.mail.internet.MimeBodyPart getWrapperBodyPart(org.apache.mailet.Mail mail)
          A text file with the massaged contents of getExplanationText() is attached to the original message.
protected  void initPostmasterSigns()
          If the <postmasterSigns> init parameter is missing sets it to true.
protected  void initRebuildFrom()
          If the <rebuildFrom> init parameter is missing sets it to true.
 
Methods inherited from class org.apache.james.transport.mailets.smime.AbstractSign
fromAddressSameAsReverse, getKeyHolder, getKeyHolderClass, getMessageHeaders, getReplacedExplanationText, getSignerName, init, initDebug, initExplanationText, initKeyHolder, initKeyHolderClass, initSignerName, isDebug, isOkToSign, isPostmasterSigns, isRebuildFrom, service, setDebug, setExplanationText, setKeyHolder, setKeyHolderClass, setPostmasterSigns, setRebuildFrom, setSignerName
 
Methods inherited from class org.apache.mailet.GenericMailet
arrayToString, checkInitParameters, destroy, getInitParameter, getInitParameter, getInitParameterNames, getMailetConfig, getMailetContext, getMailetName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Sign

public Sign()
Method Detail

getMailetInfo

public java.lang.String getMailetInfo()
Return a string describing this mailet.

Specified by:
getMailetInfo in interface org.apache.mailet.Mailet
Overrides:
getMailetInfo in class org.apache.mailet.GenericMailet
Returns:
a string describing this mailet

getAllowedInitParameters

protected java.lang.String[] getAllowedInitParameters()
Description copied from class: AbstractSign
Gets the expected init parameters.

Specified by:
getAllowedInitParameters in class AbstractSign
Returns:
An array containing the parameter names allowed for this mailet.

getExplanationText

public java.lang.String getExplanationText()
If the <explanationText> init parameter is missing returns the following default explanation template string:

 The message this file is attached to has been signed on the server by
     "[signerName]" <[signerAddress]>
 to certify that the sender is known and truly has the following address (reverse-path):
     [reversePath]
 and that the original message has the following message headers:

 [headers]

 The signature envelopes this attachment too.
 Please check the signature integrity.

     "[signerName]" <[signerAddress]>
 

Overrides:
getExplanationText in class AbstractSign
Returns:
Value of property explanationText.

initPostmasterSigns

protected void initPostmasterSigns()
If the <postmasterSigns> init parameter is missing sets it to true.

Overrides:
initPostmasterSigns in class AbstractSign

initRebuildFrom

protected void initRebuildFrom()
                        throws javax.mail.MessagingException
If the <rebuildFrom> init parameter is missing sets it to true.

Overrides:
initRebuildFrom in class AbstractSign
Throws:
javax.mail.MessagingException

getWrapperBodyPart

protected javax.mail.internet.MimeBodyPart getWrapperBodyPart(org.apache.mailet.Mail mail)
                                                       throws javax.mail.MessagingException,
                                                              java.io.IOException
A text file with the massaged contents of getExplanationText() is attached to the original message.

Specified by:
getWrapperBodyPart in class AbstractSign
Parameters:
mail - The mail to massage.
Returns:
The massaged MimeBodyPart to sign, or null to have the whole message signed "as is".
Throws:
javax.mail.MessagingException
java.io.IOException


Copyright © 2008 The Apache Software Foundation. All Rights Reserved.