2011-08-21 121 views

回答

0

PEM的文件被讀作其他任何文本文件的數字簽名。閱讀Java tutorial about IO(和集中字符流,因爲PEM文件包含文本,並在文件IO,因爲這是你想要做什麼)

2

我使用此代碼

PEMReader pr=new PEMReader(new StringReader(trust_certs)); 
    KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); 
    trustStore.load(null, null); 
    Object o; 
    int i=0; 
    while((o=pr.readObject())!=null){ 
     if(o instanceof X509Certificate){ 
      i++; 
      X509Certificate c=(X509Certificate)o; 
      trustStore.setCertificateEntry(Integer.toString(i), c); 
     } 
    } 

http://www.bouncycastle.org/docs/docs1.6/org/bouncycastle/openssl/PEMReader.html

+0

的各種方法我不知道:( –

4

閱讀證書確實很簡單。

CertificateFactory factory = CertificateFactory.getInstance("X.509"); 
X509Certificate certificate = (X509Certificate) factory.generateCertificate(new FileInputStream("file.pem")); 

這是與標準的API(在try/catch)等,你已經加載你的證書。
現在toString證書的方法不適合你,因爲它只是捕獲證書的「用戶」視圖,例如你會用它作爲println例如
你不能發送證書對象本身嗎?
不知道你的服務器所期望的,所以你可以看看證書
X509Certificate