下面產生一個自簽證書。安裝完J2SDK(這里用的是J2SDK1.4)后,在J2SDK安裝目錄的bin目錄下,有一個keytool的可執行程序。利用keytool產生自簽證書的步驟如下:

公司專注于為企業提供網站建設、做網站、微信公眾號開發、商城系統網站開發,成都小程序開發,軟件按需策劃設計等一站式互聯網企業服務。憑借多年豐富的經驗,我們會仔細了解各客戶的需求而做出多方面的分析、設計、整合,為客戶設計出具風格及創意性的商業解決方案,創新互聯建站更提供一系列網站制作和網站推廣的服務。
第一步,用-genkey命令選項,產生公私密鑰對。在控制臺界面輸入:keytool -genkey -alias testkeypair -keyalg RSA -keysize 1024 -sigalg MD5withRSA。這里的-alias表示使用這對公私密鑰產生新的keystore入口的別名(keystore是用來存放管理密鑰對和證書鏈的,缺省位置是在使用者主目錄下,以.keystore為名的隱藏文件,當然也可指定某個路徑存放.keystore文件);-keyalg是產生公私鑰對所用的算法,這里是RSA;-keysize定義密鑰的長度;-sigalg是簽名算法,選擇MD5withRSA,即用RSA簽名,然后用MD5哈希算法摘要。接下來,系統會提示進行一些輸入:
輸入keystore密碼: abc123
您的名字與姓氏是什么?
[Unknown]: Li
您的組織單位名稱是什么?
nbs
問題的其他解決辦法參考 :
;t=JAVA+
SSL 連接的 context 目前用那個 KeyManager, TrustManager 的實現(Sun 公司提供的)都是默認地從命令行提供的參數或代碼中明確初始化的 trust manager / key manager 中查找的,這里面可以肯定的是這個參數在連接建立之前已經固定了的靜態形式,這要求我們把可以信任的服務器證書的頒發機構的根證書先導入到 trust store 中然后指派給 java 程序。
因此當我們的服務器使用了一張不在 trust store 中的信任根證書機構名錄中的證書是不會被信任的,因此我們必須提供一個有別于 Sun 的 Trust Manager 接口的實現類,然后像 IE 瀏覽器那樣在查找證書來確認是否信任時彈出一個對話框出來讓用戶檢查,當用戶點擊“以后一直信任該證書的廠商”時我們把它緩存在持久性介質(比如文件或數據庫)中,下次訪問時先看是否有緩存的,沒有再來彈對話框讓用戶確認,當服務器要求客戶端出示客戶端證書時(比如網銀業務)我們同樣需要提供自己的 key manager 實現。
public?class?ZhengShu{
private?String?name;?//學生姓名
private?boolean?sex;?//學生性別?true?男?||?false?女
private?String?csrq;?//出生日期
private?String?xxksrq;?//學習開始日期
private?String?xxjsrq;?//學習結束日期
private?static?int?zsbh;?//證書編號
private?String?dzzch;?//電子注冊號
private?String?xz;?//校長
private?static?String?ZYMC;?//專業名稱
private?static?String?SCHOOLNAME;//學校名稱
static{
ZYMC?=?"《計算機科學與技術》";
SCHOOLNAME?=?"北京大學";
}
/**
*?初始化證書的構造方法
**/
public?ZhengShu(String?name,?boolean?sex,?String?csrq,?String?xxksrq,?String?xxjsrq,?String?dzzch,?String?xz){
++zsbh;
this.name?=?name;
this.sex?=?sex;
this.csrq?=?csrq;
this.xxksrq?=?xxksrq;
this.xxjsrq?=?xxjsrq;
this.dzzch?=?dzzch;
this.xz?=?xz;
}
/**
*?輸出方法,想輸出哪些信息自己再添加
**/
public?void?getPrint(){
System.out.println("==================畢業證書==================");
System.out.println("\t證書編號:"?+?this.zsbh);
System.out.println("\t學生姓名:"?+?this.name);
System.out.println("\t學生性別:"?+?(this.sex?==?true???"男"?:?"女"));
System.out.println("\t出生日期:"?+?this.csrq);
System.out.println("\t學習時間:"?+?(Integer.parseInt(this.xxjsrq.substring(0,4))?-?Integer.parseInt(this.xxksrq.substring(0,4)))+"年");
System.out.println("\t學校姓名:"?+?ZhengShu.SCHOOLNAME);
System.out.println("\t學生專業:"?+?ZhengShu.ZYMC);
System.out.println();
}
/**
*?修改校名的方法
*?如果學校名稱改了,那么所有學生的證書所在學校也必須修改
**/
public?void?updateSchoolName(String?sn){
ZhengShu.SCHOOLNAME?=?sn;
}
public?void?updateXSZY(String?zy){
ZhengShu.ZYMC?=?zy;
}
public?static?void?main(String[]?args){
ZhengShu?a1?=?new?ZhengShu("張三",true,"1991-08-23","2013-04-04","2015-04-05","0CXXASDS23","文章");
//System.out.println(a1.zsbh);
a1.updateSchoolName("北京理工大學");?//修改所有學校
a1.updateXSZY("《電子商務》");?//修改所有專業
a1.getPrint();
ZhengShu?a2?=?new?ZhengShu("李四",false,"1991-08-23","2013-04-04","2015-04-05","0CXXASDS23","文章");
a2.getPrint();
}
}
當前標題:java代碼創建證書 java keytools生成證書
URL標題:http://www.yijiale78.com/article18/ddgcidp.html
成都網站建設公司_創新互聯,為您提供、全網營銷推廣、品牌網站建設、網頁設計公司、Google、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