Personalizando páginas de registro da Web dos Serviços de Certificado
Os Serviços de Certificados fornecem páginas de registro na Web que podem ser usadas para solicitar certificados. Um administrador pode personalizar alguns dos itens que podem ser exibidos nas páginas de registro da Web; no entanto, você deve estar familiarizado com as páginas de registro da Web e o script da Web antes de fazer alterações. Para obter mais informações sobre scripts web, consulte Scripts.
Os valores padrão para os campos Nome Diferenciado para Organização, Unidade Organizacional, Localidade, Estado e País/Região são os valores especificados para a AC ( autoridade de certificação ) quando os Serviços de Certificados são instalados. Esses valores padrão aparecem nas páginas da Web e podem ser alterados pelo usuário durante o processo de registro de certificado. No entanto, se quiser que outros valores padrão apareçam nas páginas da Web, você poderá editar o arquivo Certdat.inc (no caminho \WindowsDirectory\System32\Certsrv\); especificamente, você pode atribuir valores personalizados às variáveis a seguir fornecidas para personalização.
Variável | Descrição |
---|---|
sDefaultCompany | Empresa padrão (aparece na solicitação de certificado como o campo Organização X.509 ). |
sDefaultOrgUnit | Departamento padrão (aparece na solicitação de certificado como o campo Unidade Organizacional X.509). |
sDefaultLocality | Cidade padrão (aparece na solicitação de certificado como o campo Local X.509). |
sDefaultState | Estado/província padrão (aparece na solicitação de certificado como o campo Estado X.509). |
sDefaultCountry | País/região padrão (aparece na solicitação de certificado como o campo X.509 País/Região). |
nPendingTimeoutDays | Número de dias em que o usuário pode recuperar um certificado pendente após a solicitação. |
Nenhuma outra variável deve ser alterada no arquivo Certdat.inc.
O exemplo a seguir define a Unidade Organizacional padrão como "Marketing".
sDefaultOrgUnit="Marketing"
Além disso, você pode editar o arquivo Certrqtp.inc para adicionar, alterar ou remover modelos de certificado ou tipos disponíveis para o usuário. Esses modelos e tipos, bem como informações relacionadas, estão contidos em uma matriz dimensionada chamada rgAvailReqTypes(m,5).
Essa matriz, como todas as matrizes Visual Basic Scripting Edition, é baseada em zero e, como resultado, a primeira dimensão da matriz, m, aloca memória para itens m+1. Portanto, se ao personalizar as páginas da Web, você precisará modificar o número de itens na matriz rgAvailReqTypes, defina a dimensão m como uma menor do que o número total de itens necessários. Por exemplo, se você tiver sete modelos de certificado, altere a declaração de rgAvailReqTypes, conforme mostrado no exemplo a seguir.
Dim rgAvailReqTypes(6,5)
A segunda dimensão da matriz, que sempre tem o valor cinco, aloca os seis campos que compõem cada item. Esses seis campos representam o modelo ou o tipo de certificado, o nome de exibição associado a este modelo ou tipo e se o modelo requer Extensões de Email de Internet Seguro/Multiuso (S/MIME).
Para facilitar a compreensão de quais desses campos estão sendo acessados, o Certrqtp.inc também fornece as seguintes constantes que você pode usar ao definir valores de campo.
Constante | Descrição |
---|---|
FIELD_OID | (Aplica-se a ACs autônomas) Indexar para o primeiro campo do item; representa um OID ( identificador de objeto ) para um tipo de certificado. |
FIELD_TEMPLATE | (Aplica-se a CAs empresariais) Indexar para o primeiro campo do item; representa um modelo de certificado. |
FIELD_FRIENDLYNAME | Indexar para o segundo campo do item; representa o nome de exibição (que o usuário verá ao registrar) do item no primeiro campo. |
FIELD_CSPLIST | Indexe para o terceiro campo do item. Uma lista de nomes do Provedor de Serviços Criptográficos permitidos pelo modelo. Cada nome na lista é separado por um ponto de interrogação (?). |
FIELD_CSPLIST2 | Indexe para o quarto campo do item. Uma lista secundária de nomes de Provedor de Serviços Criptográficos permitidos pelo modelo. Cada nome na lista é separado por um ponto de interrogação (?). Essa lista fornece um padrão diferente. |
FIELD_EXPORTABLE | Indexe para o quinto campo do item. Indica se o modelo especifica que a chave deve ser exportável. Se este campo contiver "True", a chave será exportável. Se esse campo contiver "False", a chave não será exportável. |
FIELD_NEEDS_SMIME_CAPABILITIES | Não há suporte para essa constante. |
Por exemplo, as expressões a seguir atribuem a OID de 1.3.6.1.5.5.7.3.2 ao primeiro campo do primeiro item e atribuem "Certificado do Navegador da Web" ao segundo campo do primeiro item (o valor da matriz de zero indexa o primeiro item).
rgAvailReqTypes(0, FIELD_OID) = "1.3.6.1.5.5.7.3.2"
rgAvailReqTypes(0, FIELD_FRIENDLYNAME) = "Web Browser Certificate"
O resultado dessas atribuições é que o usuário verá o certificado de navegador da Web de texto ao registrar e, se o usuário selecionar o Certificado do Navegador da Web, a solicitação de certificado conterá o OID 1.3.6.1.5.5.7.3.2.
O arquivo Certrqtp.inc também contém constantes que são usadas para os nomes de exibição dos modelos ou tipos de certificado. O exemplo a seguir mostra o formato.
' Strings for localization.
Const L_WebBrowserCert_Text="Web Browser Certificate"
Const L_EmailProtectionCert_Text="E-Mail Protection Certificate"
Const L_UserTemplateCert_Text="User Certificate"
Essas constantes são definidas em um bloco no arquivo Certrqtp.inc e esse agrupamento facilita a atribuição de um valor personalizado a cada uma delas. Isso é particularmente útil quando você localiza os nomes de exibição para versões internacionais das páginas da Web.
Por fim, o arquivo Certrqtp.inc contém uma variável que representa o número de modelos ou tipos de certificado na matriz rgAvailReqTypes. Em contraste com a dimensão m da matriz, defina o valor da variável nAvailReqTypes como o número real de modelos de certificado ou tipos que sua instalação usará; esse valor não deve ser maior que m+1. Embora declarado próximo à parte superior do arquivo Certrqtp.inc, nAvailReqTypes recebe um valor depois que a matriz rgAvailReqTypes é preenchida, tornando mais fácil ver quantos elementos são realmente usados pela matriz. O valor nAvailReqTypes é usado em uma iteração em outro lugar nas páginas de registro da Web, portanto, é importante que essa variável reflita com precisão o número de modelos de certificado ou tipos que você deseja exibir para o usuário.
Observe que simplesmente adicionar modelos e tipos de certificado ao arquivo Certrqtp.inc não garante que o usuário seja capaz de obter um certificado com essas características; a AC deve ser autorizada a emitir um certificado para o modelo ou tipo de certificado especificado.
As instalações podem criar seus próprios aplicativos ou páginas da Web para solicitar e receber um certificado. Os objetos ICEnroll4 e ICertRequest2 permitem que programadores ou scripters criem aplicativos de solicitação de certificado .
Para solicitar que um certificado seja emitido em um cartão inteligente, você pode usar o Controle de Registro de Cartão Inteligente. Para obter detalhes e código de exemplo, consulte ISCrdEnr.