I have a question about how and what is the version of OpenSSl that I must install in Windows to later create certificates. Install a one version (openssl-1.0.2d-fips-2.0.10) found in SourceForge but it does not generate the files correctly. There is also the official website https://www.openssl.org, but I do not know how to install it and how, so that when it comes to generating the keys and .pem file, it works. Generate some environment variables that point to the folder where I unzipped the downloaded, I do not know if it is the correct way.


当前回答

你可以从这里获取https://slproweb.com/products/Win32OpenSSL.html

得到https://wiki.openssl.org/index.php/Binaries的支持和认可

其他回答

我最近需要记录如何安装它的一个版本,所以我在这里复制了我的步骤,因为其他答案使用的是与我推荐的Cygwin不同的来源。我喜欢Cygwin,因为它维护得很好,并为Windows提供了大量其他实用程序。Cygwin还允许您在修复漏洞时根据需要轻松更新版本。请经常更新您的OpenSSL版本!

打开Windows命令提示符,输入:OpenSSL version检查是否安装了OpenSSL

如果您得到命令无法识别的错误消息,那么按照以下总结步骤参考Cygwin安装OpenSSL:

基本上,下载并运行Cygwin Windows安装应用程序来安装和更新OpenSSL应用程序:

Select an install directory, such as C:\cygwin64. Choose a download mirror such as: http://mirror.cs.vt.edu Enter in openssl into the search and select it. You can also select/un-select other items of interest at this time. The click Next twice then click Finish. After installing, you need to edit the PATH variable. On Windows, you can access the System Control Center by pressing Windows Key + Pause. In the System window, click Advanced System Settings → Advanced (tab) → Environment Variables. For Windows 10, a quick access is to enter "Edit the system environment variables" in the Start Search of Windows and click the button "Environment Variables". Change the PATH variable (double-click on it or Select and Edit), and add the path where your Cywgwin is, e.g. C:\cygwin\bin. Verify you have it installed via a new Command Prompt window: openssl version. For example: C:\Program Files\mosquitto>openssl versionOpenSSL 1.1.1f 31 Mar 2020 If not, refer to the Cygwin documentation and also other tutorials such as: https://www.eclipse.org/4diac/documentation/html/installation/cygwin.html

如果您运行的是Windows 10 1709 (build 16299)或更高版本,则可以使用下面的winget命令安装OpenSSL

winget install -e --id ShiningLight.OpenSSL

或者如果你的系统上安装了Git for Windows,你也可以在Git文件目录中找到OpenSSL。

C:\Program Files\Git\usr\bin\openssl.exe

更多详细信息请参见本指南3 Windows系统上安装OpenSSL的方法。

我还想为Windows 10创建OPEN SSL。有一种简单的方法可以避免从第三方网站安装未知软件和冒病毒的风险,就是使用Git for Windows安装中的openssl.exe。在我的例子中,我在Git for Windows安装的下面位置找到了开放SSL。

C:\Program Files\Git\usr\bin\ openssl.exe

如果您还想了解如何使用OPENSSL生成和使用证书,这里是我博客上的一篇文章。分步说明首先解释了如何使用Microsoft Windows默认工具和OPEN SSL,并解释了它们之间的区别。

https://kaushikghosh12.blogspot.com/2016/08/self-signed-certificates-with-microsoft.html

这里有一个解决方案,可能会让那些已经实现了WSL (Windows Subsystem for Linux)的人感到高兴。你可以用:

WSL openssl…

关键是许多实现了WSL的人可能没有意识到他们可以通过这种方式从DOS或powershell命令行调用任何linux命令(在他们的底层WSL linux虚拟机中)。(人们很容易认为WSL的目的是用它来“shell到vm”,这确实是一个选项,但是从Windows运行linux命令的能力是WSL真正的增值。)

需要明确的是,在执行上面的命令时,您可能指向(或创建)的任何文件名或文件夹都将相对于您运行命令的Windows文件夹。例如,openssl req创建一个自签名证书,其中可以将-keyout命名为selfsigned。输入自签名。crt,这两个文件将被创建在运行命令的Windows文件夹中。

也就是说,对于一些openssl命令示例来说,这可能会失败,例如,如果他们试图使用各种特定于bash的参数,在这种情况下,“shell到wsl”来运行命令可能是更好的选择。您仍然可以直接在主机上找到或放置东西,但我并不是说这个答案过于关注WSL方面。我只是想把它作为安装openssl的另一种选择。

你可以从这里获取https://slproweb.com/products/Win32OpenSSL.html

得到https://wiki.openssl.org/index.php/Binaries的支持和认可