Capítulo 6. Guia do Administrador

Este Guia do Administrador descreve as formas de personalizar o Kleopatra que não estão disponíveis através da GUI, mas apenas através de ficheiros de configuração.

Assume-se que o leitor está familiarizado com a tecnologia usada para a configuração das aplicações do KDE, incluindo o formato, a localização no sistema de ficheiros e o encadeamento dos ficheiros de configuração do KDE, assim como a plataforma KIOSK.

Personalização do Assistente de Criação de Certificados

Personalizar os campos DN

O Kleopatra permite-lhe personalizar os campos que o utilizador tem permissão para introduzir, de forma a criar o seu certificado.

Crie um grupo chamado CertificateCreationWizard no kleopatrarc do sistema. Se você quiser uma ordem personalizada dos atributos ou se desejar que apareçam apenas alguns itens, crie uma chave chamada DNAttributeOrder. O argumento é um ou mais itens da lista CN,SN,GN,L,T,OU,O,PC,C,SP,DC,BC,EMAIL Se quiser inicializar os campos com um dado valor, escreva algo do tipo Atributo=valor. Se quiser que o atributo seja tratado como obrigatório, adicione um ponto de exclamação (isto é CN!,L,OU,O!,C!,EMAIL! que é, de facto, a configuração por omissão).

Se usar o modificador do modo do KIOSK $e, poderá obter os valores das variáveis de ambiente, ou então a partir de um programa avaliado. Se quiser proibir a edição do campo respectivo, para além disso, use o modificador $i. Se quiser proibir o uso do botão Inserir o Meu Endereço, configure o ShowSetWhoAmI como 'false'.

Dica

Devido à natureza da plataforma KIOSK do KDE, se usar a opção de inalterável ($i), irá impossibilitar ao utilizador a sobreposição da opção. Este é o comportamento pretendido. O $i e o $e podem ser usados com todas as chaves de configuração das aplicações do KDE, da mesma forma.

O seguinte exemplo representa as personalizações possíveis:

[CertificateCreationWizard] 
;Proibir a cópia de dados pessoais do livro de endereços, não permitir sobreposições locais
ShowSetWhoAmI[$i]=false

;configurar o nome do utilizador igual a $USER
CN[$e]=$USER

;configura o nome da empresa como sendo "A Minha Empresa", proibindo as alterações
O[$i]=A Minha Empresa

;configura o nome do departamento como sendo um valor devolvido por um programa
OU[$ei]=$(devolver_depart_pelo_ip)

; configura o país como PT, mas permitindo alterações pelo utilizador
C=PT

Restringir os Tipos de Chaves que um Utilizador Poderá Criar

O Kleopatra também lhe permite restringir o tipo de certificados que um dado utilizador poderá criar. Lembre-se, contudo, que uma forma simples de dar a volta a estas restrições é criar um certificado pela linha de comandos.

Algoritmos de Chave Pública

Para restringir o algoritmo de chave pública a usar, adicione a variável de configuração PGPKeyType (e CMSKeyType, mas só é suportado o RSA para o CMS, de qualquer forma), na secção CertificateCreationWizard do ficheiro kleopatrarc.

Os valores permitidos como RSA para as chaves RSA, DSA para as chaves DSA (apenas de assinatura), e DSA+ELG para uma chave DSA (apenas de assinatura) com uma sub-chave ElGamal para a encriptação.

O valor por omissão é lido do GpgConf ou então é igual a RSA, caso o GpgConf não devolva qualquer valor.

Tamanho da Chave Pública

Para restringir os tamanhos de chaves para um algoritmo público, adicione a variável de configuração <ALG>KeySizes (onde o ALG poderá ser RSA, DSA ou ELG) na secção CertificateCreationWizard do ficheiro kleopatrarc, contendo uma lista de tamanhos de chaves separadas por vírgulas (em 'bits'). Poderá indicar um valor por omissão se anteceder o tamanho da chave com um hífen (-).

RSAKeySizes = 1536,-2048,3072
            

O valor acima iria restringir os tamanhos permitidos para as chaves RSA a 1536, 2048 e 3072, sendo o 2048 o valor por omissão.

Para além dos tamanhos propriamente ditos, poderá indicar algumas legendas para cada um dos tamanhos. Basta definir a variável ALGKeySizeLabels como uma lista de legendas separadas por vírgulas.

RSAKeySizeLabels = fraca,normal,forte
            

O valor acima, em conjunto com o exemplo anterior, iria imprimir algo do género na selecção:

fraca (1536 bits)
              normal (2048 bits)
              forte (3072 bits)
            

Os valores por omissão serão os seguintes:

RSAKeySizes = 1536,-2048,3072,4096
              RSAKeySizeLabels =
              DSAKeySizes = -1024,2048
              DSAKeySizeLabels = v1,v2
              ELGKeySizes = 1536,-2048,3072,4096