Conjunto de regras de implementação Java via AD Enterprise CA

6

Meu objetivo é obter um conjunto de regras de implantação Java em vigor na minha organização, mas não desejo pagar a autoridade de certificação de terceiros por um certificado de assinatura de código quando temos uma autoridade de certificação funcionando no Active Directory. Eu segui o que eu acho que é o procedimento correto para conseguir isso, no entanto, quando eu finalmente ir para executar qualquer applet Java recebo o seguinte erro:

Can not verify self-signed Deployment Rule Set jar

Os passos que eu segui são:

  1. Exportou nosso certificado de CA raiz
  2. Certificado raiz importado em cacerts no caminho de instalação do JRE
  3. Certificado raiz importado em um keystore pessoal
  4. Gerou um CSR com keytool para um novo certificado com keystore pessoal
  5. CSR enviado para a CA corporativa usando certreq, com o modelo "Code Signing"
  6. Importou esse certificado para o keystore pessoal
  7. Criado um conjunto de regras de implantação muito básico e compilado em um jar
  8. Assinou o jar com o certificado no keystore pessoal da etapa 6
  9. Copiado o frasco assinado em \ Windows \ Sun \ Java \ Deployment \

As etapas acima foram concluídas sem erros - nada sobre cadeias inválidas de certificados ou algo semelhante. Eu posso ver o certificado de CA raiz no painel de controle Java e quando clico no link Conjunto de regras de implantação no painel de controle e vejo seu certificado, vejo o certificado da etapa 6 e sua CA pai, ambos com datas de vencimento futuras e corrigir informações, tanto quanto eu posso dizer. Mas ainda recebo o erro de verificação ao executar qualquer applet

Então - simplesmente não é possível fazer isso, e nós temos que pagar por um certificado? Ou estou (espero) fazendo algo incorretamente? Se alguém tiver alguma ideia, será muito bem-vinda, obrigado!

    
por Julius 25.10.2013 / 19:16

5 respostas

2

Acontece que isso acontece apenas no Chrome e no Firefox, mas não no IE. Eu não testei com o Opera ou o Safari. O gerenciador de certificados do Chrome pega o gerenciador de certificados do Windows, que já inclui o certificado da CA corporativa, e adicionar esse certificado ao gerenciador de certificados do Firefox não parece ter nenhum efeito. O conjunto de regras de implantação funciona perfeitamente no IE.

Eu só uso o Chrome porque estou mais confortável com suas ferramentas de desenvolvimento do que com o IE - nossos usuários usam o IE e se você estiver usando uma CA corporativa do Windows e se conectar a sistemas legados antigos com uma combinação de Java e ActiveX também. Vou marcar isso como a resposta, já que mudar para o IE funciona para mim, mas espero que, no futuro, alguma solução possa ser encontrada para os outros navegadores.

    
por 19.11.2013 / 18:43
4

Correção encontrada.

Tivemos exatamente o mesmo problema. Eu tentei tudo mencionado acima e nada funciona. O Chrome não parece estar usando o Gerenciador de certificados do Windows corretamente ou pelo menos para verificar a assinatura de nossa CA corporativa. Eu tentei adicionar nosso certificado de CA raiz e sempre nosso certificado CA subordinado a todos os keystores do sistema sem sucesso.

O problema é que o Google Chrome está analisando apenas os keystores de usuários, não os keystores do sistema por algum motivo estranho. Depois que adicionei o certificado RootCA à CA do SINALIZADOR DE USUÁRIO, funcionou.

Não funciona: %JAVA_HOME%\lib\security\cacerts

Funcionamento: %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security\trusted.cacerts

O Google ou o JAVA devem corrigir este problema.

Agora é hora de fazer o script da injeção para nossos usuários.

    
por 25.07.2014 / 18:21
3

Meu problema é que a nova atualização do Java não removeu o DeploymentRuleSet.jar antigo, que era usado apenas por algumas versões anteriores e que, no meu caso, reside em:

C:\Windows\Sun\Java\Deployment\DeploymentRuleSet.jar

O arquivo nesta pasta não depende de onde a pasta de instalação do Java está, e mesmo depois que o Oracle removeu o nome Sun de Java (e, portanto, alterou alguns locais de arquivos em versões mais recentes do Java), o arquivo acima permaneceu em o sistema, e parecia que novas versões do Java continuavam a usá-lo.

Depois que a Oracle removeu a configuração de segurança média dos miniaplicativos Java, tudo relacionado ao Java parou para funcionar, apenas relatou que "Não é possível verificar o conjunto de regras jar" e nenhuma solução fornecida na Internet ajudou.

Eu encontrei esta pasta examinando o registro da string Java para limpar tudo relacionado ao Java do sistema mu e fazer uma instalação limpa, e descobriu-se que era o problema. Por que as versões mais recentes do Java continuaram a usar este arquivo?

Desde que eu removi este arquivo jar do sistema (em meus 3 computadores foi o mesmo problema no Windows 7, 32 bits e 64 bits), o Java funciona sem problemas, mas eu não encontrei esta solução em qualquer lugar na Internet. / p>     

por 17.07.2015 / 15:45
2

O problema é que o certificado não está no arquivo Java cacerts. O problema é explicado no documento My Oracle Support "Como lidar com certificados de autoridades de certificação não confiáveis (Doc ID 1604086.1)", o avisar o tutorial de assinatura de código ou uma postagem no blog autorretrato assinado para uma comunidade conhecida .

Essencialmente, você precisa importar o certificado da CA nos arquivos cacerts de suas máquinas clientes. Acabei executando um comando como este após cada instalação do JRE antes de copiar o DeploymentRuleSet.jar:

%JAVA_HOME%\bin\keytool.exe -importcert -keystore %JAVA_HOME%\lib\security\cacerts -storepass changeit -alias YOURCA -noprompt -file \path\to\root\certificate.cer

Você precisará emitir esse comando para a área de instalação correta:

  • C: \ Arquivos de programas \ Java \ jre # - Para a maioria dos usuários, isso será usado por navegadores que iniciem RIAs.
  • C: \ Arquivos de programas \ Java \ jdk1. #. 0 _ # \ jre - Para sistemas de desenvolvimento criando software e executando ferramentas do desenvolvedor.
por 06.12.2013 / 19:01
1

Eu lutei muito com o mesmo problema e encontrei uma solução. A solução foi importar meu certificado no armazenamento de certificados no console Java sob o tipo de certificado "Signer CA". Em seguida, consegui executar meus applets autoassinados também no Firefox e no Chrome.

    
por 31.03.2014 / 11:48