获得CERTIFICATE_VERIFY_FAILED。如何将pem文件传递给tinys3?

时间:2016-07-21 20:00:23

标签: python ssl amazon-s3

我正在尝试上传到aws s3。我的python程序使用版本2.7.12

import tinys3
S3_ACCESS_KEY=''
S3_SECRET_KEY=''
conn = tinys3.Connection(S3_ACCESS_KEY,S3_SECRET_KEY,tls=True)

f = open('D:\\poc\\dicomimage','rb')
conn.upload('D:\\poc\\sampleimage',f,'development/system')

但我收到以下错误: requests.exceptions.SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:590)

我无法设置tls = False。 我尝试了下面的事情,但总是得到同样的错误

  1. 添加了cert = cert_path,pip.ini
  2. 同时执行 - pip uninstall -y certifi&& pip install certifi == 2015.04.28,如各篇文章所述。
  3. 如何将我的pem文件传递给tinys3或任何设置以解决问题。

    PS:我是一名全职的java开发人员,幸运的是/很遗憾这是我的第一个python程序。所以,请解释一下这里的工作原理。

1 个答案:

答案 0 :(得分:0)

您应该指定存储桶的端点

conn = tinys3.Connection(S3_ACCESS_KEY,S3_SECRET_KEY,tls=True,endpoint='s3-us-east-1.amazonaws.com')

更改您的端点以匹配您的存储桶的端点,请检查AWS list of region endpoint