java ´úÂëÉú³ÉÊý×ÖÖ¤Êé
http://liuleijsjx.javaeye.com/blog/422343
±¾È˸ÕдµÄѧϰÐĵà ϣÍûÄÜÓÐËù°ïÖú
/**
*´úÂëʵÀý ͨ¹ý·´±àÒë²é¿´keytoolµÄjava code»ñµÃµÄÊý×ÖÖ¤ÊéµÄÄÚ²¿Éú³É·½·¨
*ÍÆ¼öʹÓÃjdk1.5
**/
1¡£Ê×ÏÈÉú³Éselfcert
CertAndKeyGen cak = new CertAndKeyGen("RSA","MD5WithRSA",null);
//²ÎÊý·Ö±ðΪ ¹«Ô¿Ëã·¨ Ç©ÃûËã·¨ providername£¨ÒòΪ²»ÖªµÀÈ·ÇÐµÄ Ö»ºÃʹÓÃnull ¼ÈʹÓÃĬÈϵÄprovider£©
cak.generate(1024);
//Éú³ÉÒ»¶Ôkey ²ÎÊýΪkeyµÄ³¤¶È ¶ÔÓÚrsa²»ÄÜСÓÚ512
X500Name subject = new X500Name("CN=simic,o=shanghai");
//subject name
X509Certificate certificate = cak.getSelfCertificate(subject,10);
// ºóÒ»¸ölongÐͲÎÊý´ú±í´ÓÏÖÔÚ¿ªÊ¼µÄÓÐЧÆÚ µ¥Î»ÎªÃ루Èç¹û²»Ïë´ÓÏÖÔÚ¿ªÊ¼Ëã ¿ÉÒÔÔÚºóÃæ¸ÄÕâ¸öÓò£©
BASE64Encoder base64
= new BASE64Encoder();
FileOutputStream fos = new FileOutputStream(new File("d:\\test.crt"));
base64.encodeBuffer(certificate.getEncoded(), fos);
//Éú³ÉcertÎļþ base64¼ÓÃÜ µ±È»Ò²¿ÉÒÔ²»¼ÓÃÜ
2¡£Éú³É·Ç×ÔÇ©µÄcert
Ê×ÏȰ´ÕÕ1×ßÒ»±éÉú³ÉÒ»¸ö×Ôǩ֤Êé
byte certbytes[] = certificate.getEncoded();
X509CertImpl x509certimpl = new X509CertImpl(certbytes);
X509CertInfo x509certinfo = (X509CertInfo)x509certimpl.get("x509.info");
X500Name issuer = new X500Name("CN=fatal,o=shanghai");
x509certinfo.set("issuer.dname",issuer);
//ÉèÖÃissuerÓò
Date bdate = new Date();
Date edate = new Date();
edate.setTime(bdate.getTime() + validity * 1000L * 24L * 60L * 60L);
//validityΪÓÐЧʱ¼ä³¤¶È µ¥Î»ÎªÃë
CertificateValidity certificatevalidity = new CertificateValidity(bdate,
edate);
x509certinfo.set("validity", certificatevalidity);
//ÉèÖÃÓÐЧÆÚÓò£¨°üº¬¿ªÊ¼Ê±¼äºÍµ½ÆÚʱ¼ä£©ÓòÃûµÈͬÓëx509certinfo.VALIDITY
x509certinfo.set("serialNumber", new
CertificateSerialNumber((int)(date.getTime() / 1000L)));
//ÉèÖÃÐòÁкÅÓò
CertificateVersion cv = new CertificateVersion(CertificateVersion.V3);
x509certinfo.set(X509CertInfo.VERSION,cv);
//ÉèÖð汾ºÅ Ö»ÓÐv1 ,v2,v3Õ⼸¸öºÏ·¨Öµ
/**
*ÒÔÉÏÊÇÖ¤ÊéµÄ»ù±¾ÐÅÏ¢ Èç¹ûÒªÌí¼ÓÓû§À©Õ
Ïà¹ØÎĵµ£º
1.
˳Ðò¿ØÖÆ
if
else
switch
¿ÉÒÔÓÃbyte,short,char,int×öΪ±í´ïʽÀàÐÍ
Ñ»·½á¹¹
while
do ...while
for
±êÇ©Ìø×ª£º
outer:
break outer;
outer:
continue outer;
2.Êý×éÀàÐÍ
Êý×éÒ²ÊÇÒ»ÖÖÊý¾ÝÀàÐÍ£¬Ëü±¾ÉíÊÇÒýÓÃÀàÐÍ¡£
¾²Ì¬³õʼ»¯£º³ÌÐòÔ±ÏÔʾָ¶¨³õʼֵ£¬ÏµÍ³¾ö¶¨³¤¶È¡£
¶¯Ì¬ ......
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.logging.Logger; ......
Java
Öеij£Á¿
³£Á¿¾ÍÊdzÌÐòÀï³ÖÐø²»±äµÄÖµ£¬ËüÊDz»ÄܸıäµÄÊý¾Ý¡£
Java
Öеij£Á¿°üº¬ÕûÐͳ£Á¿¡¢¸¡µãÊý³£Á¿¡¢²¼¶û³£Á¿µÈ£¬ÏÂÃæÀ´¿´Ò»ÏÂËüÃÇÊÇÈçºÎ±íʾµÄ£º
ÕûÐͳ£Á¿
ÕûÐͳ£Á¿¿ÉÒÔ·ÖΪʮ½øÖÆ
¡¢Ê®Áù½øÖÆ
ºÍ°Ë½øÖÆ
¡£
Ê®½øÖÆ
£º
0 1 2 3 4 5 6 7 8 9
×¢Òâ
£ºÒÔÊ®½øÖƱíʾʱ£¬µÚһλ²»ÄÜÊÇ
0
£¨Êý×Ö ......
#dd_traces.pl (C) Marko Kivij?rvi 2006
# Dummy checks
die "Specify an input file!\n" if $ARGV[0] eq "";
die "File not found!\n" unless -e $ARGV[0];
die "Incorrect file extension for a C/C++ file!\n"
if ( $ARGV[0] !~ /(.*)\.(java)$/ );
# Constants
my $IMPORT_LOG_PACKAG = "\n ......
¹ØÓÚ¼Ó½âÃÜJAVAÒ»°ãʹÓõÄJCE£¬¹ØÓÚC++¿ÉÒÔʵÏÖAES¼Ó½âÃܵĿªÔ´ÏîÄ¿¾Í¶àµÄÊý²»Ê¤ÊýµÄ¡£
ÀíÂÛÉÏÉÏËã·¨Ò»Ñù£¬¶Ô³ÆÃÜÔ¿Ò»Ñù¾ÍÄܹ»»¥Ïàʶ±ðÁË¡£
ÏàÐźܶàÈË¿ªÊ¼Ïë·¨¶¼Í¬ÎÒÒ»Ñù£¬Æð³õÎÒJAVAÓÃJCE£¬C++ʹÓÃopenssl¡£
½á¹û·¢ÏÖ¼ÓÃܳöµÄÃÜÎÄÍêÈ«²»Ïàͬ¡£
³öÏÖÎÊÌâ¾ÍÒª½â¾ö
Á˽âÁËÒ»ÏÂJCE£º
JC ......