linux系統添加根憑證 linux憑證信任清單,linux認證
1.linux 訪問 https 認證問題
[root@boss-test-dev001-jydx ~]# curl -v https://mobile.mycard520.com.tw* About to connect() to mobile.mycard520.com.tw port 443 (#0)* Trying 220.130.127.122... connected* Connected to mobile.mycard520.com.tw (220.130.127.122) port 443 (#0)* Initializing NSS with certpath: sql:/etc/pki/nssdb* CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none* Certificate is signed by an untrusted issuer: 'CN=TWCA Secure SSL Certification Authority,OU=Secure SSL Sub-CA,O=TAIWAN-CA,C=TW'* NSS error -8172* Closing connection #0* Peer certificate cannot be authenticated with known CA certificatescurl: (60) Peer certificate cannot be authenticated with known CA certificatesMore details here: http://curl.haxx.se/docs/sslcerts.htmlcurl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option.If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL).If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.
2.現有 認證twca.cer 需要添加到 linux 憑證信任清單
相關認證轉換參見:http://netkiller.github.io/cryptography/openssl/format.html
#轉換格式 .cer 到 .pemopenssl x509 -inform der -in twca.cer -out twca.pem#追加到信任清單cat twca.pem >> /etc/pki/tls/certs/ca-bundle.crt
3.添加後訪問成功
[root@boss-test-dev01 certs]# curl -v https://mobile.mycard520.com.tw/billing/RECEIVE.aspx* About to connect() to mobile.mycard520.com.tw port 443 (#0)* Trying 220.130.127.122... connected* Connected to mobile.mycard520.com.tw (220.130.127.122) port 443 (#0)* Initializing NSS with certpath: sql:/etc/pki/nssdb* CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none* SSL connection using SSL_RSA_WITH_RC4_128_MD5* Server certificate:* subject: CN=mobile.mycard520.com.tw,OU=IT,O=Soft-World International Corporation,L=Kaohsiung,ST=Taiwan,C=TW* start date: Apr 29 03:21:58 2015 GMT* expire date: Nov 12 15:59:59 2017 GMT* common name: mobile.mycard520.com.tw* issuer: CN=TWCA Secure SSL Certification Authority,OU=Secure SSL Sub-CA,O=TAIWAN-CA,C=TW> GET /billing/RECEIVE.aspx HTTP/1.1> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.13.1.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2> Host: mobile.mycard520.com.tw> Accept: */*> < HTTP/1.1 200 OK< Cache-Control: private< Content-Type: application/json;charset=utf-8< Date: Tue, 16 Jun 2015 02:52:04 GMT< Content-Length: 18< Set-Cookie: NSC_Npcjmf-XfcQ*80=ffffffffaf181f5345525d5f4f58455e445a4a423660;path=/;httponly< * Connection #0 to host mobile.mycard520.com.tw left intact* Closing connection #0{ "ResultCode":0
4.對於java中如果使用 HttpClient 訪問https 可以使用以下命令匯入到jre中的作為信任認證
keytool -import -keystore "/usr/local/jdk/jre/lib/security/cacerts" -storepass changeit -keypass changeit -alias twca -file twca.cer
過程中提示是否信任:輸入yes即可
Trust this certificate? [no]:
配置過程如下:
[root@boss-test-dev01 ~]# keytool -import -keystore "/usr/local/jdk/jre/lib/security/cacerts" -storepass changeit -keypass changeit -alias twca -file /root/twca.cerOwner: CN=TWCA Root Certification Authority, OU=Root CA, O=TAIWAN-CA, C=TWIssuer: CN=TWCA Root Certification Authority, OU=Root CA, O=TAIWAN-CA, C=TWSerial number: 1Valid from: Thu Aug 28 15:24:33 CST 2008 until: Tue Dec 31 23:59:59 CST 2030Certificate fingerprints: MD5: AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79 SHA1: CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48 Signature algorithm name: SHA1withRSA Version: 3Extensions: #1: ObjectId: 2.5.29.15 Criticality=trueKeyUsage [ Key_CertSign Crl_Sign]#2: ObjectId: 2.5.29.19 Criticality=trueBasicConstraints:[ CA:true PathLen:2147483647]#3: ObjectId: 2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: 6A 38 5B 26 8D DE 8B 5A F2 4F 7A 54 83 19 18 E3 j8[&...Z.OzT....0010: 08 35 A6 BA .5..]]Trust this certificate? [no]: yesCertificate was added to keystore
參考文獻:http://segmentfault.com/a/1190000002569859