openssl génère un certificat ca (certificat ssl) pour l'intranet IP

1. Pour utiliser OpenSSL afin de générer un certificat CA pour l'IP intranet, vous devez suivre les étapes ci-dessous :

1. Créez un dossier pour stocker le certificat

mkdir /opt/zhengshu

 Remarque : Vous pouvez le créer selon votre propre répertoire, le mien est directement placé dans le répertoire /opt.

2. Générer une clé privée et une demande de certificat

openssl req -newkey rsa:2048 -nodes -keyout ca.key -out ca.csr

 Remarque : Lors de votre candidature, il vous sera demandé de renseigner certains paramètres. Voici des descriptions de paramètres et des exemples :

字段    字段含义                    示例
/C=     Country 国家                CN
/ST=    State or Province 省        beijing
/L=     Location or City 城市       beijing
/O=     Organization 组织或企业     stars-mine
/OU=    Organization Unit 部门      stars-mine
/CN=    Common Name 是证书拥有者名称  172.xx.xx.xx
#下面这两个参数,大家直接回车跳过就行
A challenge password []:
An optional company name []:

3. Certificat auto-signé

openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

 4. Générer un certificat de serveur

openssl genrsa -out server.key 2048

openssl req -new -key server.key -out server.csr

 Remarque : Cette étape saisira également des paramètres, qui doivent être cohérents avec la dernière saisie 

openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365

 5. Générer un certificat client

openssl genrsa -out client.key 2048

 

openssl req -new -key client.key -out client.csr

 

 Remarque : Cette étape saisira également des paramètres, qui doivent être cohérents avec les deux entrées précédentes. 

openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365

 6. À ce stade, tous les certificats sont générés

 2. Configuration du certificat

1. Exemple de configuration (Apache) :

<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile /path/to/server.crt
    SSLCertificateKeyFile /path/to/server.key
    SSLCACertificateFile /path/to/ca.crt
    ...
</VirtualHost>

2. Exemple de configuration (Nginx) :

server {
        listen       80;
	    listen       443 ssl;
        server_name  172.21.10.101;
	    ssl_certificate /opt/server.crt;
    	ssl_certificate_key /opt/server.key;
	    if ($scheme = http) {
           return 301 https://$host$uri?$args;
        }

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {
            #root   html;
            #index  index.html index.htm;
            proxy_pass http://172.xx.xx.xx:9000/xxx/xxx/;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

3. Exemple de configuration (Tomcat) :

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           keystoreFile="/path/to/server.keystore" keystorePass="password"
           truststoreFile="/path/to/ca.crt" truststorePass="password"
           clientAuth="true" sslProtocol="TLS"/>

Remarque : Ces commandes pour la première étape généreront un certificat CA ca.crtnommé , un server.crtcertificat de serveur nommé et un certificat client client.crtnommé . Vous pouvez distribuer ces certificats à vos applications et clients pour activer le chiffrement SSL/TLS. 

3. Traitement des problèmes courants

1. Une fois l'adresse IP de l'intranet configurée avec un certificat SSL, https n'est pas accessible

Solution : vérifiez si le pare-feu du serveur est fermé, assurez-vous de fermer le pare-feu

service iptables status

systemctl status firewalld

 Description de l'état :

出现Active: active (running)切高亮显示则表示是启动状态。

出现 Active: inactive (dead)灰色表示停止,看单词也行。

Guess you like

Origin blog.csdn.net/wd520521/article/details/129832318