⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wtlscertificatetest.java

📁 本程序在eclips 下开发
💻 JAVA
字号:
package j;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.text.DateFormat;
import java.text.Format;
import java.text.SimpleDateFormat;

import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.asn1.x509.X509Name;
import org.bouncycastle.jce.spec.ECParameterSpec;
import org.bouncycastle.jce.spec.ECPrivateKeySpec;
import org.bouncycastle.jce.spec.ECPublicKeySpec;
import org.bouncycastle.math.ec.ECCurve;
import org.bouncycastle.util.encoders.Hex;

import java.util.Calendar;
import java.util.Date;



public class WTLScertificatetest {
	
	
	public WTLSTBSCertificateGenerator tbcertge;
	public static WTLSCertificateGenerator    certge;
	public WTLSCertificateStructure    certstr;
	public  static WTLSCertificate             cert;
	public WTLSCertificateObject       certob;
	public WTLSTBSCertificateStructure tbcertstr;
	public  static PublicKey            vkey;
	public  static PrivateKey           sKey;
	
	private  static BufferedReader              reader;
	
	
	private static String getAnswer(){
		String returnval = "";			
		try {
			 reader = new BufferedReader(new InputStreamReader(System.in)); 

			returnval=  reader.readLine();
		} catch (Exception e) {}
		
		return returnval;
	 }
	
	
		
	
	public  static  void  main(String[] args){

		certge=new  WTLSCertificateGenerator();
					
		ECCurve curve = new ECCurve.Fp(
	            new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q
	            new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a
	            new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b

	        ECParameterSpec spec = new ECParameterSpec(
	            curve,
	            curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G
	            new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n


	        ECPrivateKeySpec priKey = new ECPrivateKeySpec(
	            new BigInteger("876300101507107567501066130761671078357010671067781776716671676178726717"), // d
	            spec);

	        ECPublicKeySpec pubKey = new ECPublicKeySpec(
	            curve.decodePoint(Hex.decode("025b6dc53bc61a2548ffb0f671472de6c9521a9d2d2534e65abfcbd5fe0c70")), // Q
	            spec);
	        try{
	       
	        KeyFactory          f = KeyFactory.getInstance("ECDSA", "BC");
	        PrivateKey          sKey = f.generatePrivate(priKey);
	        PublicKey           vKey = f.generatePublic(pubKey);
	          
	      byte[] byt=sKey.getEncoded();
	        for (int i=0;i<=byt.length;i++){
	        System.out.print(byt[i]);}
	        System.out.println("");
	        System.out.println("Publickey:"+vKey.toString());
	        
	        
			 certge.setPublicKey(vKey);
			 certge.setPrivateKey(sKey);
            }catch(Exception e){
	        	
	        }
		
		 
		 System.out.println("input X509Name IssuerDN:");
		 
		 String   signature="CN=ding OU=wejbca";//getAnswer();
		 certge.setIssuerDN(new X509Name(signature));
		 
		 System.out.println("input NotAfter:");
		 String date="2007.10.10";//getAnswer();
		 DateFormat myDateFormat = new SimpleDateFormat("yyyy.mm.dd");		 
       
		 try{
		 certge.setNotAfter(myDateFormat.parse(date));
		 
		 System.out.println("input NotBefore:");
		 date="2006.10.10";//getAnswer();
		 certge.setNotBefore(myDateFormat.parse(date));
		 }catch(Exception e){
	        	
	        }
		
		 
		 
		 System.out.println("input X509Name SubjectDN:");
		 signature="CN=ding OU=wejbca";//getAnswer();
		 certge.setSubjectDN(new X509Name(signature));
		 System.out.println("input OK!");
		 
		 
		 
		 
	       
		 
		 certge.setSignatureAlgorithm("ECDSAWITHSHA1");
		 try{
		 cert=certge.generateWTLSCertificate(sKey);
		 System.out.println(cert.toString());
		 }catch(Exception e){System.out.println("something wrong"+e.getMessage());}
		 
		
			 
		
	}		


}

⌨️ 快捷键说明

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