美文网首页
mac上apache创建服务器与iOS的双向认证证书

mac上apache创建服务器与iOS的双向认证证书

作者: ZLEIi | 来源:发表于2017-03-24 12:56 被阅读0次

// 1、准备工作

// 先在随便一个目录,创建以下几个子目录:
// private
// certificates
// 创建CA私钥,提示输入密码:123456
openssl genrsa -aes256 -out private/ca.key.pem 2048

// 创建CA签名请求,生成的签名请求文件,是ca.csr,记得要把CN *.myhost改成自己服务器的域名,以下myhost所有都要改 ,提示输入密码:123456
openssl req -new -key private/ca.key.pem -out private/ca.csr

Country Name : CN
State or Province Name :你的省份
Locality Name : 你的城市
Organization Name : nn 单位
Organizational Unit Name :部门
Common Name : 你的域名:例如192.168.1.122
Email Address : 你的邮箱
A challenge password : 123456
An optional company name : 你的公司名称

  • Enter pass phrase for app.key: 123456

// 自己签发CA根证书,提示输入密码:123456
// 生成的ca.cer,就是最终的根证书了!这个文件非常重要,因为后续的服务端证书、客户端证书,都是用这个CA签发的,也要把它分发给客户,让他们导入到自己的浏览器或者系统中
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey private/ca.key.pem -in private/ca.csr -out certificates/ca.cer

// 把根证书从PEM编码转为PKCS编码 提示输入密码:123456
// 这步其实不是必选的,但是前面说过,JAVA环境是不能直接用PEM编码的证书的,很多浏览器也不行,所以有时候也需要转一下编码
openssl pkcs12 -export -cacerts -inkey private/ca.key.pem -in certificates/ca.cer -out certificates/ca.p12

// 创建服务端私钥 提示输入密码:123456
openssl genrsa -aes256 -out private/server.key.pem 2048

// 创建服务端证书签发请求
// 和ca.csr的区别在于,这里的CN不是*.myhost.com,而是www.myhost.com,因为我现在是在为www.myhost.com申请证书
openssl req -new -key private/server.key.pem -out private/server.csr

Country Name : CN
State or Province Name :你的省份
Locality Name : 你的城市
Organization Name : nn 单位
Organizational Unit Name :部门
Common Name : 你的域名:例如192.168.1.122
Email Address : 你的邮箱
A challenge password : 123456
An optional company name : 你的公司名称

  • Enter pass phrase for app.key: 123456

// 利用CA根证书,签发服务端证书 提示输入密码:123456
openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA certificates/ca.cer -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in private/server.csr -out certificates/server.cer

//测试单向认证
//把server.key.pem和server.cer拷贝到服务器配置目录下例如:/usr/local/etc/apache2/2.4/extra/ssl/certificates/,然后重新启动httpd,会要求输入一个密码

// 双向认证
// 创建客户端私钥,提示输入密码:123456
openssl genrsa -aes256 -out private/client.key.pem 2048

// 创建客户端证书签发请求
openssl req -new -key private/client.key.pem -out private/client.csr

Country Name : CN
State or Province Name :你的省份
Locality Name : 你的城市
Organization Name : 你的单位
Organizational Unit Name :部门
Common Name : 你的域名:例如192.168.1.122
Email Address : 你的邮箱
A challenge password : 123456
An optional company name : 你的公司名称

  • Enter pass phrase for app.key: 123456

// 用CA根证书,签发客户端证书
openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA certificates/ca.cer -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in private/client.csr -out certificates/client.cer

// 把客户端证书转换成p12格式
openssl pkcs12 -export -clcerts -inkey private/client.key.pem -in certificates/client.cer -out certificates/client.p12

// ----------------------------------------------------------------------------------------------------
// iOS不识别server.cer,所以要把server.cer转换编码格式为der编码
openssl x509 -in server.cer -out server_client.cer -outform der

// httpd-ssl添加的配置
SSLCertificateFile "/usr/local/etc/apache2/2.4/extra/ssl/certificates/server.cer"
SSLCertificateKeyFile "/usr/local/etc/apache2/2.4/extra/ssl/private/server.key.pem"
SSLCACertificateFile "/usr/local/etc/apache2/2.4/extra/ssl/certificates/ca.cer"
SSLVerifyClient require
SSLVerifyDepth 10

相关文章

  • mac上apache创建服务器与iOS的双向认证证书

    // 1、准备工作 // 先在随便一个目录,创建以下几个子目录:// private// certificates...

  • 【SSL】SSL双向认证

    双向认证 SSL 协议要求服务器和用户双方都有证书。 单向认证 SSL 协议不需要客户拥有CA证书,具体的过程相对...

  • SSL双向认证和SSL单向认证的区别

    双向认证 SSL 协议要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有CA证书,具体的过程相对于...

  • NGINX单双向混合认证

    本文介绍通过NGINX配置实现WEB服务器单双向混合认证: 实现HTTPS服务器证书认证 对于一般网络客户端,强制...

  • 证书认证方式 SSL_CTX_set_verify

    对于三级证书链,tls双向认证1.服务器 2.客户端

  • https的认证过程

    HTTPS双向认证过程: ① 浏览器发送一个连接请求给安全服务器。② 服务器将自己的证书,以及同证书相关的信息发送...

  • iOS 中使用自签名证书实现 HTTPS 双向认证

    最近项目中,需要使用自签名的 HTTPS 证书实现双向认证。网上的资料很多,但是存在各种各样的问题,与 iOS 版...

  • 自签名证书适配https

    最近项目中,需要使用自签名的 HTTPS 证书实现双向认证。网上的资料很多,但是存在各种各样的问题,与 iOS 版...

  • tomcat 启用https协议

    利用tomcat服务器配置https双向认证。 1、为服务器生成证书 打开cmd,进入jdk的bin目录下,输入下...

  • IOS配置流程

    1,创建CSR file 通过mac的钥匙串 2,创建IOS Development Cerificate证书(需...

网友评论

      本文标题:mac上apache创建服务器与iOS的双向认证证书

      本文链接:https://www.haomeiwen.com/subject/datfottx.html