Jun. 1st, 2020

techquisitor: (sis)
В связи с вчерашней проблемой, связанной с устареванием корневого сертификата и криворукостью некоторых, куча народу столкнулась с тем, что перестали работать утилиты вроде curl или стало нельзя зайти на некоторые сайты.

Для Linux решение уже и так есть по ссылке выше, для прочих программистов описываю решение здесь.
Если у вас curl сейчас выдаёт такое при запросе к любому сайту с SSL:

curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.


Для начала проверяем что у нас используется:

openssl version -a
LibreSSL 2.6.5
built on: date not available
platform: information not available
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: information not available
OPENSSLDIR: "/private/etc/ssl"


Нужно заменить LibreSSL на OpenSSL где этой проблемы нет, поскольку там правильно реализована проверка сертификатов.

Для начала считаем, что скорее всего brew у вас уже стоит. :)


brew update && brew upgrade # на всякий, многие забывают обновляться
brew install openssl # это если у вас вдруг его нет
brew link --force openssl
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"
echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc # любители Bash и так знают что делать


Далее запускаем новый шелл и проверяем:

openssl version -a
OpenSSL 1.1.1g 21 Apr 2020
built on: Tue Apr 21 13:28:37 2020 UTC
platform: darwin64-x86_64-cc
options: bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
OPENSSLDIR: "/usr/local/etc/openssl@1.1"
ENGINESDIR: "/usr/local/Cellar/openssl@1.1/1.1.1g/lib/engines-1.1"

Profile

techquisitor: (Default)
techquisitor

June 2024

S M T W T F S
      1
2345678
9101112131415
161718192021 22
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 15th, 2025 11:43 pm
Powered by Dreamwidth Studios