国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java安全架構____讀取keystore文件的密鑰對和證書信息

2019-11-06 07:15:01
字體:
來源:轉載
供稿:網友

//1.keytool工具生成keystore文件

keytool -genkey -alias csdn -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore D:/csdn_server.keystore -storepass 888999

//講文件復制到工程中

//代碼段

package com.demo.test;import java.io.FileInputStream;import java.security.KeyStore;import java.security.PRivateKey;import java.security.PublicKey;import java.security.cert.Certificate;import sun.misc.BASE64Decoder;  import sun.misc.BASE64Encoder;  /** * @author Administrator * 使用以下命令生成keystore文件 * alias:別名csdn * keypass:別名密碼 123456 * storepass:秘鑰庫的密碼:888999 * keytool -genkey -alias csdn -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/csdn_server.keystore -storepass 888999 */public class TestKeyStore {	public static void main(String[] args) throws Exception {		//讀取keystore文件轉換為keystore密鑰庫對象		FileInputStream fis = new FileInputStream("/csdn_server.keystore");		//因為生成證書的類型為JKS 也有其他的格式		KeyStore keyStore = KeyStore.getInstance("JKS");		//該密鑰庫的密碼"888999"		String storepass="888999";		keyStore.load(fis, storepass.toCharArray());		fis.close();		// 從keystore中讀取證書和私鑰		String alias = "csdn";//別名		String keypass = "123456"; //別名密碼		Certificate certificate = keyStore.getCertificate(alias);		//讀取公鑰對象		PublicKey publicKey = certificate.getPublicKey();		System.out.println("提取的公鑰為___:/n"+encodeBase64(publicKey.toString()));		//讀取私鑰對象		PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias,keypass.toCharArray());		System.out.println("提取的私鑰為___:/n"+encodeBase64(privateKey.toString()));	}	// 對字符密碼加密      public static String encodeBase64(String str) throws Exception {          // 1.將傳遞進來的字符串密碼 轉換為字節數組 放到base64加密工具里 生產出一個加了密的字符串          String base64Str = new BASE64Encoder().encode(str.getBytes("UTF-8"));          return base64Str;      }        // 對密文字符串解密      public static String decodeBase64(String base64Str) throws Exception {          // 根據加了密的字符串 使用base64的解密工具里 獲取原來的明文字符串密碼          byte[] bytes = new BASE64Decoder().decodeBuffer(base64Str);          String generalStr = new String(bytes, "UTF-8");          return generalStr;      }  	}//運行結果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中宁县| 阳信县| 闽清县| 淄博市| 淮滨县| 城口县| 昌宁县| 东源县| 凤冈县| 双城市| 福海县| 卢湾区| 吉水县| 广汉市| 名山县| 浏阳市| 甘孜县| 定陶县| 西丰县| 万荣县| 巴里| 张家界市| 大余县| 沙雅县| 蓬莱市| 白玉县| 抚松县| 钦州市| 乐都县| 乌拉特前旗| 会理县| 石家庄市| 高台县| 呼和浩特市| 嘉鱼县| 青海省| 顺昌县| 东莞市| 若尔盖县| 张掖市| 泸水县|