Sertifika oluşturma ve dışarı aktarma - Linux - OpenSSL

Bu makale, otomatik olarak imzalanan bir kök sertifika oluşturmanıza ve OpenSSL kullanarak istemci sertifikası .pem dosyaları oluşturmanıza yardımcı olur. Bunun yerine .pfx ve .cer dosyalarına ihtiyacınız varsa Windows- PowerShell yönergelerine bakın.

Önkoşullar

Bu makaleyi kullanmak için OpenSSL çalıştıran bir bilgisayarınız olmalıdır.

Otomatik olarak imzalanan kök sertifika

Bu bölüm, otomatik olarak imzalanan bir kök sertifika oluşturmanıza yardımcı olur. Sertifikayı oluşturduktan sonra kök sertifika ortak anahtar veri dosyasını dışarı aktarırsınız.

  1. Aşağıdaki örnek, otomatik olarak imzalanan kök sertifikayı oluşturmanıza yardımcı olur.

    openssl genrsa -out caKey.pem 2048
    openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
    
  2. Otomatik olarak imzalanan kök sertifika ortak verilerini base64 biçiminde yazdırın. Bu, Azure tarafından desteklenen biçimdir. P2S yapılandırma adımlarınızın bir parçası olarak bu sertifikayı Azure'a yükleyin.

    openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
    

İstemci sertifikaları

Bu bölümde, kullanıcı sertifikasını (istemci sertifikası) oluşturursunuz. Sertifika dosyaları, komutlarını çalıştırdığınız yerel dizinde oluşturulur. Her istemci bilgisayarda aynı istemci sertifikasını kullanabilir veya her istemciye özgü sertifikalar oluşturabilirsiniz. İstemci sertifikasının kök sertifika tarafından imzalı olması çok önemlidir.

  1. İstemci sertifikası oluşturmak için aşağıdaki örnekleri kullanın.

    export PASSWORD="password"
    export USERNAME=$(hostnamectl --static)
    
    # Generate a private key
    openssl genrsa -out "${USERNAME}Key.pem" 2048
    
    # Generate a CSR (Certificate Sign Request)
    openssl req -new -key "${USERNAME}Key.pem" -out "${USERNAME}Req.pem" -subj "/CN=${USERNAME}"
    
    # Sign the CSR using the CA certificate and CA key
    openssl x509 -req -days 365 -in "${USERNAME}Req.pem" -CA caCert.pem -CAkey caKey.pem -CAcreateserial -out "${USERNAME}Cert.pem" -extfile <(echo -e "subjectAltName=DNS:${USERNAME}\nextendedKeyUsage=clientAuth")
    
  2. İstemci sertifikasını doğrulamak için aşağıdaki örneği kullanın.

    openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
    

Sonraki adımlar

Yapılandırma adımlarına devam etmek için bkz . Noktadan siteye sertifika kimlik doğrulaması.