public class SMimeSendDemo extends java.lang.Object
To run this demo the following packages are required:
iaik_cms.jar
(IAIK-CMS/SMIME)
iaik_jce(_full).jar
(IAIK-JCE Core Crypto Library).
SMimeSend [-H host] [-S sender name] [-F (From) sender address] [-T (To) recipient address]Example:
SMimeSend -H mailhost -S \"John SMime\" -F smimetest@iaik.tugraz.at -T smimetest@iaik.tugraz.atBy default this demo used "mailhost" as host, "John SMime" as sender name, and "smimetest@iaik.tugraz.at" as sender and also as recipient mail address. "smimetest@iaik.tugraz.at" is also the email address contained in the demo certificates. Although you should specify other email addresses to send the test messages to yourself, be aware that the certificate email check may fail on the receiving side (
SMimeShowDemo
).EncryptedContent
,
SignedContent
Constructor and Description |
---|
SMimeSendDemo()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
jakarta.mail.Message |
createCertsOnlyMessage(jakarta.mail.Session session)
Creates a certs-only message.
|
jakarta.mail.Message |
createCertsOnlyMultiPartMessage(jakarta.mail.Session session)
Creates a certs-only message where the certificate list is transferred as attachment.
|
jakarta.mail.Message |
createEncryptedMessage(jakarta.mail.Session session,
iaik.asn1.structures.AlgorithmID algorithm,
int keyLength)
Creates an encrypted message.
|
jakarta.mail.Message |
createMessage(jakarta.mail.Session session,
java.lang.String subject)
Creates a MIME message container with the given subject for the given session.
|
jakarta.mail.Message |
createPKCS10Message(jakarta.mail.Session session)
Creates a PKCS#10 certificate request message.
|
jakarta.mail.Message |
createPKCS10MultiPartMessage(jakarta.mail.Session session)
Creates a PKCS#10 message where the certificate request is transferred as attachment.
|
jakarta.mail.Message |
createPlainMessage(jakarta.mail.Session session,
jakarta.activation.DataHandler dataHandler)
Creates a simple plain (neither signed nor encrypted) message.
|
jakarta.mail.Message |
createSignedAndEncryptedMessage(jakarta.mail.Session session,
jakarta.activation.DataHandler dataHandler,
boolean implicit)
Creates a signed and encrypted message.
|
jakarta.mail.Message |
createSignedMessage(jakarta.mail.Session session,
jakarta.activation.DataHandler dataHandler,
boolean implicit)
Creates a signed message.
|
static void |
main(java.lang.String[] argv)
Main method.
|
void |
start(java.lang.String[] argv)
Starts the demo.
|
public SMimeSendDemo()
public void start(java.lang.String[] argv) throws java.io.IOException
argv
- optional parameters like mailhost, sender name,...java.io.IOException
- if an I/O related error occurspublic jakarta.mail.Message createMessage(jakarta.mail.Session session, java.lang.String subject) throws jakarta.mail.MessagingException
session
- the mail sesionsubject
- the subject of the messagejakarta.mail.MessagingException
- if the message cannot be createdpublic jakarta.mail.Message createPlainMessage(jakarta.mail.Session session, jakarta.activation.DataHandler dataHandler) throws jakarta.mail.MessagingException
session
- the mail sessiondataHandler
- the content of the messagejakarta.mail.MessagingException
- if an error occurs when creating the messagepublic jakarta.mail.Message createSignedAndEncryptedMessage(jakarta.mail.Session session, jakarta.activation.DataHandler dataHandler, boolean implicit) throws jakarta.mail.MessagingException
session
- the mail sessiondataHandler
- the content of the message to be signed and encryptedimplicit
- whether to use implicit (application/pkcs7-mime) or explicit
(multipart/signed) signingjakarta.mail.MessagingException
- if an error occurs when creating the messagepublic jakarta.mail.Message createSignedMessage(jakarta.mail.Session session, jakarta.activation.DataHandler dataHandler, boolean implicit) throws jakarta.mail.MessagingException
session
- the mail sessiondataHandler
- the content of the message to be signedimplicit
- whether to use implicit (application/pkcs7-mime) or explicit
(multipart/signed) signingjakarta.mail.MessagingException
- if an error occurs when creating the messagepublic jakarta.mail.Message createEncryptedMessage(jakarta.mail.Session session, iaik.asn1.structures.AlgorithmID algorithm, int keyLength) throws jakarta.mail.MessagingException
session
- the mail sessionalgorithm
- the content encryption algorithm to be usedkeyLength
- the length of the secret content encryption key to be created and usedjakarta.mail.MessagingException
- if an error occurs when creating the messagepublic jakarta.mail.Message createCertsOnlyMessage(jakarta.mail.Session session) throws jakarta.mail.MessagingException
session
- the mail sessionjakarta.mail.MessagingException
- if an error occurs when creating the messagepublic jakarta.mail.Message createCertsOnlyMultiPartMessage(jakarta.mail.Session session) throws jakarta.mail.MessagingException
session
- the mail sessionjakarta.mail.MessagingException
- if an error occurs when creating the messagepublic jakarta.mail.Message createPKCS10Message(jakarta.mail.Session session) throws jakarta.mail.MessagingException
session
- the mail sessionjakarta.mail.MessagingException
- if an error occurs when creating the messagepublic jakarta.mail.Message createPKCS10MultiPartMessage(jakarta.mail.Session session) throws jakarta.mail.MessagingException
session
- the mail sessionjakarta.mail.MessagingException
- if an error occurs when creating the messagepublic static void main(java.lang.String[] argv) throws java.io.IOException
java.io.IOException