sslv3 경고 핸드 셰이크 실패 (_ssl.c : 590)?


0

이것은 내 코드입니다.

def test(request):
paypalrestsdk.configure({
  "mode": "security-test-sandbox",
    "client_id": "XXXXXXX-XXXX-XXXX-XXXX",
    "client_secret": "XXXXXXX-XXXX-XXXX-XXXX"  })

payment = paypalrestsdk.Payment({
  "intent": "sale",
  "payer": {
    "payment_method": "credit_card",
    "funding_instruments": [{
      "credit_card": {
        "type": "visa",
        "number": "4417119669820331",
        "expire_month": "11",
        "expire_year": "2018",
        "cvv2": "874",
        "first_name": "Joe",
        "last_name": "Shopper" }}]},
  "transactions": [{
    "item_list": {
      "items": [{
        "name": "item",
        "sku": "item",
        "price": "1.00",
        "currency": "USD",
        "quantity": 1 }]},
    "amount": {
      "total": "1.00",
      "currency": "USD" },
    "description": "This is the payment transaction description." }]})

if payment.create():
  print("Payment created successfully")
else:
  print(payment.error)
return render(request, "test.html")

payment.create () 명령을 수행하면 다음 오류가 발생합니다. [SSL : SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 경고 핸드 셰이크 실패 (_ssl.c : 590). Mac을 사용하고 있습니다. 왜 그런지 말해줘?

답변:


4

나는 같은 문제가 있었고 이것이 내가 찾은 것과 어떻게 고쳤는지입니다.

Apple에서 제공 한 Python 버전이 openssl과 관련하여 오래되었습니다. 터미널로 이동하여 버전을 테스트 할 수 있습니다.

python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 0.9.8zh 14 Jan 2016

위의 나쁜 버전입니다. 한 가지 수정은 새로운 버전의 python을 설치하는 것입니다. 가장 쉬운 방법은 여기에 설명 된대로자가 추출을 사용하는 것입니다 .

아래는 업그레이드 된 버전의 python에서 볼 수있는 것과 비슷합니다. 그런 다음 paypalrestsdk가 작동합니다.

python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 1.0.2h  3 May 2016

home brew를 사용하여 새 버전의 OpenSSL을 설치하는 것에 대한 링크는 hynek.me/articles/apple-openssl-verification-surprises 와 연결되는 기사를 가리키며 명령은 간단 brew install openssl합니다. 그러나 파이썬이 사용하는 버전을 반드시 변경하지는 않습니다.
LarsH
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.