Ssl 如何在安全主机上调用GET请求';s URL(Https://)是否使用RobotFramework RequestsLibrary?
我有一个受密码保护的“.p12”文件,用于尝试使用转换后的“.pem”文件在此主机上调用GET方法的主机。但当我通过RobotFramework进行此调用时,我得到以下错误:Ssl 如何在安全主机上调用GET请求';s URL(Https://)是否使用RobotFramework RequestsLibrary?,ssl,openssl,httprequest,robotframework,pem,Ssl,Openssl,Httprequest,Robotframework,Pem,我有一个受密码保护的“.p12”文件,用于尝试使用转换后的“.pem”文件在此主机上调用GET方法的主机。但当我通过RobotFramework进行此调用时,我得到以下错误: SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:661) 我做了以下步骤: 将.p12文件转换为同时包含证书和密钥的.pem文件 openssl pkcs12 -in <input_file&g
SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:661)
我做了以下步骤:
openssl pkcs12 -in <input_file>.p12 -out <output_file>.pem -nodes -passin pass:<password>
openssl pkcs12-in.p12-out.pem-nodes-passin-pass:
*** Settings ***
Library RequestsLibrary
..
..
*** Keywords ***
Call HTTPS GET method
Create Session my_session https://<host>/<port> verify=${CURDIR}${/}<output_file>.pem debug=3
${response} = Get Request my_session <uri>
..
..
***设置***
图书馆申请图书馆
..
..
***关键词***
调用HTTPS GET方法
创建会话my_会话https:///verify=${CURDIR}${/}.pem debug=3
${response}=获取请求我的\u会话
..
..
当我使用相同的pem证书并从邮递员那里打电话时,它工作得非常好。我在这里遗漏了什么?我找到了解决办法。我不确定它是否合法,但它对我有用。 我相信RequestsLibrary中的RequestKeywords.py中没有传递一个参数 左边是std库中的文件,右边是我更新的文件
有了这个变化,它就完美地工作了。由于底层python库请求希望文件详细信息在cert变量中,而不是在verify中。是否确实正确解析了文件路径-此处的这部分-
${CURDIR}${/}.pem
?你能尝试一个绝对路径,看看这会改变什么吗?是的,我是。我为不存在的文件提供了diff路径,错误表已更改。