사이트가 올바르게 구성되지 않아 Curl이 실패했습니다.

사이트가 올바르게 구성되지 않아 Curl이 실패했습니다.

파일을 다운로드하고 싶습니다(https://discovery.ucl.ac.uk/1575442/1/Palmisanoetal.zip) R 명령을 통해 공개 서버에서

temp <- tempfile()   
utils::download.file(db_url, temp, method = 'curl')

Ubuntu 18.04.3 LTS(Bionic Beaver) 시스템에서는 작동하지 않습니다. 다음 오류가 발생합니다.

curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Error in utils::download.file(db_url, temp, method = "curl") : 
'curl' call had nonzero exit status

명령줄에서 컬()을 사용하면 curl https://discovery.ucl.ac.uk/1575442/1/Palmisanoetal.zip동일한 오류가 발생합니다 .

몇 가지 실험을 하고 Google에서 검색한 결과 브라우저(Chromium)를 사용하여 문제 없이 파일에 액세스할 수 있음을 발견했습니다. 내 시스템/컬에 브라우저에 있는 CA 인증서가 누락된 것 같습니다. 이 서버가 어떤 인증서를 사용하고 있는지 확인 openssl s_client -showcerts -servername discovery.ucl.ac.uk -connect discovery.ucl.ac.uk:443하고 결과(QuoVadis EV SSL ICA G3)를 내 /etc/ssl/certs/ca-certificates.crt파일에 추가했습니다. 그러나 그것은 문제를 해결하지 못했습니다.

--insecure나는 이 문제를 해결하기 위해 컬 플래그를 사용하고 싶지 않습니다 . 나도 통제할 수 없어https://discovery.ucl.ac.uk. R을 사용하여 파일에 액세스하고 싶습니다.

답변1

사이트가 올바르게 구성되지 않아 Curl이 실패했습니다.

인증서는 다른 인증서에 서명하여 체인을 형성하는 데 사용됩니다. CA에는루트 인증서, 운영 체제 및 브라우저에서 신뢰됩니다. 이 루트 인증서는 하나 이상의 서명에 가장 일반적으로 사용됩니다.중간증명서, 이는 서명에 사용됩니다.잎 증명서(다른 인증서에 서명할 수 없음), 이것이 웹사이트에서 사용되는 것입니다.

브라우저와 운영 체제는 루트 인증서만 전달하는 경향이 있지만 리프 인증서를 확인하고 보안 연결을 설정하려면 클라이언트에 전체 인증서 체인이 필요합니다. 실제로 이는 웹 사이트가 리프 인증서뿐만 아니라 사용된 중간 인증서도 제공해야 함을 의미합니다. 그러나 discovery.ucl.ac.uk그렇게 하지 못했습니다.

보여드릴게요.

문제를 찾아보세요

opensslX509/SSL Swiss Army Knife는 여기에서 매우 유용한 것으로 입증되었습니다.

% openssl s_client -connect discovery.ucl.ac.uk:443 -servername discovery.ucl.ac.uk -showcerts
CONNECTED(00000003)
depth=0 jurisdictionC = GB, businessCategory = Government Entity, serialNumber = November-15-77, C = GB, ST = London, L = London, O = University College London, CN = discovery.ucl.ac.uk
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 jurisdictionC = GB, businessCategory = Government Entity, serialNumber = November-15-77, C = GB, ST = London, L = London, O = University College London, CN = discovery.ucl.ac.uk
verify error:num=21:unable to verify the first certificate
verify return:1
140212799304832:error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small:../ssl/statem/statem_clnt.c:2150:
---
Certificate chain
 0 s:jurisdictionC = GB, businessCategory = Government Entity, serialNumber = November-15-77, C = GB, ST = London, L = London, O = University College London, CN = discovery.ucl.ac.uk
   i:C = BM, O = QuoVadis Limited, CN = QuoVadis EV SSL ICA G3
-----BEGIN CERTIFICATE-----
MIIH4DCCBcigAwIBAgIUWsWTIuklFQIki5zk7SzvkyYF4MswDQYJKoZIhvcNAQEL
BQAwSTELMAkGA1UEBhMCQk0xGTAXBgNVBAoMEFF1b1ZhZGlzIExpbWl0ZWQxHzAd
BgNVBAMMFlF1b1ZhZGlzIEVWIFNTTCBJQ0EgRzMwHhcNMTkwOTExMTAyNDExWhcN
MjEwOTExMTAzNDAwWjCBuzETMBEGCysGAQQBgjc8AgEDEwJHQjEaMBgGA1UEDwwR
R292ZXJubWVudCBFbnRpdHkxFzAVBgNVBAUTDk5vdmVtYmVyLTE1LTc3MQswCQYD
VQQGEwJHQjEPMA0GA1UECAwGTG9uZG9uMQ8wDQYDVQQHDAZMb25kb24xIjAgBgNV
BAoMGVVuaXZlcnNpdHkgQ29sbGVnZSBMb25kb24xHDAaBgNVBAMME2Rpc2NvdmVy
eS51Y2wuYWMudWswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvh4j4
ub+jjytAuayjz1jXpFooMEgg09Opvruzy1Vkz8KT7VYFurfQpp7xO0kDJV9bz4U6
vVUmqd9R2NaJDs0TtpKjyDFwNq1XR2+39L6JlJuIxdGRUMNLh1geNfBB7QJHac0I
xwstH/mXU9H4eU1JyS8TuVnpCbDZnSqCaQ08hl4137FGrloSL+EHqErzrmz8NzNd
725EKSG1/XP8d8O1FJDaAyvES2JfJWuhrcwa6WPPQdCu2cI4GzMRzPes3aD+IjJl
8tGVep5ketM+Kgsrn9tjiZhFcSOcxO0apRAAAYOA6NBoZvPCLr16CGQSJM/0e2N2
PM/PUh14db39Me79AgMBAAGjggNLMIIDRzAMBgNVHRMBAf8EAjAAMB8GA1UdIwQY
MBaAFOWEVNCQSZ84uvLJ4SoIxU6foEg/MHgGCCsGAQUFBwEBBGwwajA5BggrBgEF
BQcwAoYtaHR0cDovL3RydXN0LnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmV2c3NsZzMu
Y3J0MC0GCCsGAQUFBzABhiFodHRwOi8vZXYub2NzcC5xdW92YWRpc2dsb2JhbC5j
b20wMQYDVR0RBCowKIITZGlzY292ZXJ5LnVjbC5hYy51a4IRZXByaW50cy51Y2wu
YWMudWswWgYDVR0gBFMwUTBGBgwrBgEEAb5YAAJkAQIwNjA0BggrBgEFBQcCARYo
aHR0cDovL3d3dy5xdW92YWRpc2dsb2JhbC5jb20vcmVwb3NpdG9yeTAHBgVngQwB
ATAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwPAYDVR0fBDUwMzAxoC+g
LYYraHR0cDovL2NybC5xdW92YWRpc2dsb2JhbC5jb20vcXZldnNzbGczLmNybDAd
BgNVHQ4EFgQU0+IV/WaITVrZeCsIddZvFZSkuUswDgYDVR0PAQH/BAQDAgWgMIIB
fwYKKwYBBAHWeQIEAgSCAW8EggFrAWkAdgC72d+8H4pxtZOUI5eqkntHOFeVCqtS
6BqQlmQ2jh7RhQAAAW0f40mRAAAEAwBHMEUCIQDYLCvmTrDxh16qE30yqTirA3A+
Xv6TZlpUssZxI+ApqgIgSGicwtcECtcjsSnKmEwUVv6hQnvksG7dH5AqPZ7jbQ0A
dwBWFAaaL9fC7NP14b1Esj7HRna5vJkRXMDvlJhV1onQ3QAAAW0f40m4AAAEAwBI
MEYCIQCPhcwTIoiYCt6Esw49b7bcvRyREX29fRuaX36wJxQ6TAIhAJyPt8r3g++L
xWdb/sWRfF7Jn4zlyA7iUWFTF84dwK5xAHYAb1N2rDHwMRnYmQCkURX/dxUcEdkC
wQApBo2yCJo32RMAAAFtH+NKoAAABAMARzBFAiB/85erYq3OelUTEYpdJdIK//2N
AUG6EtuDCR/UspBmnQIhANbyKv+L+b02o5YIRqRKJ49LJEyJFyRxHrRM8lH9qRk8
MA0GCSqGSIb3DQEBCwUAA4ICAQAjJurMYSd9KFvcOcMZNO1DLsKytJ3N6SIkHXph
J2fpXD4sfBHxxG37r7a3hWi7vqNb4PTL8VIixKw+u/Si0tknJIyHsVf64eI4tfMD
kPDJGxMgr9qEsNukwVXgsnerqXYQRAcgYsnMLEdrgo+7SW7caTnm/adfqrc6r9Ar
4fHRidr9p7RuEM/eRCCmBqswHI7hpsE6miKLh1aXqF6I6JiSCApz3X7mJ4OiLVFN
GKw8rZHGEJUsLQBWIW0qZPjrzNG3M/LF5chVhS9D7HcUtXEFP7smNPdNGgbVTtfY
3+sXpFFdhED5ooRJCkX2/JfylXN3LT8v0iNI04HNQ1/fS27k9Q5QBahEBsvSzh88
OdHP/2jyyQwiGqNH9Q+UGGrYBW50OJB13ztobAeEWITPwI40nf3wU3qoCvM/nvJu
8kO0lD3kD4AyLqWnOYvwgjCzgVe2zuLI9F/BZiZnmXaiJq2SSzgTmIzv/HB0zSHF
BWQpgZpacZok7AhZ3vzpbOdJfgcSOCe/W6+drLyA5wTzV3m4+taU5eKvnI9NN5Xb
iUHXmqLElHVZYakpDAJkT20Uud5uIGHGwiHFYvyHgHlNBxa77Bn2gYxKtH95y3o/
C0SaHauNL7ghuyZVxNRWsKcVWlZ+1/TrOlEp00nTFyoWqxbFgwVP9WarCRDX/rZ/
Yzr/sQ==
-----END CERTIFICATE-----
---
Server certificate
subject=jurisdictionC = GB, businessCategory = Government Entity, serialNumber = November-15-77, C = GB, ST = London, L = London, O = University College London, CN = discovery.ucl.ac.uk

issuer=C = BM, O = QuoVadis Limited, CN = QuoVadis EV SSL ICA G3

---
No client certificate CA names sent
---
SSL handshake has read 2653 bytes and written 318 bytes
Verification error: unable to verify the first certificate
---
New, (NONE), Cipher is (NONE)
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 0BEE74506F0378851356FE55F7EA41ACE0E5C5C065C19C8EE24F5A1607BAD1FC
    Session-ID-ctx: 
    Master-Key: 
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1578589105
    Timeout   : 7200 (sec)
    Verify return code: 21 (unable to verify the first certificate)
    Extended master secret: no
---

우리와 관련된 부분은 다음과 같습니다 Certificate chain. 하나의 인증서만 표시됩니다.

다음 -----BEGIN CERTIFICATE-----블록을 통해 openssl x509 -text -noout인증서를 더 읽기 쉬운 형식으로 제공합니다 .

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            5a:c5:93:22:e9:25:15:02:24:8b:9c:e4:ed:2c:ef:93:26:05:e0:cb
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = BM, O = QuoVadis Limited, CN = QuoVadis EV SSL ICA G3
        Validity
            Not Before: Sep 11 10:24:11 2019 GMT
            Not After : Sep 11 10:34:00 2021 GMT
        Subject: jurisdictionC = GB, businessCategory = Government Entity, serialNumber = November-15-77, C = GB, ST = London, L = London, O = University College London, CN = discovery.ucl.ac.uk
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    00:af:87:88:f8:b9:bf:a3:8f:2b:40:b9:ac:a3:cf:
                    58:d7:a4:5a:28:30:48:20:d3:d3:a9:be:bb:b3:cb:
                    55:64:cf:c2:93:ed:56:05:ba:b7:d0:a6:9e:f1:3b:
                    49:03:25:5f:5b:cf:85:3a:bd:55:26:a9:df:51:d8:
                    d6:89:0e:cd:13:b6:92:a3:c8:31:70:36:ad:57:47:
                    6f:b7:f4:be:89:94:9b:88:c5:d1:91:50:c3:4b:87:
                    58:1e:35:f0:41:ed:02:47:69:cd:08:c7:0b:2d:1f:
                    f9:97:53:d1:f8:79:4d:49:c9:2f:13:b9:59:e9:09:
                    b0:d9:9d:2a:82:69:0d:3c:86:5e:35:df:b1:46:ae:
                    5a:12:2f:e1:07:a8:4a:f3:ae:6c:fc:37:33:5d:ef:
                    6e:44:29:21:b5:fd:73:fc:77:c3:b5:14:90:da:03:
                    2b:c4:4b:62:5f:25:6b:a1:ad:cc:1a:e9:63:cf:41:
                    d0:ae:d9:c2:38:1b:33:11:cc:f7:ac:dd:a0:fe:22:
                    32:65:f2:d1:95:7a:9e:64:7a:d3:3e:2a:0b:2b:9f:
                    db:63:89:98:45:71:23:9c:c4:ed:1a:a5:10:00:01:
                    83:80:e8:d0:68:66:f3:c2:2e:bd:7a:08:64:12:24:
                    cf:f4:7b:63:76:3c:cf:cf:52:1d:78:75:bd:fd:31:
                    ee:fd
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Authority Key Identifier: 
                keyid:E5:84:54:D0:90:49:9F:38:BA:F2:C9:E1:2A:08:C5:4E:9F:A0:48:3F

            Authority Information Access: 
                CA Issuers - URI:http://trust.quovadisglobal.com/qvevsslg3.crt
                OCSP - URI:http://ev.ocsp.quovadisglobal.com

            X509v3 Subject Alternative Name: 
                DNS:discovery.ucl.ac.uk, DNS:eprints.ucl.ac.uk
            X509v3 Certificate Policies: 
                Policy: 1.3.6.1.4.1.8024.0.2.100.1.2
                  CPS: http://www.quovadisglobal.com/repository
                Policy: 2.23.140.1.1

            X509v3 Extended Key Usage: 
                TLS Web Client Authentication, TLS Web Server Authentication
            X509v3 CRL Distribution Points: 

                Full Name:
                  URI:http://crl.quovadisglobal.com/qvevsslg3.crl

            X509v3 Subject Key Identifier: 
                D3:E2:15:FD:66:88:4D:5A:D9:78:2B:08:75:D6:6F:15:94:A4:B9:4B
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            CT Precertificate SCTs: 
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : BB:D9:DF:BC:1F:8A:71:B5:93:94:23:97:AA:92:7B:47:
                                38:57:95:0A:AB:52:E8:1A:90:96:64:36:8E:1E:D1:85
                    Timestamp : Sep 11 10:34:12.241 2019 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:45:02:21:00:D8:2C:2B:E6:4E:B0:F1:87:5E:AA:13:
                                7D:32:A9:38:AB:03:70:3E:5E:FE:93:66:5A:54:B2:C6:
                                71:23:E0:29:AA:02:20:48:68:9C:C2:D7:04:0A:D7:23:
                                B1:29:CA:98:4C:14:56:FE:A1:42:7B:E4:B0:6E:DD:1F:
                                90:2A:3D:9E:E3:6D:0D
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 56:14:06:9A:2F:D7:C2:EC:D3:F5:E1:BD:44:B2:3E:C7:
                                46:76:B9:BC:99:11:5C:C0:EF:94:98:55:D6:89:D0:DD
                    Timestamp : Sep 11 10:34:12.280 2019 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:46:02:21:00:8F:85:CC:13:22:88:98:0A:DE:84:B3:
                                0E:3D:6F:B6:DC:BD:1C:91:11:7D:BD:7D:1B:9A:5F:7E:
                                B0:27:14:3A:4C:02:21:00:9C:8F:B7:CA:F7:83:EF:8B:
                                C5:67:5B:FE:C5:91:7C:5E:C9:9F:8C:E5:C8:0E:E2:51:
                                61:53:17:CE:1D:C0:AE:71
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 6F:53:76:AC:31:F0:31:19:D8:99:00:A4:51:15:FF:77:
                                15:1C:11:D9:02:C1:00:29:06:8D:B2:08:9A:37:D9:13
                    Timestamp : Sep 11 10:34:12.512 2019 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:45:02:20:7F:F3:97:AB:62:AD:CE:7A:55:13:11:8A:
                                5D:25:D2:0A:FF:FD:8D:01:41:BA:12:DB:83:09:1F:D4:
                                B2:90:66:9D:02:21:00:D6:F2:2A:FF:8B:F9:BD:36:A3:
                                96:08:46:A4:4A:27:8F:4B:24:4C:89:17:24:71:1E:B4:
                                4C:F2:51:FD:A9:19:3C
    Signature Algorithm: sha256WithRSAEncryption
         23:26:ea:cc:61:27:7d:28:5b:dc:39:c3:19:34:ed:43:2e:c2:
         b2:b4:9d:cd:e9:22:24:1d:7a:61:27:67:e9:5c:3e:2c:7c:11:
         f1:c4:6d:fb:af:b6:b7:85:68:bb:be:a3:5b:e0:f4:cb:f1:52:
         22:c4:ac:3e:bb:f4:a2:d2:d9:27:24:8c:87:b1:57:fa:e1:e2:
         38:b5:f3:03:90:f0:c9:1b:13:20:af:da:84:b0:db:a4:c1:55:
         e0:b2:77:ab:a9:76:10:44:07:20:62:c9:cc:2c:47:6b:82:8f:
         bb:49:6e:dc:69:39:e6:fd:a7:5f:aa:b7:3a:af:d0:2b:e1:f1:
         d1:89:da:fd:a7:b4:6e:10:cf:de:44:20:a6:06:ab:30:1c:8e:
         e1:a6:c1:3a:9a:22:8b:87:56:97:a8:5e:88:e8:98:92:08:0a:
         73:dd:7e:e6:27:83:a2:2d:51:4d:18:ac:3c:ad:91:c6:10:95:
         2c:2d:00:56:21:6d:2a:64:f8:eb:cc:d1:b7:33:f2:c5:e5:c8:
         55:85:2f:43:ec:77:14:b5:71:05:3f:bb:26:34:f7:4d:1a:06:
         d5:4e:d7:d8:df:eb:17:a4:51:5d:84:40:f9:a2:84:49:0a:45:
         f6:fc:97:f2:95:73:77:2d:3f:2f:d2:23:48:d3:81:cd:43:5f:
         df:4b:6e:e4:f5:0e:50:05:a8:44:06:cb:d2:ce:1f:3c:39:d1:
         cf:ff:68:f2:c9:0c:22:1a:a3:47:f5:0f:94:18:6a:d8:05:6e:
         74:38:90:75:df:3b:68:6c:07:84:58:84:cf:c0:8e:34:9d:fd:
         f0:53:7a:a8:0a:f3:3f:9e:f2:6e:f2:43:b4:94:3d:e4:0f:80:
         32:2e:a5:a7:39:8b:f0:82:30:b3:81:57:b6:ce:e2:c8:f4:5f:
         c1:66:26:67:99:76:a2:26:ad:92:4b:38:13:98:8c:ef:fc:70:
         74:cd:21:c5:05:64:29:81:9a:5a:71:9a:24:ec:08:59:de:fc:
         e9:6c:e7:49:7e:07:12:38:27:bf:5b:af:9d:ac:bc:80:e7:04:
         f3:57:79:b8:fa:d6:94:e5:e2:af:9c:8f:4d:37:95:db:89:41:
         d7:9a:a2:c4:94:75:59:61:a9:29:0c:02:64:4f:6d:14:b9:de:
         6e:20:61:c6:c2:21:c5:62:fc:87:80:79:4d:07:16:bb:ec:19:
         f6:81:8c:4a:b4:7f:79:cb:7a:3f:0b:44:9a:1d:ab:8d:2f:b8:
         21:bb:26:55:c4:d4:56:b0:a7:15:5a:56:7e:d7:f4:eb:3a:51:
         29:d3:49:d3:17:2a:16:ab:16:c5:83:05:4f:f5:66:ab:09:10:
         d7:fe:b6:7f:63:3a:ff:b1

특히 관련된 내용은 다음과 같습니다.

Issuer: C = BM, O = QuoVadis Limited, CN = QuoVadis EV SSL ICA G3
Subject: jurisdictionC = GB  [...]  CN = discovery.ucl.ac.uk

이는 제공된 인증서가 의 리프 인증서이고 이라는 discovery.ucl.ac.uk일부 인증서(또는 엔터티)에 의해 서명되었음을 나타냅니다 QuoVadis EV SSL ICA G3. 이것이 루트 인증서가 아니라는 것은 나중에 분명해질 것입니다(현재 CA이름에 없는 것은 힌트입니다. ICA일반적으로 다음을 의미합니다 .가운데인증 기관).

@little_dog는 다운로드한 인증서가 누락된 중간 인증서(루트 인증서 아님!)임을 제안합니다. 그의 답변에서 다음 줄을 보면 이를 확인할 수 있습니다.

Issuer: C = BM, O = QuoVadis Limited, CN = QuoVadis Root CA 2 G3
Subject: C = BM, O = QuoVadis Limited, CN = QuoVadis EV SSL ICA G3

이 인증서는 QuoVadis EV SSL ICA G3위의 리프 인증서에서 참조됩니다! 하지만 이 인증서는 루트 인증서가 아닙니다. 루트 인증서가 서명됨스스로를 통해이지만 이 인증서는 에 의해 서명되었습니다 QuoVadis Root CA 2 G3. 그건 그렇고 , CA그 이름 에는 그 말이 있습니다 .

그렇다면 루트 인증서는 어디서 얻을 수 있나요? 이상적으로는 브라우저나 운영 체제에 있어야 합니다. 적어도 데비안(그리고 아마도 우분투)에서는 이 괴물을 확인할 수 있습니다:

% awk -v cmd='openssl x509 -noout -subject' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep 'QuoVadis Root CA 2 G3'
subject=C = BM, O = QuoVadis Limited, CN = QuoVadis Root CA 2 G3

명령의 첫 번째 부분은 시스템이 신뢰하는 모든 CA 인증서의 인증서 주체("이름")를 생성한 다음 관련 QuoVadis 루트 인증서를 검색합니다. 내 시스템에서 이것을 찾았으므로 루트 인증서가 존재했습니다.

검토

  • 루트 인증서 QuoVadis Root CA 2 G3(시스템에 있음)
    • 중간 인증서 서명 QuoVadis EV SSL ICA G3(누락)
      • 리프 인증서에 서명합니다 discovery.ucl.ac.uk(웹 서버에서 제공).

중간 인증서는 어디에서 가져와야 합니까? 대답은 간단합니다. 웹 서버도 이를 제공해야 합니다. 그런 다음 클라이언트는 신뢰 저장소의 루트 인증서까지 전체 체인을 확인할 수 있습니다.

고치다

@little_dog의 대답은 중간체를 다운로드하여 신뢰 저장소에 설치하여 효과적으로 중간체를 시스템의 루트 인증서로 바꾸는 것입니다. 현재 이는 특정 문제를 해결하지만 단점도 있습니다.

  • 그럴 것이다오직특정 컴퓨터에서 매우 특정한 문제를 해결합니다. 잘못 구성된 다른 웹 서버에서 다운로드 중이신가요? 같은 질문. 이 웹사이트에서 다른 컴퓨터로 다운로드하시겠습니까? 같은 질문.
  • 중간 인증서는 일반적으로 루트 인증서보다 수명이 짧습니다. 미래의 어느 시점에 수동으로 설치한 중간체는 만료되고 작동이 중지됩니다.
  • 중간체는 이유가 있어서 존재합니다. CA가 손상된 경우 중간 항목도 손상될 수 있습니다. 그런 다음 CA는 이러한 중개자를 취소하고 새 중개자를 생성한 후 리프 인증서를 재발급합니다. 그러나 수동으로 중개자를 신뢰하므로 취소되지 않으며 시스템이 신뢰해서는 안되는 서버를 신뢰하게 될 수 있습니다.

실제 해결책은 웹사이트를 수정하는 것입니다. discovery.ucl.ac.uk 웹마스터에게 신고해 보세요. 괜찮은 웹 서버 관리자라면 웹 서버가 중간 CA 인증서를 제공하지 않는다고 보고할 때 무슨 일이 일어나고 있는지 정확히 알아야 합니다. 더 많은 정보가 필요하다면 이 답변으로 충분합니다. :)

또한 지정한 웹 서버를 확인하고 잠재적인 보안 문제 및 구성 문제 목록을 보고하는 수십 개의 온라인 서비스도 있습니다. 몇 가지를 시도했는데 모두 중간 인증서가 부족하다고 불평했습니다. 인기 있는 것들은 다음과 같습니다:

그런데 크롬에서는 작동하나요?

여기서 이야기는 더욱 복잡해집니다. 라는 메커니즘이 있습니다.권위 있는 정보 얻기(AIA)를 사용하면 HTTP 클라이언트가 CA에 중간 인증서를 쿼리할 수 있습니다. 이 답변 앞부분의 텍스트 인증서 출력에서 ​​제공된 URL을 볼 수 있습니다.

그러나 모든 고객이 AIA 인수를 구현하는 것은 아닙니다.. Internet Explorer와 Safari가 그렇습니다. Chrome은 이를 수행하기 위해 운영 체제에 의존합니다(따라서 일부 플랫폼에서는 괜찮지만 다른 플랫폼에서는 그렇지 않습니다). 안드로이드는 그렇지 않습니다. Firefox에는 해당 기능이 없습니다.개인정보 문제 때문에. 내가 아는 한, 컬과 wget은 그렇지 않습니다.

문제를 더 복잡하게 만드는 것은 브라우저가 발견한 중간 인증서를 캐시할 수 있다는 것입니다. 따라서 QuoVadis EV SSL ICA G3중간 인증서를 올바르게 전송하기 위해 브라우저를 사용하는 웹 사이트를 방문하는 경우 해당 인증서가 캐시될 수 있으며 갑자기 웹 사이트도 작동하지 않습니다. 마지막으로 브라우저/OS는 (일부) 중간 인증서를 미리 로드할 수 있으며 이로 인해 이 문제가 숨겨질 수도 있습니다. 적어도 Firefox는 이 옵션을 탐색하고 있습니다.

