SSL:无法加载 CA 证书文件 /etc/pki/tls/certs/ca-bundle.crt

     2023-02-25     164

关键词:

【中文标题】SSL:无法加载 CA 证书文件 /etc/pki/tls/certs/ca-bundle.crt【英文标题】:SSL: can't load CA certificate file /etc/pki/tls/certs/ca-bundle.crt 【发布时间】:2016-07-26 02:11:15 【问题描述】:

在我的本地开发机器 (osx) 上,我使用 jboss 在 8443 上为 Web 服务提供服务器。当我直接点击 url 时,我得到了我正在寻找的 json 响应。我们工作的架构包括一个中间层(apache/php),它执行身份验证和路由。如果事情经过身份验证,那么它将请求转发到后端。

当我在端口 80 上使用 apache 和在 8081 上使用 jboss(使用 http)时。一切对我来说都很好。现在我正在尝试使用 8443,但一切都无法正常工作。

我最近通过 https (8443) 而不是 http (8081) 将后端更改为服务器。我可以直接在 https 8443 上点击请求并获得 json 响应。当我点击 apache 并进行身份验证然后尝试重定向到 https 8443 时,我从 chrome 的检查员那里收到以下消息:“”。

我的虚拟主机设置为捕获 *:80 请求。我想我可能需要设置虚拟主机来接受 443 请求或安装 ca-certificates 就像在 How do I deal with certificates using cURL while trying to access an HTTPS url? 中谈到的那样。我正在寻找是否有人知道正确的方向应该是什么。

当我查看文件系统时,文件/etc/pki/tls/certs/ca-bundle.crt 不存在。当我向中间层发出请求时,我看到请求命中/var/log/apache2/access_log,而/var/log/apache2/error_log 中没有出现任何内容。

解决这个问题需要什么?捕获对 443 的请求是虚拟主机的配置吗?是在链接中安装 ca-cert 的东西吗?两者的结合?或者是其他东西?请提供足够的信息来说明如何解决它,或提供提供足够信息的链接。

【问题讨论】:

【参考方案1】:

我解决了我的问题,并正在为文档目的写一个帖子,以防其他人有类似的问题。我必须解决几个问题才能解决此问题。

PHP 安装

我的/etc/apache2/httpd.conf 引用了我的默认 osx php 安装,而不是我的家庭 brew 安装的 php。解决方案是编辑 httpd.conf 并将其指向正确的安装。

#LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/Cellar/php53/5.3.29_4/libexec/apache2/libphp5.so

您可以通过以下命令使用 home brew 创建类似的 php 设置:

brew install homebrew/php/php53
brew install homebrew/php/php53-igbinary --build-from-source
brew install homebrew/php/php53-intl
brew install homebrew/php/php53-mcrypt
brew install homebrew/php/php53-memcached
brew install homebrew/php/php53-mongo
brew install homebrew/php/php53-xdebug

创建 CA 证书捆绑文件

系统正在寻找/etc/pki/tls/certs/ca-bundle.cert,这是 linux 上的标准路径,但在 osx 上没有。我们通过生成文件来解决这个问题。

我使用keytool 生成了.keystore 文件,并使用jboss 作为我的别名。为了构建 ca 包文件,我们需要它是 pem 格式的,所以我们需要将 -rfc 添加到我们的导出语句中。以下是命令:

cd /usr/local/jboss-eap-6.4/standalone/configuration
keytool -export -alias jboss -file local-sbx.dev.yourcompany.com.crt -keystore .keystore -rfc

获得文件后,您可以将其找出并验证文件中是否包含 BEGIN CERTIFICATEEND CERTIFICATE 内容。如果是这样,它的格式是正确的。

最后,创建目录结构,移动 cert 使其像 bundle 一样(这只是一堆相互附加的证书),然后重新启动 apache:

mkdir -p /etc/pki/tls/certs/
sudo cp local-sbx.dev.yourcompany.com.crt /etc/pki/tls/certs/ca-bundle.crt
sudo apachectl restart

【讨论】:

如何搭建http/https服务

...#yuminstall-yhttpd#vim/etc/httpd/conf/httpd.conf2.为服务器申请数字证书;(1)CA服务器端:创建私有证书颁发机构~]#cd/etc/pki/CA~]#(umask077;opensslgenrsa-out/etc/pki/CA/private/cakey.pem4096)~]#opensslreq-new-x509-key/etc/pki/CA/private/cakey.pem-out/etc/pki/CA/cacert.pem-days3... 查看详情

ca搭建与证书申请(代码片段)

...据此配置文件创建CAdir:CA相关文件存放路径/etc/pki/CAcerts:证书存放目录/etc/pki/CA/certsdatabase:数据库文件/etc/pki/CA/index.txtnew_certs_dir:新颁发证书存放路径/etc/pki/CA/newcertscertificate:自颁发证书/etc/pki/CA/cacert.pemserial:下一个证书的序列... 查看详情

ca搭建与证书申请(代码片段)

...据此配置文件创建CAdir:CA相关文件存放路径/etc/pki/CAcerts:证书存放目录/etc/pki/CA/certsdatabase:数据库文件/etc/pki/CA/index.txtnew_certs_dir:新颁发证书存放路径/etc/pki/CA/newcertscertificate: 查看详情

ssl证书下载与安装–如何下载ssl证书

参考技术A证书是审核完毕后您将会收到:1.服务器证书2.服务器中级CA证书1、配置Apache打开apache安装目录下/etc/httpd/conf/httpd.conf文件,找到#LoadModulessl_modulemodules/mod_ssl.so删除行首的配置语句注释符号“#”保存退出。打开apache安装... 查看详情

