Apache 如何使用SSL为本地开发创建证书?

Apache 如何使用SSL为本地开发创建证书?,apache,ssl,lamp,Apache,Ssl,Lamp,我目前正在使用LAMP堆栈进行一个webproject的本地开发。由于我的生产应用程序将使用https进行登录,我希望能够在本地开发环境中模拟这种情况,以便所有url保持一致。我是ssl证书的新手,所以任何人都可以告诉我一些如何做到这一点的参考资料吗?我需要签署我自己的证书吗?我应该把证书放在哪里(我有使用apache的virtualhost配置)?谢谢。您可以使用生成用于本地开发的自签名证书。我是新来的,但请访问此网站并查看其中的信息 最好制作一个自签名证书,并将其添加到用于测试的任何机器上。

我目前正在使用LAMP堆栈进行一个webproject的本地开发。由于我的生产应用程序将使用https进行登录,我希望能够在本地开发环境中模拟这种情况,以便所有url保持一致。我是ssl证书的新手,所以任何人都可以告诉我一些如何做到这一点的参考资料吗?我需要签署我自己的证书吗?我应该把证书放在哪里(我有使用apache的virtualhost配置)?谢谢。

您可以使用生成用于本地开发的自签名证书。

我是新来的,但请访问此网站并查看其中的信息


最好制作一个自签名证书,并将其添加到用于测试的任何机器上。然后对客户来说它应该是“真实的”。。。当然,这是真的。。。只是不在一个“值得信任”的地方。(引用马克,因为我发誓这一切都是为了钱!)

我刚刚找到了这一页,应该可以帮你浏览一下


我最喜欢的是Ralf关于ApacheModSSL的文档。这一页解释了如何制作考试证书。当我需要制作证书时,我总是去这一页


显然,由于您使用的是Java和Apache,这不会有多大好处,但无论如何,如果您也进行.Net开发,您将拥有这些可用工具,也许这可以帮助您顺利生成证书。我使用.Net SDK中提供的
makecert
,下面是我用于为本地.Net开发和IIS创建自己的SSL证书的批处理文件

@ECHO OFF
REM 
REM This script will create a certificate to enable HTTPS for the localhost in IIS
REM Complete the following steps to install the certificate
REM
REM 1.  Run this file to create the certificate 
REM 2.  Open MMC.exe
REM 3.  Click File > Add/Remove Snap In > Add and select 'Certificates'
REM 4.  Select 'Computer Account'
REM 5.  Select 'Local Computer' and click 'Finish', 'Close', 'OK'
REM 6.  Expand Certificates > Personal > Certificates, the new certificate should be listed
REM 7.  In IIS open the Properties of the Default Web Site
REM 8.  Select 'Directory Security' tab and click 'Server Certificate'
REM 9.  The Certificate Wizard will open, choose 'Assign Existing Certificate'   [may     need to cancel a pending certificate request]
REM 10. Select new certificate from list and accept change
REM 11. Ensure that the site is using the default port for SSL 443
REM

C:
CD \
CALL "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\sdkvars.bat"
ECHO Creating Certificate
makecert -r -pe -n "CN=localhost" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
PAUSE

更改
“CN=localhost”
如果您使用另一个主机头访问站点,您可能需要更改
CALL
语句中的路径,具体取决于您使用的Visual Studio版本。

我认为2020年的方法可能是使用一些命令行工具,如

  • mkcert
  • minica
  • fish溺水/ssl
  • devilbox/cert gen

所有工具都是围绕openssl命令或其他库的包装,用于生成证书。

我同意你的说法:证书验证你的流量不会被拦截,这是绝大多数用户关心的首要问题。通过将其与“而且这确实是XYZ的网站”混为一谈,并说服购买公众,除非它来自“可靠来源”,否则它是不“安全的”,Verisign的人员和主要浏览器制造商已经创造了一个轻松的盈利机会。最新的叫法是“扩展验证”SSLs——它只是呼出贪婪,呼出不诚实。是的,这是我在设置SSL时用来创建自签名的演练,这是一个非常好的分步指南。但即使做了所有这些之后,我的浏览器仍在抱怨安全问题。我使用的是Chrome版本50.0.2661.86(64位)。即使使用apache进行了所有设置,它仍然显示“隐私错误-您的连接不是私有的-攻击者可能试图从mysite.com窃取您的信息(例如密码、消息或信用卡)。NET::ERR\u CERT\u AUTHORITY\u INVALID”。我该怎么办?您的浏览器会抱怨,因为您的证书是自签名的(由您的计算机签名,而不是由根证书颁发机构签名),这是无效的。