标签: ssl

apache2 无效命令“SSLEngine”

当我重新启动 httpd 时,出现以下错误。我错过了什么?

[root@localhost ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: Syntax error on line 22 of /etc/httpd/conf.d/sites.conf:
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)

我已经使用安装了 mod_ssl yum install mod_ssl openssh

Package 1:mod_ssl-2.2.15-15.el6.centos.x86_64 already installed and latest version
Package openssh-5.3p1-70.el6_2.2.x86_64 already installed and latest version
Run Code Online (Sandbox Code Playgroud)

我的sites.conf 看起来像这样

<VirtualHost *:80>
#    ServerName shop.itmanx.com
    ServerAdmin webmaster@itmanx.com

    DocumentRoot /var/www/html/magento
    <Directory /var/www/html>
        Options -Indexes
        AllowOverride All
    </Directory>

    ErrorLog logs/shop-error.log
    CustomLog logs/shop-access.log …
Run Code Online (Sandbox Code Playgroud)

ssl apache-httpd

133
推荐指数
4
解决办法
33万
查看次数

将自签名证书添加到“可信列表”

我已经为我的构建服务器生成了一个自签名证书,我想在我的机器上全局信任该证书,因为我自己创建了密钥并且我厌倦了看到警告。

我在 Ubuntu 12.04 上。如何获取证书并在全球范围内信任它,以便浏览器(Google Chrome)、CLI 实用程序(wget、curl)和编程语言(Python、Java 等)信任与https://mysite.com的连接,而无需询问问题?

ssl

126
推荐指数
5
解决办法
34万
查看次数

如何在 Apache 中禁用 SSLv3?

今天似乎每个人都在谈论POODLE 漏洞。每个人都建议使用以下配置指令在 Apache 中禁用 SSLv3:

SSLProtocol All -SSLv2 -SSLv3
Run Code Online (Sandbox Code Playgroud)

而不是默认

SSLProtocol All -SSLv2
Run Code Online (Sandbox Code Playgroud)

我已经这样做了,但并不高兴 – 在使用各种工具(这里是一个快速工具)反复测试之后,我发现 SSLv3 很高兴地被我的服务器接受了。

是的,我确实重新启动了 Apache。是的,我grep对所有配置文件进行了递归,并且在任何地方都没有任何覆盖。不,我没有使用某些古老版本的 Apache:

[root@server ~]# apachectl -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jul 23 2014 14:17:29
Run Code Online (Sandbox Code Playgroud)

那么,什么给?如何在 Apache 中真正禁用 SSLv3?

ssl apache-httpd

77
推荐指数
2
解决办法
15万
查看次数

如何在命令行上验证 SSL 证书?

我正在尝试验证/验证存储在此处的 rsa 密钥、ca-bundle 和证书是否正常。它们不是由网络服务器提供的。我如何验证它们?

command-line ssl openssl

76
推荐指数
3
解决办法
41万
查看次数

如何从 Linux 中的证书链中提取根 CA 和从属 CA?

我有一个终端实体/服务器证书,它有一个中间证书和根证书。当我cat在最终实体证书上时,我只看到一个BEGINEND标签。它是唯一的最终实体证书。

有什么办法可以查看中间证书和根证书内容。我只需要BEGINEND标签的内容。

在 Windows 中,我可以从“认证路径”中看到完整的证书链。下面是 Stack Exchange 证书的示例。

在此处输入图片说明

从那里我可以执行查看证书并导出它们。我可以在 Windows 中为 root 和中级用户做到这一点。我正在 Linux 中寻找相同的方法。

在此处输入图片说明

ssl openssl certificates

55
推荐指数
3
解决办法
18万
查看次数

如果我更新我的安全证书,是否需要重新启动 Nginx?

所以我正在设置一个启用了 SSL 的 nginx 服务器,服务器定义类似于:

server {
    listen :80;
    listen [::]:80;
    server_name example.org;
    root /foo/bar;

    ssl on;
    ssl_certificate /path/to/public/certificate;
    ssl_certificate_key /path/to/private/key;

    ...
}
Run Code Online (Sandbox Code Playgroud)

你明白了(请原谅任何错别字)。

无论如何,我想知道的是;如果我更新我的证书,有没有办法安装它们而不必重新启动 nginx?

例如,如果我要使用来自/path/to/public/certificate和 的符号链接/path/to/private/key,指向我当前的证书,nginx如果我只是将它们更改为指向新的(更新的)证书,我是否还需要重新启动?有替代品吗?

ssl nginx certificates

51
推荐指数
2
解决办法
5万
查看次数

造成致命错误:openssl/sha.h:没有那个文件或目录

我正在尝试编译一个程序,根据文档,该程序需要“OpenSSL 库”。我已经安装了 OpenSSL,但它仍然给我错误openssl/sha.h: No such file or directory。是否有其他一些必须安装的库?

make debian ssl openssl

49
推荐指数
1
解决办法
12万
查看次数

以非交互方式创建 SSL 证书

我想默默地,非交互地,创建一个 SSL 证书。即,没有得到任何数据的提示。

我创建证书的正常方式是:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
    -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

openssl genrsa -out server.key 2048
touch openssl.cnf

cat >> openssl.cnf <<EOF
[ req ]
prompt = no
distinguished_name = req_distinguished_name

[ req_distinguished_name ]
C = GB
ST = Test State
L = Test Locality
O = Org Name
OU = Org Unit Name
CN = Common Name
emailAddress = test@email.com
EOF

openssl req -x509 -config openssl.cnf -nodes -days 7300 \
    -signkey server.key …
Run Code Online (Sandbox Code Playgroud)

scripting ssl

42
推荐指数
1
解决办法
4万
查看次数

如何修复 curl sslv3 警报握手失败?

我正在尝试通过以下方式卷曲 HTTPS 网站:

$ curl -v https://thepiratebay.se/
Run Code Online (Sandbox Code Playgroud)

但是它失败并出现错误:

* About to connect() to thepiratebay.se port 443 (#0)
*   Trying 173.245.61.146...
* connected
* Connected to thepiratebay.se (173.245.61.146) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS alert, Server hello (2):
* error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
* Closing connection #0
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Run Code Online (Sandbox Code Playgroud)

使用-k/--insecure或添加insecure到 my~/.curlrc没有任何区别。

如何使用curl命令行忽略或强制证书?


使用时wget似乎工作正常。也适用openssl于以下测试:

$ …
Run Code Online (Sandbox Code Playgroud)

command-line osx ssl curl

37
推荐指数
2
解决办法
27万
查看次数

Apache SSL:服务器证书不包含与服务器名称匹配的 ID

我正在尝试在我的 apache2 网络服务器上设置 SSL,但它似乎根本不起作用。

我已经按照教程使用 openssl 创建证书文件并/etc/apache2/sites-available/default-ssl.conf正确配置。

每次我尝试使用 https 打开我的网站时,由于安全问题,我的浏览器拒绝连接。它说我没有正确配置我的网站。

在我的/var/log/apache2/error.log我收到警告,说我的服务器证书不包含与服务器名称匹配的 ID。

[Mon Apr 10 11:03:24.041813 2017] [mpm_prefork:notice] [pid 1222] AH00169: caught SIGTERM, shutting down
[Mon Apr 10 11:03:30.566578 2017] [ssl:warn] [pid 661] AH01909: 127.0.0.1:443:0 server certificate does NOT include an ID which matches the server name
[Mon Apr 10 11:03:31.579088 2017] [ssl:warn] [pid 1194] AH01909: 127.0.0.1:443:0 server certificate does NOT include an ID which matches the server name
[Mon Apr 10 11:03:31.592958 2017] [mpm_prefork:notice] [pid …
Run Code Online (Sandbox Code Playgroud)

webserver ssl openssl https apache-httpd

32
推荐指数
2
解决办法
15万
查看次数