그러나 이러한 것 중 어느 것도 신뢰할 수 없습니다. 많은 클라이언트는 AIA 가져오기 또는 사전 로드를 수행하지 않습니다. 따라서 이러한 메커니즘이 의무화되고 보편적으로 지원될 때까지 웹 서버는 체인을 완성하기 위해 모든 인증서를 계속 포함해야 합니다.

답변2

고쳐 쓰다

@marcelm이 지적했듯이 아래 답변은 올바르지 않습니다. [이것이 문제에 대한 더러운 해결책이라고 말할 수 있습니다]

[discovery.ucl.ac.uk] 서버가 중간 인증 기관을 보내지 않아 인증서 체인이 불완전해졌습니다. 내 실수로 인해 아래 답변은 루트 CA(이미 시스템에 있음) 대신 누락된 중간 인증 기관을 다운로드하는 것입니다.

또한 @marcelm이 지적했듯이 이는 서버 구성 오류이며 서버 신뢰 저장소에 중간 인증 기관을 추가하는 것은 잘못된 접근 방식입니다.


~에서여기필요한 CA를 다운로드할 수 있습니다.

PEM으로 변환:

openssl x509 -inform der -in qvevsslg3.cer -out qvevsslg3.pem.cer

당신은:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            52:4f:c1:f1:6e:34:d1:70:2b:84:a1:3f:b0:42:bb:cc:7c:3c:90:32
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = BM, O = QuoVadis Limited, CN = QuoVadis Root CA 2 G3
        Validity
            Not Before: Nov 30 16:21:01 2016 GMT
            Not After : Nov 30 16:21:01 2026 GMT
        Subject: C = BM, O = QuoVadis Limited, CN = QuoVadis EV SSL ICA G3
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                    00:a2:7c:9c:ce:6c:11:4a:7c:39:06:15:88:ad:f7:
                    03:d7:d1:1b:13:b6:d8:bb:97:45:b4:3f:28:ff:93:
                    6d:40:25:be:5d:da:0b:5f:e5:fd:b8:d4:ee:be:73:
                    f0:f4:7b:f6:45:d8:58:ac:98:1e:2e:01:76:c1:9e:
                    76:5c:c1:a4:9d:17:41:f2:d4:18:ae:49:c0:97:f8:
                    f4:37:97:fc:0c:3f:36:c4:fd:9e:06:40:a9:20:1d:
                    14:10:3e:33:35:5c:30:59:c7:56:bc:15:20:34:47:
                    4d:a1:bc:fd:bd:02:9b:ec:1e:4b:95:b5:e6:f6:46:
                    8e:bb:16:20:72:ff:16:b0:d3:22:bd:23:f7:9a:42:
                    52:84:43:a1:e1:16:77:65:d0:4c:fe:fb:49:ca:eb:
                    d4:c8:43:e3:ca:24:b3:7c:df:78:b5:91:f1:fc:7d:
                    7d:e1:2e:03:54:03:e0:13:b9:f2:dc:84:b3:37:e0:
                    1a:de:48:f2:2d:e6:cf:fe:c3:f3:23:50:18:d0:35:
                    b1:f1:88:38:49:31:b5:8f:43:c9:7a:e4:db:e8:08:
                    28:da:49:b1:e0:aa:a7:e2:ae:24:48:f2:fc:0a:02:
                    13:60:78:8a:68:9c:7a:0e:df:10:f7:48:9e:27:bc:
                    b0:1b:83:1b:fd:80:03:38:89:66:a1:76:7a:91:78:
                    73:18:0c:72:59:71:60:a2:52:db:e1:44:e8:22:1e:
                    94:eb:ab:f7:23:2a:be:81:7c:82:78:c5:c6:4f:89:
                    d4:82:cd:fe:3d:db:b3:39:e8:bd:eb:af:23:78:a4:
                    1a:a1:4e:5d:ec:b8:c9:50:bf:99:1f:6f:98:d5:b3:
                    e6:30:0c:a9:1c:52:d9:af:2c:e2:3b:30:b9:91:1a:
                    38:4d:a9:a0:01:fd:cb:1c:7a:f6:0b:bc:88:52:ea:
                    3e:6a:f9:6f:dd:c8:9c:dc:d5:28:75:c7:cc:8b:b0:
                    31:39:01:4b:6f:7d:82:b4:3a:03:79:56:f9:bf:7c:
                    7c:f1:1d:2d:20:42:53:8b:39:3a:33:50:7f:d2:91:
                    ad:66:21:5f:5e:da:cd:55:f1:e6:11:8b:d8:da:b3:
                    8b:6e:05:8a:33:cd:f5:ca:4a:99:49:81:d4:a6:2a:
                    a0:9d:a3:49:6f:84:2c:f1:67:31:a9:4c:35:c6:48:
                    ba:e1:6c:22:3d:c9:54:4a:7e:57:80:63:08:c3:14:
                    83:1a:35:08:24:72:91:af:38:10:f6:59:de:1c:e1:
                    d5:6f:ca:57:1c:d1:64:74:10:c7:4d:bd:4a:36:60:
                    ce:c8:bb:20:de:ad:0b:24:fe:8f:de:7c:d3:fd:a5:
                    83:02:3d:e0:96:92:6f:19:0e:5d:92:30:1b:8f:1f:
                    8d:16:4f
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:TRUE, pathlen:0
            X509v3 Certificate Policies:
                Policy: 1.3.6.1.4.1.8024.0.2.100.1.2
                  CPS: http://www.quovadisglobal.com/repository

            Authority Information Access:
                OCSP - URI:http://ocsp.quovadisglobal.com
                CA Issuers - URI:http://trust.quovadisglobal.com/qvrca2g3.crt

            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Extended Key Usage:
                TLS Web Server Authentication, TLS Web Client Authentication, OCSP Signing
            X509v3 Authority Key Identifier:
                keyid:ED:E7:6F:76:5A:BF:60:EC:49:5B:C6:A5:77:BB:72:16:71:9B:C4:3D

            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://crl.quovadisglobal.com/qvrca2g3.crl

            X509v3 Subject Key Identifier:
                E5:84:54:D0:90:49:9F:38:BA:F2:C9:E1:2A:08:C5:4E:9F:A0:48:3F
    Signature Algorithm: sha256WithRSAEncryption
         63:f1:07:59:ba:4d:c0:28:06:55:0d:41:ed:c2:27:e7:7d:27:
         e9:19:e1:b7:ca:f2:37:a1:38:4a:2b:36:18:6d:3d:f3:4d:6c:
         78:25:4c:a0:65:01:d6:e0:42:5a:6e:ee:a9:0a:b2:76:34:db:
         8c:b8:6e:b9:be:e1:4e:34:89:d4:9d:f4:48:e2:b5:09:96:e4:
         f9:cd:55:3f:d0:dc:8d:8e:3a:87:27:32:b5:42:90:d9:66:e0:
         91:a6:3e:97:fb:59:34:32:ae:d1:d8:dc:da:10:39:6a:99:63:
         40:29:a2:23:37:24:6d:c1:eb:eb:24:67:14:ae:d9:3e:34:8f:
         08:05:0a:9b:6d:03:bc:e4:50:ee:1b:08:6a:89:ac:22:5a:97:
         9b:90:4f:b2:c3:1c:c6:32:38:f0:4c:e0:bf:fb:3c:ca:70:12:
         23:c4:b9:3f:6b:ce:9c:1a:34:f2:c2:41:33:f6:b4:29:bb:b0:
         df:9d:52:b9:b4:f3:8f:11:be:a3:54:87:7b:a9:40:ce:f2:10:
         32:e4:b0:c5:47:1a:f1:89:22:07:5f:70:e5:86:6d:f9:2b:36:
         25:73:5c:e8:5d:a3:67:0a:6b:d2:1b:68:21:77:be:37:df:f1:
         d0:2a:21:61:14:5a:f8:88:af:44:68:1d:0d:07:37:c3:63:fe:
         a5:f7:cd:40:ff:ea:74:fb:94:63:23:24:61:68:ae:1c:7f:d8:
         bf:05:f2:b8:3c:6f:c8:64:1f:bc:a9:87:af:5b:aa:fe:a8:aa:
         6c:ad:5b:0d:25:28:12:ae:12:bb:cc:97:f1:8a:05:f5:3b:b1:
         62:b6:88:a6:9f:62:12:b3:b9:ad:aa:c3:3b:a1:93:35:51:e1:
         d4:e5:c0:27:f7:8f:84:e5:b3:aa:8d:df:94:b4:e5:01:d4:dc:
         b3:73:2a:f7:b9:0a:5b:c5:d6:0a:7b:bf:72:32:49:82:57:f6:
         cd:57:cb:02:5b:fd:e6:9e:7a:07:d2:1f:d2:95:db:37:be:2a:
         0e:46:04:0b:c4:dd:2c:ec:2b:ca:17:2f:f3:2c:a2:9a:1f:74:
         fc:0b:d6:f4:ba:41:ee:cc:24:5a:75:14:60:d4:de:a7:f5:cc:
         5f:f4:4b:a4:72:e7:24:e5:6d:9d:1a:67:dd:ca:15:7d:24:7f:
         d2:bc:f4:5c:a5:57:79:91:a7:2b:3b:46:74:83:10:85:63:13:
         c6:f6:75:52:99:91:00:7d:80:6f:64:27:56:8d:5f:90:f5:72:
         a8:d4:89:71:eb:39:63:f5:4a:a4:8b:cb:06:4e:49:8f:9e:5f:
         bc:af:0c:13:ff:40:49:af:8b:b4:ba:c8:9a:cf:22:60:79:7b:
         e5:cb:a9:b9:86:59:96:0f
