我的Java/Tomcat服務器的工作GoDaddy的SSL證書,包括3個文件:如何將已頒發的SSL證書安裝到hyperledger rest服務器?
- a6d8a8b6f1b7d24b.crt
- gdig2.crt.pem
- gd_bundle-G2-g1.crt
這三種方法都編碼的文本文件的Base64和內容看起來像
-----BEGIN CERTIFICATE-----
MIIFNjCCBB6gAwIBAgIJAKbYqLbxt9JLMA0GCSqGSIb3DQEBCwUAMIG0MQswCQYD
...
MLLO84KBeOlWOD9ShSj2OqPQiozGPPjqzuIyyWJF37s0Y/BpgJPfqHgE
-----END CERTIFICATE-----
gd_bundle-g2-g1.crt裏面包含多個這樣的條目。
現在,Hyperledger說明here解釋:
composer-rest-server -t -c /tmp/cert.pem -k /tmp/key.pem -p hlfv1 -n my-network -i alice1 -s suchs3cret
這在我的情況下,一個有望成爲cert.pem和哪一個key.pem?他們需要任何轉換嗎?如果他們需要轉換,怎麼辦?這些證書適用於使用jks密鑰庫的Java框架。 Hyperledger使用Node.js和受產生錯誤像
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Error (native)
at Object.createSecureContext (_tls_common.js:85:17)
at Server (_tls_wrap.js:776:25)
at new Server (https.js:26:14)
at Object.exports.createServer (https.js:47:10)
at Promise.then (/home/hla/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/server/server.js:148:28)
at process._tickCallback (internal/process/next_tick.js:109:7)
我試圖替換文件的各種組合,但只得到錯誤信息爲止。我想我已經嘗試過所有可能的組合,所以格式很可能是錯誤的。
GoDaddy允許以各種流行的格式(Apache,Exchange,IIS,MacOS X和Tomcat準確地)導出證書,但Hyperledger顯然不在它們之間。
這也可能是有問題的,當我生成
openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
(其中顯然key.pem也許應該是關鍵)的證書,我也得到了同樣的錯誤:
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
OpenSSL版本OpenSSL 1.0.2g 2016年3月1日。node --version。節點 - 版本。節點 - 版本5.4.0。
我是否正確理解需要通常與爲我頒發證書的供應商保持一段數據(私鑰)?這基本上意味着只有自簽名證書纔可以使用https作曲者休息服務器,或者向供應商提供他們通常不包含的額外數據? – h22
我不知道供應商向您提供了什麼或者您向他們請求什麼,因此無法對此進行評論,但您的目的是爲您提供一個服務器,客戶端可以通過tls連接,而不是其他服務器連接到服務本身。由於其他服務器是此證書的所有者,因此預計所有者也將擁有關聯的私鑰,以便能夠解密由使用公共證書的客戶端發送的信息。 –