majordomus:mosquitto

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
majordomus:mosquitto [2024/10/20 15:07] Petr Nosekmajordomus:mosquitto [2024/11/24 09:30] (aktuální) – [Vygenerování self-signed certifikátů] Petr Nosek
Řádek 45: Řádek 45:
  
 K vytvoření nezbytných certifikátů pomůže tento skript, ve kterém je potřeba **změnit IP adresu** na IP adresu zařízení, na kterém MQTT server Mosquitto poběží. K vytvoření nezbytných certifikátů pomůže tento skript, ve kterém je potřeba **změnit IP adresu** na IP adresu zařízení, na kterém MQTT server Mosquitto poběží.
 +
  
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
- +
 IP="192.168.1.22" IP="192.168.1.22"
-SUBJECT_CA="/C=CZ/ST=Brno/L=Brno/O=majordomus/OU=CA/CN=$IP" +COUNTRY="CZ" 
-SUBJECT_SERVER="/C=CZ/ST=Brno/L=Brno/O=majordomus/OU=Server/CN=$IP" +STATE="Brno" 
-SUBJECT_CLIENT="/C=CZ/ST=Brno/L=Brno/O=majordomus/OU=Client/CN=$IP" +LOCALITY="Brno" 
- +ORG="majordomus" 
 + 
 +SUBJECT_BASE="/C=$COUNTRY/ST=$STATE/L=$LOCALITY/O=$ORG" 
 +SUBJECT_CA="$SUBJECT_BASE/OU=CA/CN=$IP" 
 +SUBJECT_SERVER="$SUBJECT_BASE/OU=Server/CN=$IP" 
 +SUBJECT_CLIENT="$SUBJECT_BASE/OU=Client/CN=$IP" 
 + 
 +# Vytvořte konfigurační soubor san.cnf pro zahrnutí SAN 
 +cat > san.cnf <<EOF 
 +[ req ] 
 +default_bits       = 2048 
 +distinguished_name = req_distinguished_name 
 +req_extensions     = req_ext 
 + 
 +[ req_distinguished_name ] 
 +countryName                = Country Name (2 letter code) 
 +countryName_default        = $COUNTRY 
 +stateOrProvinceName        = State or Province Name (full name) 
 +stateOrProvinceName_default = $STATE 
 +localityName               = Locality Name (eg, city) 
 +localityName_default       = $LOCALITY 
 +organizationName           = Organization Name (eg, company) 
 +organizationName_default   = $ORG 
 +commonName                 = Common Name (e.g. server FQDN or YOUR name) 
 +commonName_default         = $IP 
 + 
 +[ req_ext ] 
 +subjectAltName = @alt_names 
 + 
 +[ alt_names ] 
 +IP.1 = $IP 
 +EOF 
 function generate_CA () { function generate_CA () {
    echo "$SUBJECT_CA"    echo "$SUBJECT_CA"
    openssl req -x509 -nodes -sha256 -newkey rsa:2048 -subj "$SUBJECT_CA"  -days 3650 -keyout ca.key -out ca.crt    openssl req -x509 -nodes -sha256 -newkey rsa:2048 -subj "$SUBJECT_CA"  -days 3650 -keyout ca.key -out ca.crt
 } }
- +
 function generate_server () { function generate_server () {
    echo "$SUBJECT_SERVER"    echo "$SUBJECT_SERVER"
-   openssl req -nodes -sha256 -new -subj "$SUBJECT_SERVER" -keyout server.key -out server.csr +   openssl req -nodes -sha256 -new -subj "$SUBJECT_SERVER" -keyout server.key -out server.csr -config san.cnf 
-   openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650+   openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650 -extensions req_ext -extfile san.cnf
 } }
 +
 +function generate_client () {
 +   echo "$SUBJECT_CLIENT"
 +   openssl req -new -nodes -sha256 -subj "$SUBJECT_CLIENT" -out client.csr -keyout client.key 
 +   openssl x509 -req -sha256 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365
 +}
 +
  
 generate_CA generate_CA
 generate_server generate_server
-</code> +</code>
  
  
  • majordomus/mosquitto.1729436872.txt.gz
  • Poslední úprava: 2024/10/20 15:07
  • autor: Petr Nosek