如何在StandAlone的IntraWeb或非IntraWeb的应用程序中启用Indy OpenSSL自签名的HTTPS

如何在StandAlone的IntraWeb或非IntraWeb的应用程序中启用基于Indy OpenSSL自签名的HTTPS

一、说白了,让你用基于Open SSL的Indy SSL库:  

       https://www.atozed.com/intraweb/download/ssl/

       https://opendec.wordpress.com/

       https://www.openssl.org/source/

二、证书格式转换工具:

    Indy使用OpenSSL,其使用的证书格式不同于大多数SSL提供程序默认提供的证书格式。要转换它们,可以使用以下方法:


    SSL Buddy –一个免费的UI实用程序,可以执行转换:

            https://sslbuddy.software.informer.com/


    手动转换–说明如何使用OpenSSL命令行工具进行SSL格式.cer和.pem的转换:

            https://jingyan.baidu.com/article/9989c746d1681bf648ecfebe.html

三、自签名的Https方法及步骤:

    1)设置ServerController.SSLOptions.Port = 443(您也可以使用任何其他端口,但是443是标准HTTPS端口)

    2)生成证书。在开发过程中,您可以使用自签名证书。
        在此处免费获取一个:https://zerossl.com
    3)如果您从ZeroSSL.com获得了自签名证书,则将文件重命名为:crt.txt-> cert.pem key.txt-> key.pem

    4 )下载“让我们加密根证书”。您可以在这里找到它:https://letsencrypt.org/certificates/
        单击链接“ ISRG Root X1(自签名)”并保存。

    5)将在(4)中获得的根证书重命名为root.pem。

    6)将所有3个PEM文件(从上面的3-5)保存到IW EXE所在的文件夹中(*不是*在wwwroot文件夹中!)

    7)从此处下载OpenSSL:https://indy.fulgan.com/SSL/
       选择与您的服务器兼容的最新版本。请记住,32位应用程序需要32位DLL,而64位应用程序则需要64位DLL。
        因此,Indy Fulgan DLL具有Win32和Win64后缀。

    8)解压缩OpenSSL存档并将libeay32.dll和ssleay32.dll复制到IW EXE所在的文件夹中。

    9)构建并运行您的应用程序。请注意,所有浏览器都会警告您您的自签名证书无效。
        这是正常现象,是预期的。自签名证书的工作方式与普通证书一样,但是它们不受浏览器的信任。
        您需要添加此证书作为例外,以便浏览器将其作为普通证书接受。

注意:
    其他相关的属性:
a)ServerController.SSLOptions.NonSSLRequest->可能的值为:
            -nsAccept:将接受使用HTTP(非安全)的请求。HTTPS请求也将起作用。
            -nsBlock:使用HTTP(非安全)的请求将被阻止,HTTPS(安全)请求将起作用
            -nsRedirect:使用HTTP的请求将被重定向到HTTPS请求。除协议外,将使用相同的URL,

        有关设置此属性的示例代码,请参见ServerController.OnConfig事件。

b)TIWForm.ConnectionMode->可能的值为:
            -cmAny:此表单将同时接受HTTP和HTTPS请求
            -cmSecure:此表单将仅接受HTTPS请求
            -cmNonSecure:此表单将仅接受HTTP(非安全)请求

        有关设置此属性的示例代码,请参见表单的OnCreate事件。


本博客关联知识

《关于为客户端自签SSL证书的生成、颁发、鉴权与JWT + Token》

            https://blog.csdn.net/pulledup/article/details/108034168

《delphi XE基于SSL的HTTPS服务器应用程序的认证文件(Certificate.cer、CACertificate1.cer、PrivateKey.key及OnGetPassword)的配置》

            https://blog.csdn.net/pulledup/article/details/105408763

《ssl证书绑定端口》

            https://blog.csdn.net/pulledup/article/details/107026471

《ssl证书绑定windows服务器端口及SSL配置命令详解》

            https://blog.csdn.net/pulledup/article/details/106056206

《H5 +JS +Bootstrap +IntraWeb +Delphi 10.4.1编程系列》

            https://blog.csdn.net/pulledup/article/details/109141432

《delphi WebBroker服务器做后端,前端jtable+Html5+javaScript,Web开发利器》

            https://blog.csdn.net/pulledup/article/details/104720906

《delphi XE使用JavaScript数据类型及数据类型转换》

            https://blog.csdn.net/pulledup/article/details/107120755

喜欢的话,就在下面点个赞、收藏就好了,方便看下次的分享:

猜你喜欢

转载自blog.csdn.net/pulledup/article/details/109338663