为配置ssl,自制ca证书(代码片段)

步骤一:生成CA根证书mkdir/etc/pki/ca_test#创建CA根证书的目录cd/etc/pki/ca_testmkdirrootserverclientnewcerts#创建几个相关的目录echo01>serial#定义序列号为01echo01>crlnumber#定于crl号为01touchindex.txt#创建index.txtcd..vimtls/openssl.c 查看详情

私有ca的创建和证书的申请

创建CA和申请证书1、创建私有CA和所需要的文件openssl的配置文件:/etc/pki/tls/openssl.cnftouch/etc/pki/CA/index.txt生成证书索引数据库文件echo01>/etc/pki/CA/serial指定第一个颁发证书的序列号2、CA自签证书(1)生成私钥cd/etc/pki/CA/(umask066;op... 查看详情

私有ca搭建(代码片段)

1、创建CA所需要的文件生成证书索引数据库文件touch/etc/pki/CA/index.txt指定第一个颁发证书的序列号1235echo01>/etc/pki/CA/serial查看证书内容[root@centos880CA]#opensslx509-inzhengshu-noout-text生成CA的私有密钥于/etc/pki/CA/privateopensslgenrsa-outpriv... 查看详情

https搭建-基于phpstudy+openssl实现https网站搭建(代码片段)

目录一、前言1.https简介2.生成ssl证书二、下载安装phpstudy1.下载phpstudy2.启动phpstudy三、利用openssl证书搭建https1.进行phpstudy的配置https2.把CA自签名证书导入受信任的根证书中3.更改主机host文件一、前言1.https简介HTTPS,是以安全... 查看详情

创建私有ca

...ssl.cnf(1)创建所需要的文件touchindex.txtecho01>serial(2)CA自签证书(umask077;opensslgenrsa-out/etc/pki/CA/private/cakey.pem2048)opensslreq-new-x509-key/etc/pki/CA/private/cakey.pem-days365-out/etc/pki/CA/cacert.perm-new:生成新证书签署请求-x509:专用于CA生成自签证书... 查看详情

私有ca搭建(代码片段)

1、创建CA所需要的文件生成证书索引数据库文件touch/etc/pki/CA/index.txt指定第一个颁发证书的序列号1235echo01>/etc/pki/CA/serial查看证书内容[root@centos880CA]#opensslx509-inzhengshu-noout-text生成CA的私有密钥于/etc/pki/CA/privateopensslgenrsa-o 查看详情

【ca】关于ca-certificates

...老,那就是有新的根证书未加入到这个文件里,导致curl无法正常访问https网站。所以,你要么更新这个包(文件),要么可以选择手动添加证书进去,当然,你可以使用curl -k 跳过证书验证。更新最新证书:https://curl.se/ca... 查看详情

ssl证书下载与安装–如何下载ssl证书

证书是审核完毕后您将会收到:1.服务器证书2.服务器中级CA证书1、配置Apache打开apache安装目录下/etc/httpd/conf/httpd.conf文件,找到#LoadModulessl_modulemodules/mod_ssl.so删除行首的配置语句注释符号“#”保存退出。打开apache安装目... 查看详情

配置私有ca

...tls/openssl.cnf1,创建所需要的文件Touch/etc/pki/CA/index.txt存放证书数据库文件,需要手工创建Echo01>/etc/pki/CA/serial指定16位进制的证书标号2.centos7上搭建CA先生成私钥(umask066;opensslgenrsa-outprivate/cakey.pem-des2048) 查看详情

ca创建及自签名证书(代码片段)

...ey-des31024)opensslrsa-inapp.key-pubout-outapp.pubkey2,创建根CA#生成证书索引数据库文件touch/etc/pki/CA/index.txt#指定第一个颁发证书的序列号echo01>/etc/pki/CA/serial#生成CA私钥(umask066;opensslgenrsa-outprivate/cakey.pem2048)3,自签名证书opensslreq-new-x509-k... 查看详情

linux自建ca并颁发证书的shell脚本(代码片段)

创建私有CA创建CA所需要的文件#生成证书索引数据库文件touch/etc/pki/CA/index.txt#指定第一个颁发证书的序列号echo01>/etc/pki/CA/serial生成CA私钥cd/etc/pki/CA/(umask066;opensslgenrsa-outprivate/cakey.pem2048)生成CA自签名证书opensslreq-new-x509-key/et 查看详情

创建私有ca并发放证书

公司内部证书发放流程1、自建私有CA主机1openssl的配置文件:/etc/pki/tls/openssl.cnf1)创建所需要的文件:cd/etc/pki/CA/ touchindex.txtecho01>serial[[email protected] CA]# tree.├── cacert.pem├── certs├──& 查看详情

ssl证书的生成方法

在Linux下,我们进行下面的操作前都须确认已安装OpenSSL软件包。1.创建根证书密钥文件root.key:[[email protected]:/etc/pki/CA/private]#opensslgenrsa-des3-outroot.key1024GeneratingRSAprivatekey,1024bitlongmodulus....................... 查看详情

创建ca和申请证书

centos6中一.创建私有CA 1、创建所需要的文件touch/etc/pki/CA/index.txt生成证书索引数据库文件echo01>/etc/pki/CA/serial指定第一个颁发证书的序列号650)this.width=650;"src="https://s4.51cto.com/wyfs02/M00/08/08/wKiom1naFsig8v7iAAAUIMa4P6Q 查看详情