Maison  >  Article  >  développement back-end  >  Comment mettre à niveau OpenSSL fourni avec Mac ? (Résumé du processus)

Comment mettre à niveau OpenSSL fourni avec Mac ? (Résumé du processus)

不言
不言original
2018-09-07 14:41:393268parcourir

Comment mettre à jour openssl fourni avec Mac ? L'article suivant vous présentera le processus de mise à niveau d'openssl fourni avec Mac. Vous pouvez vous y référer si nécessaire.

Étant donné que le openssl fourni avec Mac est trop ancien, vous devez ici mettre à niveau vers une version supérieure pour installer le pack d'extension Python, résumons donc le processus de mise à niveau.

1. Installez openssl

Tout d'abord, jetons un coup d'œil à notre version et à notre répertoire openssl :

->  ~ openssl version
OpenSSL 0.9.8zh 14 Jan 2016

->  ~ which openssl
/usr/bin/openssl
->  ~

Grâce à l'examen ci-dessus, il est évident que notre numéro de version est trop faible.

Suivez les étapes ci-dessus, nous mettons d'abord à jour l'installation de homebrew

brew update

 :

brew install openssl

# 重新安装
# brew reinstall openssl

Après une installation réussie :

~ brew reinstall openssl
==> Reinstalling openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2p.el_capitan.bottle.tar.gz
Already downloaded: /Users/kaiyiwang/Library/Caches/Homebrew/downloads/96bc2acd84d0fe609dcbe4c6436c864808f7e8f26f2f12111f552f5972c3840a--openssl-1.0.2p.el_capitan.bottle.tar.gz
==> Pouring openssl-1.0.2p.el_capitan.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

openssl is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

If you need to have openssl first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl/include"

==> Summary
  /usr/local/Cellar/openssl/1.0.2p: 1,793 files, 12.2MB

Cela signifie que nous avons installé avec succès openssl sur /usr/local/Cellar/openssl/1.0.2p.

2. Remplacer l'ancien

Cependant, nous avons encore la dernière étape, c'est-à-dire que lorsque nous utilisons openssl, nous utilisons le openssl nouvellement téléchargé avec homebrew. Pour atteindre cet objectif, nous disposons de deux méthodes.

Mettez l'openssl téléchargé par homebrew 软链接 dans le répertoire /usr/bin/openssl. Ici, nous en sauvegardons d’abord une ancienne copie, puis nous lions automatiquement celle nouvellement téléchargée.

$ mv /usr/bin/openssl /usr/bin/openssl_old
mv: rename /usr/bin/openssl to /usr/bin/openssl_old: Operation not permitted
$ ln -s /usr/local/Cellar/openssl/1.0.2p/bin/openssl /usr/bin/openssl
ln: /usr/bin/openssl: Operation not permitted

Opération non autorisée indique qu'il n'y a pas d'autorisation d'opérer. J'ai rencontré ce problème plusieurs fois pour des éléments du répertoire /usr/bin, j'ai donc continué à chercher sur Google et je l'ai trouvé sur stackoverflow Operation Not Permitted when on root El capitan (rootless disabled) .

Redémarrez le système. Au démarrage, nous appuyons sur cmd+r en même temps pour entrer en mode de récupération, puis sélectionnons Utilitaires => Terminal, saisissons la commande suivante dans le terminal, verrouillons le système de fichiers et redémarrez le système. ordinateur (cmd +r, vous entrerez dans une autre interface pour sélectionner le démarrage du système. Ne redémarrez pas immédiatement dans cette interface. Recherchez d'abord le terminal et entrez csrutil Disable) dans le terminal :

$ csrutil disable
$ reboot

Enfin, nous exécutons les deux premières commandes pour afficher la version.

$ sudo mv /usr/bin/openssl /usr/bin/openssl_old
$ sudo ln -s /usr/local/Cellar/openssl/1.0.2p/bin/openssl /usr/bin/openssl
$ openssl version
OpenSSL 1.0.2p  14 Aug 2018

➜  ~ which openssl
/usr/local/opt/openssl/bin/openssl

Comment mettre à niveau OpenSSL fourni avec Mac ? (Résumé du processus)

De cette façon, notre mise à niveau openssl a été réussie. Cependant, par mesure de sécurité, j'ai redémarré mon ordinateur et réactivé csrutil.

csrutil enable
reboot

Recommandations associées :

macos - Comment effectuer une mise à niveau majeure de la version PHP fournie avec Mac ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn