簡體   English   中英

如何獲得Java中的X509證書編碼類型

[英]How to get the x509 certificate encoding type in Java

我正在嘗試使用Java為遠程主機讀取證書。 我想獲取編碼類型。 我輸入:

    System.out.println("The encoding is: "+ x509Cert.getEncoded().toString());

我得到的輸出是:

The encoding is: [B@597c3925

問題是什么 ?

編輯:x509Cert是X509Certificate類型的對象。

只是為了讓您了解問題所在:從x509Cert.getEncoded()獲得的對象(在這種情況下為x509Cert.getEncoded()不會覆蓋toString方法,因此它默認為getClass().getName() + '@' + Integer.toHexString(hashCode()) ,如Object -class中所定義。

並請注意,當您這樣做時

"some string" + someObj.toString()

您實際上不需要調用toString它會被單獨調用。 你可以做

"some string" + someObj

Certificate.getEncoded返回byte[] ,因為它為您提供證書數據的二進制表示形式(對於X509證書為DER),而不是文本。 如果要使用PEM格式,則它是使用MIME樣式的base 64(可以使用Apache commons編解碼器 )編碼的DER形式,並添加了熟悉的開始和結束行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM