GNU/Linux >> Znalost Linux >  >> Linux

Použití klientského certifikátu v příkazu Curl

Udělal jsem to takto:

curl -v \
  --key ./admin-key.pem \
  --cert ./admin.pem \
  https://xxxx/api/v1/

Klientské certifikáty TLS se neodesílají v hlavičkách HTTP. Jsou přenášeny klientem v rámci handshake TLS a server obvykle zkontroluje platnost certifikátu také během handshake.

Pokud je certifikát přijat, většinu webových serverů lze nakonfigurovat tak, aby do aplikace přidaly záhlaví pro přenos certifikátu nebo informací obsažených v certifikátu. Proměnné prostředí jsou naplněny informacemi o certifikátech v Apache a Nginx, které lze použít v jiných direktivách pro nastavení záhlaví.

Jako příklad tohoto přístupu následující fragment konfigurace Nginx ověří klientský certifikát a poté nastaví SSL_CLIENT_CERT záhlaví pro předání celého certifikátu do aplikace. To bude pouze nastavit, když byl certifikát úspěšně ověřen, takže aplikace pak může certifikát analyzovat a spoléhat se na informace, které nese.

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/chainedcert.pem;  # server certificate
    ssl_certificate_key /path/to/key;          # server key

    ssl_client_certificate /path/to/ca.pem;    # client CA
    ssl_verify_client on;
    proxy_set_header SSL_CLIENT_CERT $ssl_client_cert;

    location / {
        proxy_pass http://localhost:3000;
    }
}

Linux
  1. TCP Proxying pomocí socat

  2. Náhrada příkazů pomocí „?

  3. 10 Praktické příklady použití příkazu scp

  1. Použití příkazu ripgrep (rg) v Linuxu

  2. Příklady použití příkazu dmsetup v Linuxu

  3. Paralelní stahování pomocí nástroje příkazového řádku Curl

  1. Jak převést PPK na soubor PEM pomocí příkazu

  2. Přesuňte složku v Linuxu pomocí příkazu mv

  3. Použití curl k odeslání e-mailu