三、不要在IIS(信息服务器)中创建在自签名证书
在IIS中创建自签名证书似乎很容易——只需选择“Create Self-Signed Certificate”菜单项就行了:
值得注意的是,IIS是使用计算机名作为证书中的主机名的:
而在大多数情况下,计算机名与你预想的主机名是不匹配的,这将会导致你的自签名证书不能被信任, 即使把它添加到iOS中:
通过从IIS6工具箱安装和运行SelfSSL工具这个问题可以解决。不过,接下来这个使用OpenSSL的方法或许更容易。
四、使用OpenSSL,使创建自签名证书更加简单
创建自签名证书,其中一个最简单的方法就是使用OpenSSL命令行工具,这个方法适用于大多数平台,且它在Mac OSX上是默认安装的。
首先创建一个私人秘钥文件:
openssl genrsa -out myselfsigned.key 2048
然后:创建自签名证书:
openssl req -new -x509 -key myselfsigned.key -out myselfsigned.cer -days 365 -subj /CN=www.mysite.com
你可以使用任意文件名作为密钥和证书(.cer)文件的文件名。/ CN参数需根据所需主机名(例如上面例子中的https://www.mysite.com)来设置。days参数指定过期日,从今天开始算起。
如果你不想下载OpenSSL的话,有一个网站可以帮你做:Self-Signed Certificate Generator,不过,自己做当然是最安全的。
在Apache服务器上,密钥和证书文件可以直接在SSL配置中使用。而在IIS中你需要一个PFX文件,以便将证书导入到IIS的服务器证书部分。 OpenSSL也可以为你创建PFX文件:
openssl pkcs12 -export -out myselfsigned.pfx -inkey myselfsigned.key -in myselfsigned.cer
五、创建你自己的认证机构(CA)
使用自签名证书的一个问题是,你需要在每个设备上为每个证书设置信任关系。避开这个麻烦的一个方法就是创建你自己的认证机构(CA)根证书,然后基于它来创建证书。
你可以购买一个商业CA来创建SSL证书,然而你也可以自己充当自己的CA。自己创建认证机构的优势在于:你自定义的CA证书在每个设备上只需安装一次。设备会根据你的根CA证书自动信任你发出的任何证书。
创建CA证书只需两步,首先仍是创建一个私人秘钥:
openssl genrsa -out myCA.key 2048
然后创建证书:
openssl req -x509 -new -key myCA.key -out myCA.cer -days 730 -subj /CN="My Custom CA"
上面创建的证书文件(myCA.cer)可公开分享,也可安装到iOS或其他操作系统中作为受信任根CA证书的一个嵌入。自定义的CA证书在iOS中保存在General->Settings->Profile下:
私人秘钥文件(myCA.key)只在创建新的SSL证书时才会使用。
基于这个CA证书,你可以根据需要创建任意数量的证书。这里还有一个步骤,就是创建一个CSR(客户端签名请求),正如你购买一个商业SSL证书一样。
首先创建一个私人秘钥:
openssl genrsa -out mycert1.key 2048
然后创建CSR:
openssl req -new -out mycert1.req -key mycert1.key -subj /CN=www2.mysite.com
再使用CSR来创建证书:
openssl x509 -req -in mycert1.req -out mycert1.cer -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial
创建的证书(mycert.cer)可以安装在Web服务器上,且能从任何安装了该CA证书的iOS设备进行访问。
相关推荐
在iOS中,签名是通过数字证书完成的,这可以是SSL证书或P12证书。SSL证书通常用于网站身份验证,而P12证书则更常见于应用程序和配置文件的签名。这个"iOS描述文件签名工具.exe"显然是一个专门为Windows用户设计的...
1. **创建自签名证书**:首先,开发者需要为客户端和服务器分别创建自签名证书,并导入到各自的Keychain中。 2. **配置信任的根证书**:在iOS应用中,需要加载服务器的根证书,将其添加到`CFArray`中,然后设置为`...
本文将深入探讨“JRE包,uniapp生成自有证书使用”的主题,针对Android平台,详细讲解如何使用uniapp来创建和使用自签名的SSL证书,以及JRE(Java运行环境)在这一过程中的作用。 首先,uniapp是一个多端开发框架,...
在iOS开发过程中,企业证书是必不可少的一环,它允许企业内部发布应用程序,无需通过App Store审核,便于企业内部员工快速试用和分发。本文将详细介绍ios企业应用证书的使用,包括推送p12、打包p12以及云编译证书的...
在自签名证书配置中,理解AFNetworking的`AFSecurityPolicy`类以及`evaluateServerTrust:forDomain:`方法至关重要,因为这是进行服务器信任评估的地方。对于需要双向认证的应用,你可能需要重写此方法来实现客户端...
但在这个场景中,由于我们是自签名,你可以直接使用之前创建的CA来签署这个服务器证书请求。 **配置WebLogic SSL** 1. 登录WebLogic管理控制台,导航到`Security Realms` > `myrealm` > `SSL`。 2. 创建一个新的SSL...
在iOS开发过程中,推送通知(Push Notification)是一种重要的功能,它允许应用开发者向用户发送通知信息。而制作APNs(Apple Push Notification service)证书是实现iOS推送通知的前提。本知识点将详细介绍如何制作...
总的来说,这个压缩包中的资源可以帮助开发者理解如何在iOS应用中使用`NSURLConnection`处理自签名证书的HTTPS连接,这对于那些需要在本地或测试环境中快速部署HTTPS服务的开发者来说非常有用。不过,要注意的是,自...
这一步完成后,你的服务器就具备了使用自签名SSL证书的能力。 在客户端配置方面,iOS设备需要信任这个自签名证书。在设备的设置中,进入“通用”>“关于本机”>“证书信任设置”,找到你的证书并启用信任。这样,...
在自签名证书的场景下,开发者可以自己生成证书来建立一个自信任的HTTPS服务器,这对于测试和内部分发应用程序非常有用。 Swift中的URLSession和URLSessionDelegate是实现HTTPS服务器的关键组件。URLSession是苹果...
综上所述,“Flash_For_IOS_p12证书”涉及的是在iOS环境下处理Flash内容所需的安全认证和设备授权过程,这包括了iOS描述文件的管理和p12证书的使用,以及它们在iOS应用开发和分发中的作用。由于Apple对Flash的不支持...
### iOS不同证书下的推送 在iOS开发过程中,推送通知(Push Notifications)是一项非常重要的功能,它可以帮助应用与用户保持互动并提升用户体验。然而,在实现这一功能时,开发者需要理解iOS推送服务(APNs, Apple...
在设置`swift-ios-ipa-server`时,你需要准备一个有效的SSL证书。这通常包括生成私钥、创建CSR(证书签名请求)、向CA(证书颁发机构)申请证书,或者使用自签名证书。如果你选择自签名证书,需要注意在每个目标设备...
2. **证书导入**:将CA签发的证书导入到iOS设备的Keychain中,以便在应用中使用。 3. **加密和解密**:使用公钥加密敏感数据,只有持有对应私钥的接收方才能解密。这对于保护用户数据和通信安全至关重要。 4. **...
开发者可以使用Apple的内置工具如“钥匙串访问”(Keychain Access)创建自签名证书或购买权威CA签发的证书。当应用进行HTTPS请求时,服务器会提供其数字证书,客户端(iOS设备)会验证该证书的有效性,确保通信不会...
为了在iOS项目中使用OpenSSL,开发者需要将这些库文件链接到Xcode项目中。这可以通过以下步骤实现: 1. 将压缩包中的库文件(libcrypto.a和libssl.a)复制到项目的"Libraries"目录下。 2. 在Xcode的"Build Phases...
在iOS中,我们通常使用URLSession来实现网络请求,而为了支持HTTPS,我们需要配置SSL证书。 1. **配置SSL证书** - 开发阶段,可以使用自签名证书进行测试,但需要注意的是,自签名证书在生产环境中会被浏览器和...
然而,允许无效证书(`allowInvalidCertificates = NO`)是为了防止遇到自签名或未受信任的证书时,应用仍然能够继续执行,这在某些测试环境中可能是必要的,但在生产环境中应谨慎使用,因为这可能会导致安全漏洞。...