MQRC_KEY_REPOSITORY_ERROR


//snippet
MQEnvironment.properties = GetConnectionProperties(); 
_queueManager = new MQQueueManager(QueueManager);  
//end of snippet
    private Hashtable GetConnectionProperties()
    {
        Hashtable properties = new Hashtable();
        properties.Add(MQC.USER_ID_PROPERTY, Environment.UserName);
        properties.Add(MQC.HOST_NAME_PROPERTY, MQHostname);
        properties.Add(MQC.PORT_PROPERTY, MQPortNumber);
        properties.Add(MQC.CHANNEL_PROPERTY, MqChannel);            
        properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);            
        if (_useSSL)
        {
            properties.Add(MQC.SSL_CIPHER_SUITE_PROPERTY, CipherSuite);
            properties.Add(MQC.SSL_PEER_NAME_PROPERTY, SslPeerName);              
            properties.Add(MQC.SSL_CIPHER_SPEC_PROPERTY, CipherSpec);
            properties.Add(MQC.SSL_FIPS_REQUIRED_PROPERTY, FipsRequired);
            properties.Add(MQC.SSL_CERT_STORE_PROPERTY, SslKeyRepository);        
        }
        return properties;
    }
throws {"MQRC_KEY_REPOSITORY_ERROR"}

sslkeyRepository只是一个目录位置,其中包含.tab .arm .crl .crt .jks .kdb .rdb .sth文件

你知道我在这里错过了什么吗?

SslKeyRepository必须指向.kdb文件,而不是像您所做的那样指向目录。例如,客户端应用程序将证书存储属性编码为:

properties.Add(MQC.SSL_CERT_STORE_PROPERTY, "C:\MyApp\SSL\client_certstore"); 

还请注意,我没有将文件扩展名后缀添加到keystore文件名。MQ客户机将自动添加"。kdb"扩展。

您还需要在应用程序中只设置SSL_CIPHER_SUITE_PROPERTY。您不需要设置SSL_CIPHER_SPEC_PROPERTY。

相关内容

  • 没有找到相关文章

最新更新