sas*_*asi 1 authentication ssl ibm-mobilefirst
我正在 IBM Worklight 6.2 中开发一个针对 Android 和 IOS 的项目。我的项目应该使用基于 X509 证书的身份验证。我使用的是 Windows 7 操作系统,并按照此 PDF 操作
我已经在Windows中安装了openssl-0.9.8h-1-setup,所以我在C:\Program Files (x86)\GnuWin32\share中得到了openssl.cnf。借助此配置文件,我已成功创建根 CA。接下来,当我尝试签署签名 CA 时,它会抛出该消息。命令和消息如下:
openssl ca -in signingca\signing_ca.csr -out signingca\signing_ca.crt -keyfile rootca\root_ca_key.pem -cert rootca\root_ca.crt -config openssl.cnf -name root_authority_ca_config -extensions signing_authority -md sha512 -days 365 -passin pass:passRoot
Using configuration from openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName :PRINTABLE:'Development Signing CA'
The mandatory countryName field was missing
Run Code Online (Sandbox Code Playgroud)
通过此消息,它创建签名 CA 的标志。
接下来我尝试创建服务器证书,它显示错误消息。代码及错误信息如下:
#REM Sign the CSR with the signing CA
openssl ca -in server\server.csr -out server\server.crt -keyfile signingca\signing_ca_key.pem -cert signingca\signing_ca.crt -config openssl.cnf -name signing_authority_ca_config -extensions server_identity -md sha512 -days 365 -passin pass:passSigning
Run Code Online (Sandbox Code Playgroud)
它抛出以下消息,并且无法签署服务器 CA。
Using configuration from openssl.cnf
unable to load certificate
4716:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting:
TRUSTED CERTIFICATE
Run Code Online (Sandbox Code Playgroud)
我需要知道如何解决这个问题!
出现第二个错误是因为根 CA 证书未能正确生成,因此表示无法为其找到受信任的证书,因此在修复第一个错误后,其他错误应该可以工作。
第一个错误发生是因为 openssl.cnf 文件中缺少某些内容。在您的配置中,您必须指定哪些字段是可选的,哪些是必需的。如用户证书身份验证入门指南中的幻灯片 18 所示,您可以在policy_match 部分中指定每一项,如下所示:
[ policy_match ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
Run Code Online (Sandbox Code Playgroud)
确保将每个单独幻灯片中指定的所有配置选项添加到 openssl.cnf 中,或者使用提供的示例项目中提供的 openssl.cnf,该项目中已包含所有配置。
| 归档时间: |
|
| 查看次数: |
4247 次 |
| 最近记录: |