java 数字证书信息的获取实例 java学习笔记(2)
用java提供的api实现从证书文件(本实例实验对象为*.cer文件)中获取有效信息的方法..
public static X509Certificate getCert(String fileName) throws Exception {//从一个有效的证书文件来创建证书..
InputStream inStream = new FileInputStream(fileName);
CertificateFactory cf = CertificateFactory.getInstance("X.509");//用证书工厂来创建证书..
X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
inStream.close();
return cert;
}
public static void showCert( X509Certificate cert ) {//输出证书的各项信息..
System.out.println("Version: " + cert.getVersion());//证书版本..
System.out.println("SerialNumber: " + cert.getSerialNumber().toString(16) );//证书序列号..
System.out.println("SignatureAlgorithm: " + cert.getSigAlgName());//证书签名算法..
X500Principal principal = cert.getIssuerX500Principal();
System.out.println("IssuerName: \n" + principal.getName(X500Principal.RFC1779));//证书颁发者
//System.out.println(principal.hashCode());
GregorianCalendar gcal = new GregorianCalendar();
System.out.print("Validityfrom: ");
gcal.setTime(cert.getNotBefore());//证书有效期从..
System.out.println(gcal.get(GregorianCalendar.YEAR)+"/"+gcal.get(GregorianCalendar.MONTH)+"/"+gcal.get(GregorianCalendar.DAY_OF_MONTH)+" "+gcal.get(GregorianCalendar.HOUR_OF_DAY)+":"+gcal.get(GregorianCalendar.MINUTE)+":"+gcal.get(GregorianCalendar.SECOND));
System.out.print("ValidityTo: ");
gcal.setTime(cert.getNotAfter());//证书有效期到..
System.out.println(gcal.get(GregorianCalendar.YEAR)+"/"+gcal.get(GregorianCalendar.MONTH)+"/"+gcal.get(GregorianCalendar.DAY_OF_MONTH)+" "+gcal.get(GregorianCalendar.HOUR_OF_DAY)+":"+gcal.get(GregorianCalendar.MINUTE)+":"+gcal.get(GregorianCalendar.SECOND));
principal = cert.getSubjectX500Principal();
System.out.println("SubjectName: \n" + principal.getName(X500Principal.RFC1779));//证书使用者
PublicKey pkey = cert.getPublicKey();//获得公钥
相关文档:
面试官:熟悉哪种语言
应聘者:Java。
面试官:知道什么叫类么
应聘者:我这人实在,工作努力,不知道什么叫累
面
试官:知道什么是包?
应聘者:我这人实在? 平常不带包 也不用公司准备了
面试官:知道什么是接口吗?
应聘者:我这个人工
作认真。从来不找借口偷懒
面试官:知道什么是继承么
应聘者:我 ......
为了学习Socket而写的一段小代码..实现客户端和服务端之间的文字通讯功能..
------------------------------------------------------------------------------------------------------------------------------------------------------
客户端实例代码:
public class Client {
public static void startClient() ......
文件的建立/检查与删除
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>文件的建立、检查与删除</title>
</head>
<body>
<%
String path=request.getRealPath("");
//out.println(path);
File f=n ......
windows xp下配置JDK环境变量:
1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;
2.安装完成后,右击“我的电脑”,点击“属性”;
3.选择“高级”选项卡,点击“ ......