【发布时间】:2023-02-23 01:13:33
【问题描述】:
我正在 WSO2 APIM 4.1.0 GA 版本中尝试Mutual SSL。我使用Java Keytool创建了Self signed certificate。
操作系统:视窗 11
下面是生成证书的命令:
创建新的密钥库:
keytool -genkey -keyalg RSA -alias dev.wso2.com -keystore "C:\pathtoAPIM\wso2am-4.1.0\repository\resources\security\devwso2.jks" -validity 4000
转换为pkcs12格式:
keytool -importkeystore -srckeystore C:\pathtoAPIM\wso2am-4.1.0\repository\resources\security\devwso2.jks -destkeystore C:\pathtoAPIM\wso2am-4.1.0\repository\resources\security\devwso2.jks -deststoretype pkcs12
导出公钥
keytool -exportcert -alias dev.wso2.com -rfc -file "C:\pathtoAPIM\wso2am-4.1.0\repository\resources\security\devwso2.pem" -keystore "C:\pathtoAPIM\wso2am-4.1.0\repository\resources\security\devwso2.jks"
将公钥导入信任库:
keytool -import -alias dev.wso2.com -file "C:\pathtoAPIM\wso2am-4.1.0\repository\resources\security\devwso2.pem" -keystore "C:\pathtoAPIM\wso2am-4.1.0\repository\resources\security\client-truststore.jks"
- 证书已成功添加到信任库中,并且也从管理控制台验证了证书。
- 在发布者门户中创建 API 并启用
Mutual SSL作为强制
- 上传新的客户端证书并在
Application level security下将 OAuth 标记为可选
- API 已发布到开发门户。
使用 Postman 调用受 Mutual SSL 保护的 API
-
在 Postman 设置的证书选项卡中添加了证书和私钥。主持人:
dev.wso2.com阴极射线管文件:dev.wso2.crt关键文件:devwso2.pem密码:keystorepwd -
在常规选项卡中,
SSL Certificate Verification是OFF
邮递员中的API命中:
- 正如您在上面的屏幕截图中看到的,邮递员收到类似
Error: error:0900006e:PEM routines:OPENSSL_internal:NO_START_LINE的错误。
我可以知道为什么这个相互 SSL 保护的 API 调用没有发生吗?我们如何解决这个问题?
【问题讨论】:
标签: ssl wso2 wso2-api-manager keytool mutual-authentication