linux系统添加根证书 linux证书信任列表

1.linux 访问 https 证书问题

[[email protected] ~]# 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 certificates
curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html

curl 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 到 .pem
openssl x509 -inform der -in twca.cer  -out twca.pem

#追加到信任列表
cat twca.pem >> /etc/pki/tls/certs/ca-bundle.crt

3.添加后访问成功

[[email protected] 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

参考文献:http://segmentfault.com/a/1190000002569859

时间: 2024-11-09 01:48:11

linux系统添加根证书 linux证书信任列表的相关文章

嵌入式linux驱动开发之给你的linux系统添加温度传感器模块

忙了几天,终于可以让ds18b20在自己的开发板的linux系统上跑了!虽然ds18b20不是什么新鲜玩意,但是想想知己可以给linux系统添加模块了还是有点小鸡冻呢! 虽然说现在硬件的资源非常丰富而且剩余很多,可以用软件资源来代替硬件资源,比如说可以用视频编解码软件取代硬件来工作.但有很多模块需要实时的采集数据这都是软件永远无法代替的,而且随着互联网的进一步发展,智能化也是一个必然的趋势,因此大量的传感器和控制芯片将被应用到生产生活中,所以个人觉得驱动开发还是个不错的方向.同时,作为学习者,再

linux系统添加swap虚拟内存与删除配置方法

兄弟连Linux培训教程 linux系统添加swap虚拟内存与删除配置(www.lampbrother.net) 1.swap概述 Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中.这样,系统总是在物理内存不够时,才进行Swap交换. 其实

Linux系统添加虚拟IP(Suse linux为例)

之前有提到Windows服务器添加多个虚拟IP的方法,只需要用图形化界面就可以了,但是Linux服务器就没那么简单.所以总结了这么一篇教程,记录一下如何在Linux服务器上添加虚拟IP. 1)以Root权限登录,或者登陆以后su - 获取root权限. 2)跳转到Network设置的位置: cd /etc/sysconfig/network-scripts 3)查看一下现有的网络适配器有哪些: ls ifcfg-eth* 可以看到一个或一些类似于: ifcfg-eth-id-12:34:56:7

Linux 系统添加操作记录--命令审计功能

**Linux 系统添加操作记录审计 1.mkdir -p /usr/local/domob/records/ chmod 777 /usr/local/domob/records/ chmod +t /usr/local/domob/records/ 2.vi /etc/profile 在最后添加下面的代码 if [ ! -d /usr/local/domob/records/${LOGNAME} ] then mkdir -p /usr/local/domob/records/${LOGNA

手把手带你自制Linux系统之二 简易Linux制作

手把手带你自制Linux系统之二 简易Linux制作 本文利用CentOS5.5自带内核制作一个Mini Linux. 打开准备工作中创建的CentOS,为另一个虚拟机MiniLinux添加一个最小Linux所需要的文件. 1. 创建分区 为准备好的磁盘创建两个主分区,大小分别为20M和512M. 使用fdisk命令创建分区详细过程: fdisk /dev/hda 创建第一个20M分区依次输入: n --> p --> 1 --> <Enter> --> +20M 这几

linux系统自签发免费ssl证书,为nginx生成自签名ssl证书

安装nginx可参考:nginx重新编译支持ssl可参考:接下来手动配置ssl证书:自己手动颁发证书的话,那么https是不被浏览器认可的,就是https上面会有一个大红叉下面是手动颁发证书的操作 切换到nginx配置文件 # cd /usr/local/nginx/conf 创建配置证书目录 # mkdir ssl # cd ssl 1.生成私钥 openssl genrsa -des3 -out cert.key 1024 #生成1024的证书私钥 Generating RSA privat

云服务器 ECS Linux 系统添加“回收站”

删除是危险系数很高的操作,一旦误删可能会造成难以估计的损失.在云服务器 ECS Linux 系统中这种危险尤为明显.比如,一条简单的语句:rm –rf /* 就会把整个系统全部删除,而 Linux 并不会因为这条语句的不合理而拒绝执行. 在 Windows 中,为了防止误删,系统默认提供了回收站功能.用户在执行删除操作后,文件并不会直接从硬盘中删除,而是被放到回收站中.在清空回收站前,如果发现有文件被误删,用户可以将回收站中的文件恢复到原来的位置.而 Linux 并没有提供类似功能,删除命令 r

Linux系统添加新用户

Linux系统中一般不直接使用root用户进行操作,需要添加新的用户. 首先,查看当前系统已有的用户 cat /etc/passwd 其次,添加想要的用户 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-r] name -d:指定用户登入时的主目录,替换系统默认值/home/<用户名> -g:指定用户所属的群组.值可以使组名也可以是GID.用户组必须已经存在的,期

Linux系统添加crontab任务无效的问题解决方案

之前在linux的crontab中添加自定义的任务--定时执行指定脚本,一直失败,后来终于解决了,记录一下以免再忘. 1. 确认crond服务已启动 有些linux系统是cron,比如CentOS,功能与crond相同 service crond restart service crond status 正常应显示: crond start/running, process xxx 2. 添加crontab任务 crontab -uroot -e 进入编辑界面后添加环境变量设置,以及指定的任务: