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/11/24 09:19] – [Vygenerování self-signed certifikátů] 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 # Vytvořte konfigurační soubor san.cnf pro zahrnutí SAN
Řádek 64: Řádek 70:
 [ req_distinguished_name ] [ req_distinguished_name ]
 countryName                = Country Name (2 letter code) countryName                = Country Name (2 letter code)
-countryName_default        = CZ+countryName_default        = $COUNTRY
 stateOrProvinceName        = State or Province Name (full name) stateOrProvinceName        = State or Province Name (full name)
-stateOrProvinceName_default = Brno+stateOrProvinceName_default = $STATE
 localityName               = Locality Name (eg, city) localityName               = Locality Name (eg, city)
-localityName_default       Brno+localityName_default       $LOCALITY
 organizationName           = Organization Name (eg, company) organizationName           = Organization Name (eg, company)
-organizationName_default   majordomus+organizationName_default   $ORG
 commonName                 = Common Name (e.g. server FQDN or YOUR name) commonName                 = Common Name (e.g. server FQDN or YOUR name)
 commonName_default         = $IP commonName_default         = $IP
Řádek 81: Řádek 87:
 EOF 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 -config san.cnf    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 -extensions req_ext -extfile san.cnf    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.1732439955.txt.gz
  • Poslední úprava: 2024/11/24 09:19
  • autor: Petr Nosek