Java + X.509
用java寫的..分析X.509的檔案用(像是.cer .crt之類(應該))import java.io.*; import java.security.cert.*; public class x509{ public static void main(String[] args){ try{ InputStream inStream = new FileInputStream("124.cer"); CertificateFactory cf = CertificateFactory.getInstance("X.509"); X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream); System.out.println("Certificate:"); System.out.println(" Data:"); System.out.println(" Version: "+cert.getVersion()); System.out.println(" Serial Number: "+cert.getSerialNumber()); System.out.println(" Signature Algorithm: "+cert.getSigAlgName()); System.out.println(" Issuer: "+cert.getIssuerDN()); System.out.println("- - - - -"); System.out.println(" Validity"); System.out.println(" Not Before: "+cert.getNotBefore()); System.out.println(" Not After : "+cert.getNotAfter()); System.out.println(" Subject: "+cert.getSubjectDN()); System.out.println("- - - - -"); System.out.println(" Subject Public Key Info:"); System.out.println(" ******* not finish *********"); System.out.println(" X509v3 extensions:"); System.out.println(" ******* not finish *********"); System.out.println(" Signature Algorithm: "+cert.getSigAlgName()); System.out.println("- - - - -"); System.out.println(byteArrayToHexString(cert.getSignature())); System.out.println("- - - - -"); inStream.close(); }catch(IOException ioe){} catch(CertificateException ce){} } static String byteArrayToHexString(byte in[]) { byte ch = 0x00; int i = 0; if (in == null || in.length <= 0) return null; String pseudo[] = {"0", "1", "2","3", "4", "5", "6", "7", "8","9", "A", "B", "C", "D", "E","F"}; StringBuffer out = new StringBuffer(in.length * 2); while (i < ch =" (byte)" ch =" (byte)">>> 4){ ch = (byte) (ch & 0x0F); out.append(pseudo[ (int) ch]); ch = (byte) (in[i] & 0x0F); out.append(pseudo[ (int) ch]); i++; out.append(":"); } String rslt = new String(out); return rslt; } }
結論
以上...有部分沒做完有需要請自行補完 就這樣(逃)