Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacElCapitan上的Apache2.4.16:如何使其与TLS1.2一起工作_Apache_Ssl_Tls1.2 - Fatal编程技术网

MacElCapitan上的Apache2.4.16:如何使其与TLS1.2一起工作

MacElCapitan上的Apache2.4.16:如何使其与TLS1.2一起工作,apache,ssl,tls1.2,Apache,Ssl,Tls1.2,在我的MacBookPro中,我有Apache2.4.16和OpenSSL 1.0.2d。 我正在尝试用SSL配置它,它也应该使用TLS1.2。 因此,我创建了一个具有以下内容的自签名证书: openssl-req-x509-nodes-sha256-days 365-newkey rsa:2048-keyout localhost.key-out localhost.crt 我编写了我的httpd ssl.conf文件,如下所示: ###############################

在我的MacBookPro中,我有Apache2.4.16和OpenSSL 1.0.2d。 我正在尝试用SSL配置它,它也应该使用TLS1.2。 因此,我创建了一个具有以下内容的自签名证书:

openssl-req-x509-nodes-sha256-days 365-newkey rsa:2048-keyout localhost.key-out localhost.crt

我编写了我的
httpd ssl.conf
文件,如下所示:

###############################
######## Enable SSL ###########
<IfModule ssl_module>
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog  builtin
#SSLSessionCache shmcb:/Applications/AMPPS/apache/logs/ssl_gcache_data(512000) 
SSLSessionCacheTimeout  300
Mutex default
</IfModule>
###############################

#### Localhost SSL Entries ####
<IfModule ssl_module>
<VirtualHost *:443>
  DocumentRoot "/Users/lory/Sites"
  ServerName localhost
  SSLEngine on
  SSLProtocol all -SSLv2 -SSLv3
  SSLHonorCipherOrder on
  SSLCertificateFile "/Users/lory/Sites/localhost.crt"
  SSLCertificateKeyFile "/Users/lory/Sites/localhost.key"
</VirtualHost>
从中我推断出事情并不顺利

事实上,如果我在
phpinfo()中进行检查我看到的输出:

  • 使用的版本为Apache/2.4.16(Unix)PHP/5.5.30 OpenSSL/0.9.8zg

  • ssl、sslv3、sslv2

还有更多。我不知道为什么,我以为我让他们残疾了。 我怎样才能修好它

更新

特别感谢用户Myles发出以下信号:

截至2016年7月21日,MAMP PRO 4有一个预发行版,其中包括OpenSSL 1.0.2,请在此处获取预发行版:


执行从终端打开SSL的
。我想您会发现它不是/usr/bin/openssl。您运行的是通过自制或MacPorts编译或安装的openssl。OSX附带的内置Apache无法使用该openssl。它将使用/usr/bin中的一个,这就是为什么
phpinfo()
报告0.9.8zg

尝试
/usr/bin/openssl版本
,您将看到相同的0.9.8zg


除了编译您自己的Apache或使用来自自制或MacPorts的Apache之外,我认为您不能使用更现代的openssl。

从终端执行
哪个openssl
。我想您会发现它不是/usr/bin/openssl。您运行的是通过自制或MacPorts编译或安装的openssl。OSX附带的内置Apache无法使用该openssl。它将使用/usr/bin中的一个,这就是为什么
phpinfo()
报告0.9.8zg

尝试
/usr/bin/openssl版本
,您将看到相同的0.9.8zg

除了编译自己的Apache或使用自制或MacPorts的Apache之外,我认为您不能使用更现代的openssl

CONNECTED(00000003)
140735258165328:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version   number:s3_pkt.c:362:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 7 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
  Protocol  : TLSv1.2
  Cipher    : 0000
  Session-ID: 
  Session-ID-ctx: 
  Master-Key: 
  Key-Arg   : None
  PSK identity: None
  PSK identity hint: None
  SRP username: None
  Start Time: 1451408861
  Timeout   : 7200 (sec)
  Verify return code: 0 (ok)
---