Wydrukuj tę dokumentację Pokaż jako slajdy

Konfiguracja oraz używanie getssl

Używanie Let's Encrypt z lokalnego serwera webowego jest proste i dopracowane. Niemniej problem istnieje z generowaniem certyfikatów w przypadku np. urządzeń sieciowych albo też gdy brak jest dostępu do serwera webowego poprzez shell (por. home pl.

Instalacja programu

Z wykorzystaniem własnego repozytorium skryptów należy zainstalować program getssl:

pkg install -Uy sysutils/getssl

Tworzenie certyfikatu

Korzystając z użytkwnika acmele (por. używanie Let's Encrypt) należy wykonać polecenie:

getssl -c moja.domena.tld

Modyfikacje plików konfiguracyjnych

.getssl/getssl.cfg

W pliku "globalnym" należy podać następujące ustawienia:

ACCOUNT_EMAIL="security@domena.tld"
ACCOUNT_KEY_LENGTH=4096
ACCOUNT_KEY="/home/acmele/account.key"

# domy/slnie jest genrsa
PRIVATE_KEY_ALG="rsa"

# albo ecparams, ale ograniczona liczba EC (prime256v1, secp384r1 and secp521r1)
PRIVATE_KEY_ALG="secp384r1"
REUSE_PRIVATE_KEY="true"

# Use the following 3 variables if you want to validate via DNS
VALIDATE_VIA_DNS="true"
DNS_ADD_COMMAND=/home/acmele/bin/getssl_dns_add
DNS_DEL_COMMAND=echo

.getssl/moja.domena.tld/getssl.cfg

# Uncomment and modify any variables you need
# see https://github.com/srvrco/getssl/wiki/Config-variables for details
# see https://github.com/srvrco/getssl/wiki/Example-config-files for example configs
#
# The staging server is best for testing
##CA="https://acme-staging.api.letsencrypt.org"
# This server issues full certificates, however has rate limits
CA="https://acme-v01.api.letsencrypt.org"

DOMAIN_CERT_LOCATION="/home/acmele/certs/domain.tld.signed.crt"
DOMAIN_KEY_LOCATION="/home/acmele/certs/domain.tld.key"
CA_CERT_LOCATION="/etc/ssl/ca.letsencrypt.pem"
DOMAIN_CHAIN_LOCATION="/home/acmele/certs/domain.tld.chained.crt" # this is the domain cert and CA cert
#DOMAIN_PEM_LOCATION="" # this is the domain_key, domain cert and CA cert

# nadpisanie warto/sci z pliku globalnego. Jeżeli nie jest to znany nr portu (zdefiniowany w IANA), który można zastąpić nazwą protokołu,
# to należy podać nr portu
#
SERVER_TYPE="44773"

Certyfikat z wieloma SAN-ami

W konfiguracji danej domeny można dodać kilka nazw domenowych oprócz podstawowej. W tym celu w pliku konfiguracyjnym domeny musi się pojawić ustawienie:

# zmienna nie może zaczynach się od znaku ','
SANS="sub1.domena.tld,sub2.domena.tld"

Podczas generowania tokenów dla DNS, pojawi się żądanie utworzenia acme_challenge dla każdej nazwy SAN oddzielnie.

Skrypt getssl_dns_add

Skrypt uruchamiany w momencie dodawania certyfikatu do podpisania ma następującą postać:

#!/bin/sh

echo "In the DNS, a new TXT record needs to be created for;"
echo "_acme-challenge.${1}"
echo "containing the following value"
echo "$2"

read -p "Press any key to obtain the certificate once the records have been updated..." aQQ

Podpisanie certyfikatu

Po ustawieniu wszystkich zmiennych konfigracyjnych można przejść do podpisywania certyfikatu:

getssl domain.tld

Źródła w sieci internet


{i}  (c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

LeGetSsl (ostatnio edytowane 2020-04-05 22:10:52 przez wtps0n)