-----BEGIN CERTIFICATE-----
MIIGuDCCBKCgAwIBAgIUUk/B8W400XArhKE/sEK7zHw8kDIwDQYJKoZIhvcNAQEL
BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xNjExMzAxNjIxMDFaFw0y
NjExMzAxNjIxMDFaMEkxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBM
aW1pdGVkMR8wHQYDVQQDDBZRdW9WYWRpcyBFViBTU0wgSUNBIEczMIICIjANBgkq
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAonyczmwRSnw5BhWIrfcD19EbE7bYu5dF
tD8o/5NtQCW+XdoLX+X9uNTuvnPw9Hv2RdhYrJgeLgF2wZ52XMGknRdB8tQYrknA
l/j0N5f8DD82xP2eBkCpIB0UED4zNVwwWcdWvBUgNEdNobz9vQKb7B5LlbXm9kaO
uxYgcv8WsNMivSP3mkJShEOh4RZ3ZdBM/vtJyuvUyEPjyiSzfN94tZHx/H194S4D
VAPgE7ny3ISzN+Aa3kjyLebP/sPzI1AY0DWx8Yg4STG1j0PJeuTb6Ago2kmx4Kqn
4q4kSPL8CgITYHiKaJx6Dt8Q90ieJ7ywG4Mb/YADOIlmoXZ6kXhzGAxyWXFgolLb
4UToIh6U66v3Iyq+gXyCeMXGT4nUgs3+PduzOei9668jeKQaoU5d7LjJUL+ZH2+Y
1bPmMAypHFLZryziOzC5kRo4TamgAf3LHHr2C7yIUuo+avlv3cic3NUodcfMi7Ax
OQFLb32CtDoDeVb5v3x88R0tIEJTizk6M1B/0pGtZiFfXtrNVfHmEYvY2rOLbgWK
M831ykqZSYHUpiqgnaNJb4Qs8WcxqUw1xki64WwiPclUSn5XgGMIwxSDGjUIJHKR
rzgQ9lneHOHVb8pXHNFkdBDHTb1KNmDOyLsg3q0LJP6P3nzT/aWDAj3glpJvGQ5d
kjAbjx+NFk8CAwEAAaOCAZcwggGTMBIGA1UdEwEB/wQIMAYBAf8CAQAwUQYDVR0g
BEowSDBGBgwrBgEEAb5YAAJkAQIwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5x
dW92YWRpc2dsb2JhbC5jb20vcmVwb3NpdG9yeTB0BggrBgEFBQcBAQRoMGYwKgYI
KwYBBQUHMAGGHmh0dHA6Ly9vY3NwLnF1b3ZhZGlzZ2xvYmFsLmNvbTA4BggrBgEF
BQcwAoYsaHR0cDovL3RydXN0LnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdnJjYTJnMy5j
cnQwDgYDVR0PAQH/BAQDAgEGMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggrBgEFBQcD
AgYIKwYBBQUHAwkwHwYDVR0jBBgwFoAU7edvdlq/YOxJW8ald7tyFnGbxD0wOwYD
VR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC5xdW92YWRpc2dsb2JhbC5jb20vcXZy
Y2EyZzMuY3JsMB0GA1UdDgQWBBTlhFTQkEmfOLryyeEqCMVOn6BIPzANBgkqhkiG
9w0BAQsFAAOCAgEAY/EHWbpNwCgGVQ1B7cIn530n6Rnht8ryN6E4Sis2GG09801s
eCVMoGUB1uBCWm7uqQqydjTbjLhuub7hTjSJ1J30SOK1CZbk+c1VP9DcjY46hycy
tUKQ2WbgkaY+l/tZNDKu0djc2hA5apljQCmiIzckbcHr6yRnFK7ZPjSPCAUKm20D
vORQ7hsIaomsIlqXm5BPssMcxjI48Ezgv/s8ynASI8S5P2vOnBo08sJBM/a0Kbuw
351SubTzjxG+o1SHe6lAzvIQMuSwxUca8YkiB19w5YZt+Ss2JXNc6F2jZwpr0hto
IXe+N9/x0CohYRRa+IivRGgdDQc3w2P+pffNQP/qdPuUYyMkYWiuHH/YvwXyuDxv
yGQfvKmHr1uq/qiqbK1bDSUoEq4Su8yX8YoF9TuxYraIpp9iErO5rarDO6GTNVHh
1OXAJ/ePhOWzqo3flLTlAdTcs3Mq97kKW8XWCnu/cjJJglf2zVfLAlv95p56B9If
0pXbN74qDkYEC8TdLOwryhcv8yyimh90/AvW9LpB7swkWnUUYNTep/XMX/RLpHLn
JOVtnRpn3coVfSR/0rz0XKVXeZGnKztGdIMQhWMTxvZ1UpmRAH2Ab2QnVo1fkPVy
qNSJces5Y/VKpIvLBk5Jj55fvK8ME/9ASa+LtLrIms8iYHl75cupuYZZlg8=
-----END CERTIFICATE-----

위 인증서를 사용하면 다음을 통해 연결할 수 있습니다.

curl https://discovery.ucl.ac.uk/1575442/1/Palmisanoetal.zip --cacert qvevsslg3.pem.cer

또는 앞서 말한 것처럼 서버의 신뢰할 수 있는 루트 인증서에 추가하세요.

sudo update-ca-certificates

답변3

인증서를 전혀 확인하지 않도록 컬에 지시할 수 있습니다.

utils::download.file(db_url, temp, method = 'curl', extra='-k')

올바른 파일을 다운로드했는지 알 방법이 없으므로 다운로드한 파일의 sha256sum과 같은 추가 기능을 구현해야 합니다(또는 파일이 서명된 경우 서명을 확인하세요).

관련 정보