testsendsignedmail.java

来自「用java实现的对电子邮件进行加密解密及签名的算法接口」· Java 代码 · 共 68 行

JAVA
68
字号
package cn.edu.scut.smimeapi.test;
import cn.edu.scut.smimeapi.*;
import javax.mail.internet.*;
import cn.edu.scut.certmgr.*;
import java.security.*;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;


/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class TestSendSignedMail
{
    public static void main(String[] args)
    {
        try
         {
         // create a simple message
         SendSignedMail ssm=new SendSignedMail();
         ssm.setAccount("202.38.212.1","yhliu","yhliu");
         System.out.println("您好,正在准备发送一封签名邮件...");
         MimeMessage msg=ssm.CreateMail("yhliu@saturn.tanglab.net","yhliu@saturn.tanglab.net","test send signed mail By localkey","hello,this is a message by signed!");

         ProviderConfiguration pConfig = new ProviderConfiguration("Config.xml");
        //===================Local KeyStore
        ConfigFileItem configItem = pConfig.getConfigItem(0);
        KeyStoreManager ksMgr = new KeyStoreManager(configItem, "tanglab".toCharArray());//密码


        KeyStoreCertificates storeCerts = ksMgr.getAllCertificates();
        String Certalias=null;

       for(int i=0;i<storeCerts.itemCount();i++)
        {
          if(storeCerts.getCertItem(i).hasPrivateKey())
            {
                String alias = storeCerts.getCertItem(i).getAlias();
                Certalias = alias;
            }
        }


         Certificate cert = ksMgr.getCertificate(Certalias);

         Key key=ksMgr.getKey(Certalias,"tanglab".toCharArray());

         MimeMessage SignedMessage=ssm.CreateSignedMail((PrivateKey)key,(X509Certificate)cert,msg);
         ssm.Send(SignedMessage);
       }
      catch (Exception ex)
      {

         System.err.println("发送签名邮件发生异常:"+ex);
      }

    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?