我正试图在我的公司实施一套更好的自签名证书。 我想要的是这样的: 所有证书都由一个根证书签名,因此开发人员只能信任这个根证书 子证书是基本url的通配符,以及url本身。 例如,我有一个根证书和一个由它签名的子证书,其中的主题替代名acme.local和* .acme.local。 我已经独立完成了这两个目标,但是我不能把它们放在一起。 要用root签名证书,我必须分别构buildCSR和证书,但是我无法弄清楚如何让req和x509与subjectAltName扩展一起工作。 无论我尝试什么,我都会得到一个神秘的错误信息: Error Loading extension section default 140698802165664:error:22097082:X509 V3 routines:DO_EXT_NCONF:unknown extension name:v3_conf.c:124: 140698802165664:error:22098080:X509 V3 routines:X509V3_EXT_nconf:error in extension:v3_conf.c:93:name=HOME, value=. 任何人可以帮助我实现与根证书多个subjectAltNames? 对于它的价值,我几乎完全控制了工具链。 编辑: 根据要求,我使用的是openssl.cnf。 这是从/etc/pki/tls/openssl.cnf出来的, /etc/pki/tls/openssl.cnf了一些修改,但是我不能100%确定整个文件是怎么回事。 我的猜测是这些区域在某种程度上与不同的命令相对应,我认为我需要在请求和ca部分中指定v3扩展(用于SAN),但是我不确定如何使它们对应,或者是否我需要这样做,如果copy_extensions打开,因为那样我觉得他们可能在CSR。 无论如何,SSL是复杂的,任何说不是说谎或出售的东西。 # # OpenSSL example configuration file. # This is mostly being used for generation of certificate requests. # # This definition stops […]
输出: openssl req -noout -modulus -in presentCSR.csr 和 openssl x509 -noout -modulus -in server_new.crt | openssl md5 火柴。 但是输出 openssl rsa -noout -modulus -in server.key | openssl md5 与以上两点不同。 这是我得到关键值不匹配错误的原因。 我在生成私钥的同时使用了CSR中的相同信息。 有人知道我在哪里犯错吗?
我已经在startssl.com上注册,因此为我的域名修复了4个文件: ssl.key – 私钥文件 ssl.crt – 证书文件 ca.pem – 根CA sub.class1.server.ca.pem – 1级中间服务器CA证书 删除密码我做了: openssl rsa -in ssl.key -out ssl.key.nopwd 然后,我build立了我的nginxconfiguration: server { listen 443 ssl; ssl on; ssl_certificate /etc/nginx/ssl/ssl.crt; ssl_certificate_key /etc/nginx/ssl/ssl.key.nopwd; keepalive_timeout 70; fastcgi_param SSL_VERIFIED $ssl_client_verify; fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial; fastcgi_param SSL_CLIENT_CERT $ssl_client_cert; fastcgi_param SSL_DN $ssl_client_s_dn; server_name ***; root /var/www/***; } 在nginx重新启动后,我可以通过https成功进入我的网站。 但是现在我想保护我的网站,并且只能通过安装在客户端浏览器中的证书来访问它。 据我所知,我必须安装在nginxconfiguration: ssl_client_certificate […]
我们有一个带有OpenSSL 0.9.8e-fips-rhel5的Apache 2.2.3服务器。 我正在VirtualHost中运行以下SSLconfiguration。 我找不到任何其他configuration文件与任何SSL指令。 SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite CDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS 但是,我仍然无法通过以下消息进行SslLabs扫描: 该服务器支持匿名(不安全)套件 为什么如果我只使用强密码并且无法在任何地方find任何压倒一切的configuration,它仍然失败?
我找不到OpenSSL和Apache的最低操作系统要求。 我想知道是否可以在Linux SUSE Enterprise Server SP4上安装OpenSSL 1.0.2和Apache 2.4.x。
我有一个基于官方PHP Docker镜像的 Docker应用程序。 我已经扩展它来更新cURL并使用nghttp2和openssl ,这是我的应用程序需要HTTP / 2支持。 但是,PHP本身并没有反映这个变化,我不知道为什么。 这是我的Dockerfile: FROM php:7.0.3-fpm # Add sources that allow installation of unstable packages (needed for latest OpenSSL/cURL versions). RUN echo 'deb http://ftp.uk.debian.org/debian testing main contrib \n\ deb-src http://ftp.uk.debian.org/debian testing main contrib \n\ deb http://ftp.debian.org/debian/ jessie-updates main contrib \n\ deb-src http://ftp.debian.org/debian/ jessie-updates main contrib \n\ deb http://security.debian.org/ jessie/updates main […]
我正尝试在从Microsoft Active Directory证书服务生成的embedded式系统上使用证书和私钥。 NDES和SCEP目前在范围之外,因此需要半手动。 我在我们的AD CA服务器上使用https:// server / certsrv上的Microsoft Web工具。 我可以在没有CSR的情况下通过并生成响应,并将证书导出到私钥中。 响应是一个页面,要求我“安装此证书”或“保存响应”。 如果我运行“安装此证书”选项,则Windows Certmgr应用程序会显示我已导入证书并拥有私钥。 这可以作为PKCS#12文件导出,可以使用或转换为PEM。 但是,如果使用“保存响应”选项并将文件存储为p7b(如在检查响应文件时由certutil所示),然后使用p7b文件导入证书,则没有可用的私钥。 这是一致的,因为我不希望PKCS#7文件存储私钥。 我的问题: PKCS#7文件格式似乎不支持私钥,而OpenSSL似乎不支持从PKCS#7文件中提取私钥。 有没有办法使用certsrv web工具,并获得证书和私钥,而不必在Windows中“安装此证书”? 此外,跆拳道是继续,让MS安装私人钥匙,我似乎无法获得? 我查看了文件https://dakota.main.lab/certsrv/certfnsh.asp中的脚本,他们似乎使用了与“save response”输出中显示的相同的pkcs#7数据。 提前致谢。 Dinsdale
我们目前的networking堆栈安装在Plesk的CentOS 5.11服务器上。 我们正在使用PHP 5.4,cURL 7.47.1和openSSL 0.9.8e-fips-rhel5 2008年7月1日。我试图使用基于代码的代码来运行PayPal IPN: https : //github.com/paypal /ipn-code-samples/blob/master/paypal_ipn.php 。 问题是握手试图使用SSLv3似乎不支持贝宝(也许我错了?)。 我收到此错误: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure 。 我发现其他地方说要尝试一些事情。 所有我有。 我曾尝试使用 curl_setopt($ch, CURLOPT_SSLVERSION, 5); curl_setopt($ch, CURLOPT_SSLVERSION, 6); curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "TLSv1"); curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "TLSv1.2"); 这些都没有工作。 cURL和OpenSSL都被更新为CentOS 5.11的最新端口。 我希望或者我错过了一些东西,有一种方法来运行没有TLS的PayPal IPN,或者有一种方法来更新openSSL到1.0.1g。 任何帮助将不胜感激。 注意:升级到CentOS 6不是一个选项。
我试图确保我的proftpd服务器,但我不明白我做错了什么。 我的tls.conf <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol TLSv1 TLSCipherSuite AES128+EECDH:AES128+EDH TLSOptions NoCertRequest AllowClientRenegotiations TLSRSACertificateFile /etc/ssl/certs/mailserver.pem TLSRSACertificateKeyFile /etc/ssl/private/mailserver.pem TLSCACertificateFile /etc/apache2/ssl.crt/1_root_bundle.crt TLSVerifyClient off TLSRequired on RequireValidShell no TLSRenegotiate none </IfModule> 我使用相同的证书文件的HTTPS连接,工作都很好。 当我这样做: openssl s_client -connect 127.0.0.1:21 -starttls ftp 我得到一个很好的ssl连接。 但是,当我做我的外部IP地址相同,我得到这个消息: CONNECTED(00000003)140567084144296:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议:s23_clnt.c:774: 没有对等证书可用 未发送客户端证书CA名称 SSL握手已经读取了91个字节并写入了300个字节 新(NONE),密码是(NONE)不支持安全重协商压缩:无扩展:无 在我做外部连接时,在TLS日志中没有消息,而在proftpd.log中只有这条消息: Mar 02 13:22:38 domain.tld proftpd [31274] domain.tld(domain.tld [ip.addr.es.s]):打开FTP会话。 Mar […]
我试图在我的FreeBSD Apache 2.4.16服务器上完全支持向前保密。 我正在使用正确的密码套件,因为相同的密码顺序在不同的FreeBSD服务器上正常工作。 但是,当我尝试SSL服务器testing时,即使运行openssl ciphers cipher显示它们存在,ECDHE密码套件也不会出现。 这可能是什么原因? configuration的密码是这些: ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE- -AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA :ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE -RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3 -SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:DSS