Autenticação cliente-servidor no Eclipse Milo

É possível no Eclipse Milo que um cliente se conecte a um servidor com estes parâmetros de autenticação: "certificado + chave privada"? E também com os parâmetros "Política de Segurança" e "Modo de Segurança da Mensagem"?

(como no cliente UAExpert: http://documentation.unified-automation.com/uaexpert/1.4.0/html/connect.html )

Se sim, então como?


Tenho à minha disposição:

  • uma chave privada no formato de arquivo ".perm";
  • um certificado no formato de arquivo ".der";
  • uma autoridade de certificação do servidor no formato de arquivo ".der";
  • e a CA do servidor com 4096 bits no formato de arquivo ".der";
Resposta 1

sim, atualmente é possível, embora não seja "fácil", como usar um nome de usuário / senha no momento.

O SDK do cliente expõe uma interface chamada à IdentityProviderqual é delegada enquanto o cliente está se conectando e recebe o nó de extremidade e o servidor nonce. Retorna uma tupla 2 contendo a UserIdentityTokene a SignatureData.

Você precisaria implementar essa interface para o X509IdentityTokencaso e retornar seu certificado (no X509IdentityToken), bem como a prova de que possui a chave (no SignatureData).

Depois de ter isso IdentityProvider, basta dizer ao cliente para usá-lo enquanto você o configura chamando setIdentityProviderao criar o OpcUaClientConfigobjeto.

Como isso é um pouco oneroso e o objetivo de um SDK é aliviar o fardo do usuário, também tornarei isso um recurso para o Milo. Se você não está disposto a implementá-lo, posso obtê-lo esta semana.

Resposta: 2

Eu configurei um cluster de 2 nós do Hadoop 2.3.0. Está funcionando bem e posso executar com êxito o exemplo distributedshell-2.2.0.jar. Mas quando tento executar qualquer trabalho de mapreduce, recebo erro. Eu configurei o MapRed ....

Diga, "execute myApp.jar com cpu = 800 e memória = 1024". Eu faço programação em java há muitos anos e é um constrangimento fazer essa pergunta. Eu nem sei se isso é possível ou não. E ...

Estou usando logs de chamadas do Android no meu aplicativo e gostaria de determinar se a última chamada foi de entrada ou de saída. Isto é o que eu tentei até agora, no entanto, o tipo int me dá um erro ...

Eu escolhi pegar o arquivo de propriedades para personalizar algumas configurações. Eu uso o código a seguir para disponibilizar um Objeto de Propriedades em uma classe Propriedades defaultProps = new Properties (); experimentar { ...