【问题标题】:wso2 mutual ssl curl command APIM 3.2.0wso2 相互 ssl curl 命令 APIM 3.2.0
【发布时间】:2020-11-11 05:20:14
【问题描述】:

我尝试在本地设置 ALLINONE,遵循文档 https://apim.docs.wso2.com/en/latest/learn/api-security/api-authentication/secure-apis-using-mutual-ssl/ 它起作用了,但是请求的 curl 命令是什么,因为文档只讨论通过邮递员进行测试

【问题讨论】:

    标签: wso2 wso2-am


    【解决方案1】:

    当您想使用基于标头的方法时,可以使用以下 curl 命令。

    curl -X GET -H "X-WSO2-CLIENT-CERTIFICATE: (Base64 encoded public cert)" "https://localhost:8243/mock/v1" -v
    
    
    curl -X GET -H "X-WSO2-CLIENT-CERTIFICATE: (Base64 encoded public cert)" "http://localhost:8280/mock/v1" -v
    

    为了实现这一点,您需要在 wso2am-3.2.0/repository/conf 位置的 deployment.toml 中添加以下配置。

    [apimgt.mutual_ssl]
    enable_client_validation = false
    

    如果您使用证书和密钥,则可以使用以下 curl 命令。

    curl -k --cert int.ext.wso2.com.crt --key int.ext.wso2.com.key -X GET "https://localhost:8243/mock/v1" -v
    

    【讨论】:

    • 收到错误警告 - SourceHandler I/O 错误:收到致命警报:网关日志中的 unknown_ca 并且在运行命令后我们收到错误 SSL 证书问题:自签名证书此处更多详细信息:curl.haxx.se/docs/sslcerts.html 虽然证书是非自签
    • 我们不需要通过证书传递密钥
    • 我以为您正在寻找基于标题的方法。我用基于密钥和证书的 curl 命令更新了我的答案
    • 你能交叉检查APIM的client-truststore中是否有相同的证书吗?我认为证书是错误的,这就是您获得未知证书的原因
    • 当我尝试使用您建议的第一种方法时,我将相同的证书上传到 api 并且我正在通过 curl 传递相同的证书,但出现以下错误............ ...> { [5 字节数据] * 连接状态已更改 (MAX_CONCURRENT_STREAMS == 128)! } [5 字节数据] 0* HTTP/2 流 0 未完全关闭:未知错误代码 (err 1) * 停止了暂停流! 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 * 到主机 ****** 的连接 #0 保持原样 curl: ( 92) HTTP/2 流 0 未完全关闭:未知错误代码 (err 1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多