導航:首頁 > 源碼編譯 > 如何編譯pfx文件

如何編譯pfx文件

發布時間:2024-04-25 11:14:56

java如何讀取PFX密鑰文件

package com.Jinhill;
import java.io.*;
import java.util.*;
import java.security.*;
import java.security.cert.Certificate;

public class ReadPFX {
public ReadPFX (){
}
//轉換成十六進制字元串
public static String Byte2String(byte[] b) {
String hs="";
String stmp="";

for (int n=0;n<b.length;n++) {
stmp=(java.lang.Integer.toHexString(b[n] & 0XFF));
if (stmp.length()==1) hs=hs+"0"+stmp;
else hs=hs+stmp;
//if (n<b.length-1) hs=hs+":";
}
return hs.toUpperCase();
}

public static byte[] StringToByte(int number) {
int temp = number;
byte[] b=new byte[4];
for (int i=b.length-1;i>-1;i--){
b[i] = new Integer(temp&0xff).byteValue();//將最高位保存在最低位
temp = temp >> 8; //向右移8位
}
return b;
}
private PrivateKey GetPvkformPfx(String strPfx, String strPassword){
try {
KeyStore ks = KeyStore.getInstance("PKCS12");
FileInputStream fis = new FileInputStream(strPfx);
// If the keystore password is empty(""), then we have to set
// to null, otherwise it won't work!!!
char[] nPassword = null;
if ((strPassword == null) || strPassword.trim().equals("")){
nPassword = null;
}
else
{
nPassword = strPassword.toCharArray();
}
ks.load(fis, nPassword);
fis.close();
System.out.println("keystore type=" + ks.getType());
// Now we loop all the aliases, we need the alias to get keys.
// It seems that this value is the "Friendly name" field in the
// detals tab <-- Certificate window <-- view <-- Certificate
// Button <-- Content tab <-- Internet Options <-- Tools menu
// In MS IE 6.
Enumeration enumas = ks.aliases();
String keyAlias = null;
if (enumas.hasMoreElements())// we are readin just one certificate.
{
keyAlias = (String)enumas.nextElement();
System.out.println("alias=[" + keyAlias + "]");
}
// Now once we know the alias, we could get the keys.
System.out.println("is key entry=" + ks.isKeyEntry(keyAlias));
PrivateKey prikey = (PrivateKey) ks.getKey(keyAlias, nPassword);
Certificate cert = ks.getCertificate(keyAlias);
PublicKey pubkey = cert.getPublicKey();
System.out.println("cert class = " + cert.getClass().getName());
System.out.println("cert = " + cert);
System.out.println("public key = " + pubkey);
System.out.println("private key = " + prikey);
return prikey;
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
}

閱讀全文

與如何編譯pfx文件相關的資料

熱點內容
網上代理伺服器是什麼意思 瀏覽:214
pdf二次開發 瀏覽:201
伺服器開機選項怎麼關閉 瀏覽:685
單片機基礎李廣弟 瀏覽:634
程序員首選鍵盤 瀏覽:375
圖片質量壓縮軟體 瀏覽:497
把手放進大米里是最解壓的方式 瀏覽:483
演算法硬幣換算 瀏覽:332
程序員的心機 瀏覽:2
分析雲伺服器怎麼重新啟動 瀏覽:526
ccs編譯按鈕不見了 瀏覽:651
ansys命令lsel 瀏覽:67
蘋果手機為什麼明日之後總卡在連接伺服器 瀏覽:945
周傑倫pdf 瀏覽:439
村長命令 瀏覽:928
有家項目經理app怎麼安卓沒有 瀏覽:635
linuxcurl詳解 瀏覽:643
陝西網關伺服器雲空間 瀏覽:180
ipadpro怎麼讀取華為手機文件夾 瀏覽:17
國泰君安app閃退怎麼解決 瀏覽:178