Use o curl para baixar apenas um valor de atributo LDAP

3

Estou usando o seguinte comando curl para baixar um valor de um diretório LDAP:

curl  ldap://example.com/CN=ACME-Test-CRL,O=ACME?certificateRevocationList;binary -o crl.crl

O problema é que ele escreve o seguinte no arquivo crl.crl:

DN: CN=ACME-Test-CRL,O=ACME certificateRevocationList;binary: MIICxzCBsAIBATAN...

Quando eu quero apenas a CRL codificada na base64, ou seja, essa MIICxzCBsAIBATAN inicial

Existe alguma maneira de dizer ao curl apenas escrever o valor binário codificado em base64 no arquivo?

    
por Fred Lord 09.06.2016 / 14:15

1 resposta

1

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
    
por 28.02.2017 / 16:32

Tags