Tive o mesmo problema ao tentar aplicar a CRL da minha AC do Active Directory no comando "crl-verify" do OpenVPN.
Minha solução é a seguinte:
curl -o CAName.ldap -u domain\username:password "ldap://domaincontroller.domain.local/CN=CAName,CN=ServerName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=local?certificateRevocationList" && grep -Po '(?<=certificateRevocationList:: )(.+)' CAName.ldap > CAName.b64 && base64 -d CAName.b64 > CAName.der && openssl crl -inform DER -in CAName.der -outform PEM -out CAName.pem
Explicação:
curl -o CAName.ldap -u domain\username:password "ldap://domaincontroller.domain.local/CN=CAName,CN=ServerName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=local?certificateRevocationList"
Este comando faz o download da parte binária com o DN e o conteúdo criptografado base64 para o arquivo de saída "-o CAName.ldap". A parte "-u" é necessária para vinculação de ldap não anônimo.
grep -Po '(?<=certificateRevocationList:: )(.+)' CAName.ldap > CAName.b64
Isso obtém a parte base64 no novo arquivo "CAName.b64"
base64 -d CAName.b64 > CAName.der
Descriptografe o conteúdo base64 (em binário da consulta ldap) para o novo arquivo "CAName.der"
openssl crl -inform DER -in CAName.der -outform PEM -out CAName.pem
Agora converta DER (binário) em PEM para "crl-verify" do OpenVPN.
Você pode verificar o conteúdo com o openssl:
openssl crl -inform PEM -text -noout -in CAName.pem