Assinar um OpenSSL .CSR com o Microsoft Certificate Authority

3

Eu estou no processo de construir um servidor Debian FreeRadius que faz autenticação 802.1x para membros do domínio. Eu gostaria de assinar o certificado SSL do meu servidor radius (usado para EAP-TLS) e aproveitar a PKI existente do domínio. O servidor radius é unido ao domínio via Samba e tem uma conta de máquina como exibida em Usuários e Computadores do Active Directory. O controlador de domínio que estou tentando assinar com a chave do meu servidor radius não tem o IIS instalado, portanto, não posso usar a página da Web Certsrv preferida para gerar o certificado. As ferramentas do MMC não funcionarão, pois não podem acessar os armazenamentos de certificados no servidor radius porque elas não existem. Isso deixa o utilitário certreq.exe.

Estou gerando meu .CSR com o seguinte comando:

openssl req -nodes -newkey rsa:1024 -keyout server.key -out server.csr

O resultado .CSR:

******@mis-ke-lnx:~/G$ openssl req -text -noout -in mis-radius-lnx.csr 
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=US, ST=Alaska, L=CITY, O=ORG, OU=DEPT, CN=ME/emailAddress=MYEMAIL
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:a8:b3:0d:4b:3f:fa:a4:5f:78:0c:24:24:23:ac:
                    cf:c5:28:af:af:a2:9b:07:23:67:4c:77:b5:e8:8a:
                    08:2e:c5:a3:37:e1:05:53:41:f3:4b:e1:56:44:d2:
                    27:c6:90:df:ae:3b:79:e4:20:c2:e4:d1:3e:22:df:
                    03:60:08:b7:f0:6b:39:4d:b4:5e:15:f7:1d:90:e8:
                    46:10:28:38:6a:62:c2:39:80:5a:92:73:37:85:37:
                    d3:3e:57:55:b8:93:a3:43:ac:2b:de:0f:f8:ab:44:
                    13:8e:48:29:d7:8d:ce:e2:1d:2a:b7:2b:9d:88:ea:
                    79:64:3f:9a:7b:90:13:87:63
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha1WithRSAEncryption
        35:57:3a:ec:82:fc:0a:8b:90:9a:11:6b:56:e7:a8:e4:91:df:
        73:1a:59:d6:5f:90:07:83:46:aa:55:54:1c:f9:28:3e:a6:42:
        48:0d:6b:da:58:e4:f5:7f:81:ee:e2:66:71:78:85:bd:7f:6d:
        02:b6:9c:32:ad:fa:1f:53:0a:b4:38:25:65:c2:e4:37:00:16:
        53:d2:da:f2:ad:cb:92:2b:58:15:f4:ea:02:1c:a3:1c:1f:59:
        4b:0f:6c:53:70:ef:47:60:b6:87:c7:2c:39:85:d8:54:84:a1:
        b4:67:f0:d3:32:f4:8e:b3:76:04:a8:65:48:58:ad:3a:d2:c9:
        3d:63


Estou tentando enviar meu certificado usando o seguinte comando certreq.exe:

certreq -submit -attrib "CertificateTemplate:Machine" server.csr

Eu recebo o seguinte erro ao fazer isso:

RequestId: 601
Certificate not issued (Denied) Denied by Policy Module The DNS name is unavailable and cannot be added to the Subject Alternate name. 0x8009480f (-2146875377)
Certificate Request Processor: The DNS name is unavailable and cannot be added to the Subject Alternate name. 0x8009480f (-2146875377)
Denied by Policy Module


Minha autoridade de certificação possui os seguintes modelos de certificado disponíveis. Se eu tentar enviar por certreq.exe usando "CertificiateTemplate: Computer" em vez de "CertificateTemplate: Machine" recebo um erro informando que "the requested certificate template is not supported by this CA."

Meu google-foo falhou comigo ao tentar entender esse erro ... Eu sinto que isso deve ser uma tarefa relativamente simples, pois o X.509 é o X.509 e o OpenSSL gera o .CSRs no formato PKCS10 necessário . Eu não posso ser apenas um lá fora tentando assinar uma chave gerada OpenSSL em uma caixa Linux com uma autoridade de certificação do Windows, então como faço isso (perferably usando a ferramenta off-line certreq.exe)?

    
por kce 18.01.2012 / 00:53

1 resposta

2

kce, o que o postador anterior está insinuando é verificar as propriedades do modelo da Máquina. Pode ser encontrado no snap-in 'Modelos de certificado'. Encontre as propriedades desse modelo e, na guia "Nome do assunto", as configurações de como o Nome do assunto deve ser fornecido à autoridade de certificação (por exemplo, "Fornecido na solicitação" ou "Criada a partir de informações no Active Directory".

    
por 10.04.2012 / 07:13