`
fengzhang
  • 浏览: 48297 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

openssl 安全设置

阅读更多

这两天在做apache的ssl认证,结合网上的资料和自己的实际,将步骤写在下面:

一、安装apache+openssl,这里不再说明,具体参照网络上的其他说明

二、在apache的安装目录下,新建一个目录用于存放CA等。

      mkdir /usr/local/apache2/conf/ssl.crt

 三、拷贝openssl安装目录下的misc下的CA到第二步建立的目录中

     cp /usr/local/ssl/misc/CA  /usr/local/apache2/conf/ssl.crt

     如果有需要,自己可以修改CA的内容(openssl.cnf也要同样的修改 ),一般不用修改,

CATOP=/usr/local/CA  <-----CA生成目录自定
CAKEY=/usr/local/CA/private/cakey.pem  <-----CA密匙
生成目录自定
CACERT=/usr/local/CA/cacert.pem  <-----CA证明书
生成目录自定
default_days=3650  <-----有效期限  

四、生成CA密匙

./CA -newca

------------------------------------------------------------------------------
CA cretificate filename (or enter tocreate)  <---文件名指定,默认就行了,直接enter

Enter PEM pass phrase:  <--证明书的密码设置
Verifying - Enter PEM pass phrase:  <---再次确认输入
Country Name (2 letter code) [AU]:  <---国名输入
State or Province Name (full name) [Some-State]:  <---省市县区输入
Location Name(eg,city) []:  <---具体的地址输入,比如那个楼什么的
Orgnaization Name(eg,company)[Internet Widgits Pty Ltd]:  <---组织名输入
Orgnaization Unit Name(eg,section)[]:  <---不署名输入
Common Name (eg,YOUR name)[]:  <---服务器的host名(FQDN)指定
Email Address []:  <---联络mail地址输入

 

这样就建好了一个CA服务器,有了一个根证书的私钥cakey.pem及一张根证书cacert.pem

五、生成服务器私钥

  openssl genrsa -des3 -out server.key 1024

六、生成服务器证书请求

  openssl req -new -key server.key -out server.csr

  这步会要求输入,输入信息,请按照第四部一样输入

七、apache启动时,要求输入密码解除

     openssl rsa -in server.key -out server.key

八、把server.crt文件mv成newreq.pem

     mv server.csr newreq.pem

九、用CA来签证

     ./CA -sign

     这样就生成了server的证书newcert.pem

十、把newcert.pem改名成server.crt

     mv newcert.pem server.crt

十一、如果需要客户端的,可以按照下面的要求生成客户端验证

     openssl genrsa -des3 -out client.key 1024

     openssl req -new -key client.key -out client.csr

     openssl ca -in client.csr -out client.crt

     openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

 十二、这时就有了三张证书和三个私钥,一个是demoCA下的根证书,ssl.crt下的服务器证书和客户证书

       cp demoCA/cacert.pem cacert.pem

       cp cacert.pem ca.crt

十三、编辑ssl.conf

       httpd.confの設定は以下の箇所です。

SSLEngine on  <---SSL有效设置
SSLCertificateFile  <---CA用服务端证明书(newcert.pem/server.crt)
SSLCertificateKeyFile  <---服务端密匙(server.key)
SSLCertificateChainFile  <---CA用证明书(cacert.pem)
SSLCACertificatePath  <---CA证明书路径
SSLCACertificateFile  <---CA证明书(cacert.pem)
SSLCARevocationPath  <---客户端证明书路径
SSLCARevocationFile  <---客户端证明书(clcert.pem)
SSLVerifyClient require  <---客户端认证是否需要
SSLVerifyClient 1  <---客户端认证方式

 根据自己的需求,修改ssl.conf

 

关联参考:

 http://www.rinzo2.jp/~rinzo/apache_ssl/apache_and_ssl_00.htm

 http://www.ossforge.com/html/kaiyuanjishu/Linux_Unix/20071002/12767.html

 http://www.yuanma.org/data/2006/0527/article_491.htm

分享到:
评论

相关推荐

    网络安全和OpenSSL

    7. **网络安全实践**: 使用OpenSSL进行安全配置,包括设置合适的加密套件、禁用弱算法、正确处理证书过期等,对于提高网络服务的安全性至关重要。 8. **OpenSSL命令行工具**: OpenSSL提供了一套丰富的命令行工具,...

    使用 OpenSSL API 进行安全编程

    OpenSSL 是一个强大的安全套接字层 (SSL) 和传输层安全 (TLS) 软件库,提供了各种加密算法、数字证书、哈希函数和随机数生成等功能,广泛应用于网络安全通信。它不仅包含了用于安全通信的 API,还提供了一系列的...

    OpenSSL-for-iPhone-master.zip_OpenSSL-for-iPhone_openssl_openssl

    6. **整合到项目中**:将编译好的OpenSSL库添加到Xcode项目中,设置好链接器选项,确保应用能够找到库文件。 7. **使用OpenSSL**:现在可以在Objective-C或Swift代码中调用OpenSSL提供的API进行加密、解密、证书...

    OpenSSL Engine安全平台下的Engine对象分析

    ### OpenSSL Engine安全平台下的Engine对象分析 #### 一、引言 随着互联网技术的迅猛发展,信息安全成为网络应用中不可或缺的一部分。SSL(Secure Socket Layer,安全套接层)技术作为一种广泛应用的安全解决方案...

    openssl1.1.0.rar

    为了正确使用这些库,开发者需要了解如何配置他们的项目设置,链接到这些库,并调用相应的 API 实现加密和安全通信功能。 总的来说,OpenSSL 1.1.0 是一个关键的更新,为开发者提供了更强大、更安全的加密工具,...

    openssl-0.9.8k_WIN32_openssl-0.9.8k_WIN32_OpenSSL-Win32_openssl_

    1. `openssl.cnf` - 这是 OpenSSL 的配置文件,包含了默认的设置和证书信息,用于构建和配置 SSL/TLS 连接。 2. `boost_1_51_0.zip` - Boost 是一个流行的开源 C++ 库,这个文件可能是 Boost 的旧版本1.51.0,可能被...

    OpenSSL3.2动态库

    OpenSSL 是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现库,同时也包含各种加密算法、证书工具和其他相关功能。OpenSSL 3.2 是该库的一个新版本,它提供了最新的安全更新、性能改进以及对现有特性的优化...

    openssl已编译,3.0.3

    - **安全配置**:正确配置OpenSSL的设置,如默认密码策略、加密套件选择等,以确保最佳的安全性。 - **更新策略**:定期检查并更新到最新版本,以获得最新的安全补丁和功能。 在压缩包文件中,单个文件名“openssl...

    QTwindows下OpenSSL的使用

    OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,同时也包含了许多常用的加密算法、证书处理等功能。本教程将详细介绍如何在Qt Windows平台下配置和使用OpenSSL。 首先,你需要下载适用于...

    openssl源代码openssl-3.0.1.tar.gz openssl-1.1.1m.tar.gz

    OpenSSL 是一个强大的安全套接层 (SSL) 和传输层安全 (TLS) 库,它提供...在编译时,需要遵循OpenSSL的官方文档,确保正确设置编译选项和依赖项,以实现最佳效果。同时,注意定期检查更新,以便及时应用任何安全修复。

    openssl_1.1.0_x64_openssl\include_opensslvs_openssl-1.0.1_openss

    《OpenSSL在Windows平台上的应用与配置》 OpenSSL是一个强大的安全套接字层密码库,包含各种主要的密码算法、...在Windows环境下,虽然配置可能相对复杂,但是一旦设置完成,OpenSSL将成为开发安全应用的强大工具。

    openssl密钥生成工具

    OpenSSL 是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现库,同时也包含了各种密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序供测试或其他目的使用。在本文中,我们将深入...

    已经编译的openssl,openssl-0.9.8q.zip版本

    - **安全配置**:正确配置 SSL/TLS 参数,如启用强加密套件,禁用弱加密,设置合适的证书链等。 - **证书管理**:确保使用有效的数字证书,以保证通信双方的身份可信。 - **审计和监控**:定期进行安全审计,监控 ...

    openssl win x64

    在 Windows x64 环境下,OpenSSL 的编译和使用对于开发和维护安全的应用程序至关重要。 标题“openssl win x64”表明这是一个关于在 Windows 64 位操作系统上编译和使用的 OpenSSL 工具包。这通常涉及到下载源代码...

    OpenSSL3.0.0静态编译

    - 设置环境变量,例如,对于x64平台,设置`INCLUDE`、`LIB`和`PATH`指向VC的安装目录,确保包含相应的头文件和库文件路径。 3. **解压并配置OpenSSL源码**: - 将下载的OpenSSL源码解压到一个工作目录。 - 进入...

    openssl 编译好的版本

    总的来说,OpenSSL_1_1_0f 在 Windows 平台上的编译,特别是使用 VS2015,是一项关键任务,确保了开发者能够在 Win32 环境下使用这一强大的安全库。通过理解编译过程和使用编译好的版本,开发者可以更便捷地在他们的...

    openssl文档_openssl_x509_

    在IT领域,OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现库,同时也包含用于处理公钥基础设施(PKI)的工具,如X.509证书、密钥对生成以及加密算法。X.509是用于身份验证的标准,它定义了数字...

    OpenSSL 1.1.1b Windows版 openssl.exe

    GitHub 上的 OpenSSL 源代码是开源的,但编译成可执行文件需要一定的技术知识,包括设置构建环境、配置编译选项等。为了简化这个过程,有人已经编译了适用于 Windows 的 OpenSSL 1.1.1b 版本的 openssl.exe 文件,...

    openssl-1.1.1m centos 7 rpm

    安装完成后,你需要设置环境变量以使用新安装的 OpenSSL 版本,例如: ```bash export PATH=$PATH:/usr/local/openssl111/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl111/lib ``` 这样,当你...

    openssl_openssl_android_shirtiut_

    OpenSSL是一个强大的安全套接层(SSL/TLS)和传输层安全(TLS)协议库,同时也包含了各种常用的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序供测试或其他目的使用。 描述中提到的...

Global site tag (gtag.js) - Google Analytics