Configurando os Armazenamentos de Chave e Armazenamentos de Confiança

Dois keystores estão incluídos na amostra, server.keystore e client.keystore, esses keystores são importados com o projeto AddressBook; pode-se deixá-los onde estão ou exportá-los a um local mais conveniente. Você deve configurar seu intermediário para utilizar esses armazenamentos de chave; o provedor e o consumidor são implementados para diferentes grupos de execução e pode configurar um armazenamento de chave e armazenamento de chave diferente para cada grupo de execução. Visualizar o conteúdo desses armazenamentos de chave ajuda a entender as duas ligações que devem ser criadas para configurar o WS-Security. Para visualizar o conteúdo, emita os comandos a seguir no diretório que contém os keystores:

keytool -list -keystore server.keystore -storepass server -v
keytool -list -keystore client.keystore -storepass client -v

Os armazenamentos de chave podem conter dois tipos de entradas: keyEntrys e trustedCertificateEntries. Se um armazenamento de chave for utilizado para conter os certificados confiáveis, ele geralmente é conhecido como um armazenamento de confiança. Seu intermediário pode fazer referência a um armazenamento de chave e um armazenamento de confiança por grupo de execução. Se seu intermediário estiver criptografando ou decriptografando, ele utilizará as entradas em seu armazenamento de chave, se estiver verificando uma assinatura ou executando a autenticação X.509 que utilize as entradas em seu armazenamento de confiança. Essa amostra utiliza o mesmo armazenamento de chave para o armazenamento de chave e o armazenamento de confiança.

  1. Para descobrir qual armazenamento de confiança e armazenamento de chave seu intermediário pode utilizar, emita os seguintes comandos:

    mqsireportproperties MB8BROKER -o ComIbmJVMManager -a -e AddressSampleProvider
    mqsireportproperties MB8BROKER -o ComIbmJVMManager -a -e AddressSampleConsumer

    As propriedades ficarão em branco a menos que tenham configurado quaisquer dos valores relacionados aos armazenamentos de chave e armazenamentos de confiança. Para configurar um armazenamento de chave e armazenamento de confiança por grupo de execução, os seis valores a seguir devem ser configurados: keystoreType, keyStoreFile, keystorePass, truststoreType, truststoreFile e truststorePass.

  2. Para configurar o keystore e o truststore do provedor, use os comandos a seguir para alterar o local para o local completo (não apenas server.keystore e client.keystore) do keystore, pode ser útil exportar os keystores da área de trabalho para um local como C:\keystores:

    mqsichangeproperties MB8BROKER -e AddressSampleProvider -o ComIbmJVMManager -n keystoreFile -v [Location of
    server keystore]
    
    mqsichangeproperties MB8BROKER -e AddressSampleProvider -o ComIbmJVMManager -n keystoreType -v JKS
    
    mqsichangeproperties MB8BROKER -e AddressSampleProvider -o ComIbmJVMManager -n keystorePass -v
    addressBookProvider::password
    
    mqsichangeproperties MB8BROKER -e AddressSampleProvider -o ComIbmJVMManager -n truststoreFile -v [Location of
    server keystore]
    
    mqsichangeproperties MB8BROKER -e AddressSampleProvider -o ComIbmJVMManager -n truststoreType -v JKS
    
    mqsichangeproperties MB8BROKER -e AddressSampleProvider -o ComIbmJVMManager -n truststorePass -v
    addressBookProvider::password
    

    Utilize os seguintes comandos para configurar o armazenamento de chave e o armazenamento de confiança do consumidor:

    mqsichangeproperties MB8BROKER -e AddressSampleConsumer -o ComIbmJVMManager -n keystoreFile -v [Location of
    client keystore]
    
    mqsichangeproperties MB8BROKER -e AddressSampleConsumer -o ComIbmJVMManager -n keystoreType -v JKS
    
    mqsichangeproperties MB8BROKER -e AddressSampleConsumer -o ComIbmJVMManager -n keystorePass -v
    addressBookConsumer::password
    
    mqsichangeproperties MB8BROKER -e AddressSampleConsumer -o ComIbmJVMManager -n truststoreFile -v [Location of
    client keystore]
    
    mqsichangeproperties MB8BROKER -e AddressSampleConsumer -o ComIbmJVMManager -n truststoreType -v JKS
    
    mqsichangeproperties MB8BROKER -e AddressSampleConsumer -o ComIbmJVMManager -n truststorePass -v
    addressBookConsumer::password
    
  3. Os keystores geralmente têm senhas; a senha para server.keystore é "server" e a senha para client.keystore é "client". Os comandos anteriores configuraram referências para onde as senhas estão armazenadas. Como o mesmo armazenamento de chave está sendo utilizado para o armazenamento de chave e o armazenamento de confiança, apenas duas referências são necessárias, uma para o armazenamento de chave para o consumidor e uma para o armazenamento de chave para o provedor. Utilize os seguintes comandos para configurar o intermediário:

    mqsistop MB8BROKER

    Configure as senhas:

    mqsisetdbparms MB8BROKER -n addressBookProvider::password -u temp -p server
    
    mqsisetdbparms MB8BROKER -n addressBookConsumer::password -u temp -p client

    A opção -u (user) não é utilizada. Reinicie o intermediário:

    mqsistart MB8BROKER
  4. O intermediário agora possui acesso aos armazenamentos de chave. Para verificar que os comandos acima foram executados corretamente é possível relatar as propriedades dos dois grupos de execução novamente; a saída parece semelhante à seguinte saída:

    Para o provedor:

    ComIbmJVMManager
      uuid='ComIbmJVMManager'
      userTraceLevel='none'
      traceLevel='none'
      userTraceFilter='none'
      traceFilter='none'
      jvmVerboseOption='none'
      jvmDisableClassGC='false'
      jvmNativeStackSize='-1'
      jvmMinHeapSize='33554432'
      jvmMaxHeapSize='-1'
      jvmDebugPort='0'
      keystoreType='JKS'
      keystoreFile='C:\keystores\server.keystore'
      keystorePass='addressBookProvider::password'
      truststoreType='JKS'
      truststoreFile='C:\keystores\server.keystore'
      truststorePass='addressBookProvider::password'
    
    BIP8071I: Conclusão do comando bem-sucedido.
    

    Para o consumidor:

    ComIbmJVMManager
      uuid='ComIbmJVMManager'
      userTraceLevel='none'
      traceLevel='none'
      userTraceFilter='none'
      traceFilter='none'
      jvmVerboseOption='none'
      jvmDisableClassGC='false'
      jvmNativeStackSize='-1'
      jvmMinHeapSize='33554432'
      jvmMaxHeapSize='-1'
      jvmDebugPort='0'
      keystoreType='JKS'
      keystoreFile='C:\keystores\client.keystore'
      keystorePass='addressBookConsumer::password'
      truststoreType='JKS'
      truststoreFile='C:\keystores\client.keystore'
      truststorePass='addressBookConsumer::password'
    
    BIP8071I: Conclusão do comando bem-sucedido.
    

Voltar para Estendendo a Amostra para Incluir WS-Security

Voltar para Estendendo a Amostra Address Book

Voltar para o Início da Amostra