1. Installez nginx brièvement
2. Utilisez openssl pour implémenter le centre de certificats
Puisque vous utilisez openssl pour configurer un centre de certificats privé, vous devez vous assurer que les champs suivants se trouvent dans le certificat du centre de certificats. , certificat de serveur et certificat client Tout de même
nom du pays
nom de l'état ou de la province
nom de la localité
nom de l'organisation
nom de l'unité organisationnelle
Modifier le fichier de configuration du Centre de certificats
vim /etc/pki/tls/openssl.cnf
[ ca_default ]
dir = /etc /pki/ca
certs = $dir/certs # où les certificats émis sont conservés
crl_dir = $dir/crl # où les crl émis sont conservés
database = $dir/index.txt # fichier d'index de base de données.
#unique_subject = no # défini sur 'no' pour permettre la création de
# s.
certific ate = $dir/cacert.pem # le certificat ca
serial = $ dir/serial = $dir/crl .pem # le crl
private_key = $dir/private /cakey.pem# la clé privée
randfile = $dir/private/.rand # fichier de nombres aléatoires privé
[ req_distinguished_name ]
countryname = nom du pays (code à 2 lettres )
countryname_min OStateorProvincename = état ou nom de la province (nom complet)
StateorProvincename_Default = FJ
LocalityName = NOM DE LA LOCALITÉ (EG, Ville)
default = fz
0.organizationName = Nom de l'organisation (EG, Société)
0 .organizationName_Default = zdz
organizationalunitName = nom de l'unité organisationnelle (par exemple, section)
organizationalunitname_default = zdz
Créer une clé privée de certificat
cd /etc/pki/ca/private
(umask 077;openssl genrsa -out cakey.pem 2048)
cd / etc/pki/ca/
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days=3655
3 Créer un certificat de serveur
cd /usr/local/nginx/ssl(umask 077;openssl genrsa -out nginx.key 1024)
openssl req -new -key nginx.key -out nginx.csropenssl ca -in nginx.csr -out nginx.crt -days=3650
4. Créer un certificat de navigateur client
openssl req -new -key client.key -out client. csropenssl ca -in client.csr -out client.crt -days=3650
Convertissez le certificat au format texte en un certificat pouvant être importé dans le navigateuropenssl pkcs12 -export -clcerts -in client.crt -inkey client. clé -out client.p12
5. Configurez la vérification du serveur nginx
vim /usr/local/nginx/conf/nginx.conf
ssl sur;
ssl_certificate /usr/local/nginx/ssl/nginx.crt;
ssl_certificate_key /usr/local/nginx /ssl/nginx.key;
ssl_client_certificate /usr/local/nginx/ssl/cacert.pem;
ssl_session_timeout 5m;
#ssl_verify_client on ; Désactivez-le temporairement afin que les clients sans certificat puissent y accéder d'abord. ssl_protocols sslv2 sslv3 tlsv1;
Cliquez sur "Je suis pleinement conscient des risques possibles"
Cliquez sur "Ajouter une exception"
Cliquez sur "Confirmer l'exception de sécurité"
6. La configuration nginx active ssl_verify_client ;
Accès lorsque le navigateur client n'a pas de certificat installé
Importez le certificat dans le navigateur client
Téléchargez le certificat client généré sur le serveur Linux sur Windows
Ouvrez l'option Avancé de Firefox
Cliquez sur Importer dans votre certificat dans le gestionnaire de certificats
Sélectionnez le certificat et importez
Actualisez à nouveau la page Web, une "Confirmation d'utilisation" apparaît, cliquez sur OK, et c'est fait. Vérification bidirectionnelle
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!