最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

web scraping - SSLCertVerificationError even when certificate file provided? - Stack Overflow

programmeradmin3浏览0评论

SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)

This is my code:

import requests

s = requests.Session()

r = s.get(';__START_TRAN_FLAG__=Y&FG_BUTTONS__=LOAD&ACTION.LOAD=Y&AuthenticationFG.LOGIN_FLAG=1&BANK_ID=012', verify='bob.pem')

# Full error below
SSLError: HTTPSConnectionPool(host='cbs.intl.bobibanking', port=443): Max retries exceeded with url: /corpuae/AuthenticationController?FORMSGROUP_ID__=AuthenticationFG&__START_TRAN_FLAG__=Y&FG_BUTTONS__=LOAD&ACTION.LOAD=Y&AuthenticationFG.LOGIN_FLAG=1&BANK_ID=012 (Caused by SSLError(SSLCertVerificationError(1, Error: '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)')))


I got the bob.pem file by exporting it from Chrome. If I set verify to False, it works just fine, but True & explicit cert doesn't. Tested on MacOS, Ubuntu & Windows, no luck anywhere. This is the bob.pem file contents:

-----BEGIN CERTIFICATE-----
MIIG+jCCBeKgAwIBAgIQB+OdZPDz2xQ/v7wJ7zVO1jANBgkqhkiG9w0BAQsFADBZ
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypE
aWdpQ2VydCBHbG9iYWwgRzIgVExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjQx
MTI1MDAwMDAwWhcNMjUxMTI5MjM1OTU5WjBuMQswCQYDVQQGEwJJTjEUMBIGA1UE
CBMLTWFoYXJhc2h0cmExDzANBgNVBAcTBk11bWJhaTEXMBUGA1UEChMOQmFuayBv
ZiBCYXJvZGExHzAdBgNVBAMMFiouaW50bC5ib2JpYmFua2luZy5jb20wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCg+P8Vt6MAqJenpKZVCHAPl7RGh+qP
4Upist4fgCxi4x30uBacbKtU7Mn9C4JeEWUTsOqup8CqMdeOn/HTLo0Xh1HjNo84
y9IXW3iM1OzB9AnP4rgoKNwXUn0+SiyyNT0AoW8Ogl4zq35QpnDUe4ukAIiGje42
z6Egi7aq++Z5dCTUxqm3Ko5kla7BX6uZ3FOyT0c7K3Pce8hUKyQh6Gk/zUtamicm
fUR/ZyrGSwds7/6WfbM+gH9N+sNFSb/Rum9Tc9BWK2iOsqzelsx+DNZbxc0xrFpn
X7/4ce2JYYCdB/igV2QTUdhAOf6+zKwNAMD6G/HDQklPaVZhhFt0pM9RAgMBAAGj
ggOnMIIDozAfBgNVHSMEGDAWgBR0hYDAZsffN97PvSk3qgMdvu3NFzAdBgNVHQ4E
FgQUpAG8ZLyZ6GOJdKMmvGc8IG8519AwNwYDVR0RBDAwLoIWKi5pbnRsLmJvYmli
YW5raW5nLmNvbYIUaW50bC5ib2JpYmFua2luZy5jb20wPgYDVR0gBDcwNTAzBgZn
gQwBAgIwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BT
MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
gZ8GA1UdHwSBlzCBlDBIoEagRIZCaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
Z2lDZXJ0R2xvYmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3JsMEigRqBEhkJo
dHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNI
QTI1NjIwMjBDQTEtMS5jcmwwgYcGCCsGAQUFBwEBBHsweTAkBggrBgEFBQcwAYYY
aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFEGCCsGAQUFBzAChkVodHRwOi8vY2Fj
ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNIQTI1NjIw
MjBDQTEtMS5jcnQwDAYDVR0TAQH/BAIwADCCAX0GCisGAQQB1nkCBAIEggFtBIIB
aQFnAHUAEvFONL1TckyEBhnDjz96E/jntWKHiJxtMAWE6+WGJjoAAAGTYpjVSAAA
BAMARjBEAiBjfNVs9BErj4VbalIK1cYgJ4hORkMguZ4ZtJdeUQadKQIgdsYYFsiM
Yl3o4GsdGG/aTev1TBKWNA1IixlfhHaHXkkAdgB9WR4S4XgqexxhZ3xe/fjQh1wU
oE6VnrkDL9kOjC55uAAAAZNimNWBAAAEAwBHMEUCIQCASfNx03wpwUFPHW3hODyq
KzgPuTU3lCwmtX0O9hJhgwIgK4F6cwYPn/j69TC7oTGSx7zgyTRdbEm7WZBW/7Po
0WcAdgDm0jFjQHeMwRBBBtdxuc7B0kD2loSG+7qHMh39HjeOUAAAAZNimNWPAAAE
AwBHMEUCIQDSywPISZseEWJeR9Lji/abOzFUGd/q0WW6FGfZei/v7gIgMQUtlyJR
L/H8yWjEy7WdO5pBuAYdriPfCzliY6Hz7gYwDQYJKoZIhvcNAQELBQADggEBAJsI
O4UUxteW9Ng6cZazinN5kW0pMA0qditO9Kh+qvm7dNi1mALr4Szs96zM/mfMZhTZ
JkqMbxK9EQJZLh9RBChjU+XXRwPfQ9/KQz3Y4gS51uJo2kEadHfD5YajsL3PXa4r
Pxkvj9O/jUtEQba+aJjEyaR29Z/4omCTrc5/iZroz6ZScVb74dK8y8kP7uCAIjRA
EUuergJ4LUqYmHe3Qevt6anGY424RBTk//yTDqWsczMPhBoMcNYlro5bkml5WJPe
2xZNSMDY/d06hLxfSNrv8ufKqUiGoeqTnkff3S29ebSpQuMRTyUt2FnH6ixydSmk
dDzmCX8W+Sk0GoySMDI=
-----END CERTIFICATE-----

Any ideas what is going wrong here? Thank you.

SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)

This is my code:

import requests

s = requests.Session()

r = s.get('https://cbs.intl.bobibanking/corpuae/AuthenticationController?FORMSGROUP_ID__=AuthenticationFG&__START_TRAN_FLAG__=Y&FG_BUTTONS__=LOAD&ACTION.LOAD=Y&AuthenticationFG.LOGIN_FLAG=1&BANK_ID=012', verify='bob.pem')

# Full error below
SSLError: HTTPSConnectionPool(host='cbs.intl.bobibanking', port=443): Max retries exceeded with url: /corpuae/AuthenticationController?FORMSGROUP_ID__=AuthenticationFG&__START_TRAN_FLAG__=Y&FG_BUTTONS__=LOAD&ACTION.LOAD=Y&AuthenticationFG.LOGIN_FLAG=1&BANK_ID=012 (Caused by SSLError(SSLCertVerificationError(1, Error: '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)')))


I got the bob.pem file by exporting it from Chrome. If I set verify to False, it works just fine, but True & explicit cert doesn't. Tested on MacOS, Ubuntu & Windows, no luck anywhere. This is the bob.pem file contents:

-----BEGIN CERTIFICATE-----
MIIG+jCCBeKgAwIBAgIQB+OdZPDz2xQ/v7wJ7zVO1jANBgkqhkiG9w0BAQsFADBZ
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypE
aWdpQ2VydCBHbG9iYWwgRzIgVExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjQx
MTI1MDAwMDAwWhcNMjUxMTI5MjM1OTU5WjBuMQswCQYDVQQGEwJJTjEUMBIGA1UE
CBMLTWFoYXJhc2h0cmExDzANBgNVBAcTBk11bWJhaTEXMBUGA1UEChMOQmFuayBv
ZiBCYXJvZGExHzAdBgNVBAMMFiouaW50bC5ib2JpYmFua2luZy5jb20wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCg+P8Vt6MAqJenpKZVCHAPl7RGh+qP
4Upist4fgCxi4x30uBacbKtU7Mn9C4JeEWUTsOqup8CqMdeOn/HTLo0Xh1HjNo84
y9IXW3iM1OzB9AnP4rgoKNwXUn0+SiyyNT0AoW8Ogl4zq35QpnDUe4ukAIiGje42
z6Egi7aq++Z5dCTUxqm3Ko5kla7BX6uZ3FOyT0c7K3Pce8hUKyQh6Gk/zUtamicm
fUR/ZyrGSwds7/6WfbM+gH9N+sNFSb/Rum9Tc9BWK2iOsqzelsx+DNZbxc0xrFpn
X7/4ce2JYYCdB/igV2QTUdhAOf6+zKwNAMD6G/HDQklPaVZhhFt0pM9RAgMBAAGj
ggOnMIIDozAfBgNVHSMEGDAWgBR0hYDAZsffN97PvSk3qgMdvu3NFzAdBgNVHQ4E
FgQUpAG8ZLyZ6GOJdKMmvGc8IG8519AwNwYDVR0RBDAwLoIWKi5pbnRsLmJvYmli
YW5raW5nLmNvbYIUaW50bC5ib2JpYmFua2luZy5jb20wPgYDVR0gBDcwNTAzBgZn
gQwBAgIwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BT
MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
gZ8GA1UdHwSBlzCBlDBIoEagRIZCaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
Z2lDZXJ0R2xvYmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3JsMEigRqBEhkJo
dHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNI
QTI1NjIwMjBDQTEtMS5jcmwwgYcGCCsGAQUFBwEBBHsweTAkBggrBgEFBQcwAYYY
aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFEGCCsGAQUFBzAChkVodHRwOi8vY2Fj
ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNIQTI1NjIw
MjBDQTEtMS5jcnQwDAYDVR0TAQH/BAIwADCCAX0GCisGAQQB1nkCBAIEggFtBIIB
aQFnAHUAEvFONL1TckyEBhnDjz96E/jntWKHiJxtMAWE6+WGJjoAAAGTYpjVSAAA
BAMARjBEAiBjfNVs9BErj4VbalIK1cYgJ4hORkMguZ4ZtJdeUQadKQIgdsYYFsiM
Yl3o4GsdGG/aTev1TBKWNA1IixlfhHaHXkkAdgB9WR4S4XgqexxhZ3xe/fjQh1wU
oE6VnrkDL9kOjC55uAAAAZNimNWBAAAEAwBHMEUCIQCASfNx03wpwUFPHW3hODyq
KzgPuTU3lCwmtX0O9hJhgwIgK4F6cwYPn/j69TC7oTGSx7zgyTRdbEm7WZBW/7Po
0WcAdgDm0jFjQHeMwRBBBtdxuc7B0kD2loSG+7qHMh39HjeOUAAAAZNimNWPAAAE
AwBHMEUCIQDSywPISZseEWJeR9Lji/abOzFUGd/q0WW6FGfZei/v7gIgMQUtlyJR
L/H8yWjEy7WdO5pBuAYdriPfCzliY6Hz7gYwDQYJKoZIhvcNAQELBQADggEBAJsI
O4UUxteW9Ng6cZazinN5kW0pMA0qditO9Kh+qvm7dNi1mALr4Szs96zM/mfMZhTZ
JkqMbxK9EQJZLh9RBChjU+XXRwPfQ9/KQz3Y4gS51uJo2kEadHfD5YajsL3PXa4r
Pxkvj9O/jUtEQba+aJjEyaR29Z/4omCTrc5/iZroz6ZScVb74dK8y8kP7uCAIjRA
EUuergJ4LUqYmHe3Qevt6anGY424RBTk//yTDqWsczMPhBoMcNYlro5bkml5WJPe
2xZNSMDY/d06hLxfSNrv8ufKqUiGoeqTnkff3S29ebSpQuMRTyUt2FnH6ixydSmk
dDzmCX8W+Sk0GoySMDI=
-----END CERTIFICATE-----

Any ideas what is going wrong here? Thank you.

Share Improve this question edited Mar 31 at 9:01 Identicon asked Mar 31 at 8:53 IdenticonIdenticon 4052 gold badges7 silver badges17 bronze badges 3
  • What did you do with the .pem? Also what is the reason you need to verify the certificate if you could just ignore the verification process? – Randommm Commented Mar 31 at 8:57
  • Further on I will be sending my username/password in the script so seems unsafe to keep it at False. Also I added the .pem file contents to my question. I am referring to this file in my Python code. – Identicon Commented Mar 31 at 9:02
  • Thank you @fakerdog1, I downloaded the "chain" option from Firefox & it worked wonderfully. Sadly certifi and other solutions never worked for me on this particular website. I have absolutely no idea why. And that's why I finally resorted to using this explicit cert method. – Identicon Commented Mar 31 at 9:21
Add a comment  | 

1 Answer 1

Reset to default 1

The issue could be due to downloading a single certificate. Make sure you download all certificates that might be required in your operation, or better, use a tool like certifi to handle your certificates

https://pypi./project/certifi/

发布评论

评论列表(0)

  1. 暂无评论