我正在尝试建立一个支持SSL的嵌入式ActiveMQ代理.
我不断得到相同的错误信息:
ActiveMQ Transport Server: ssl://localhost:61613, called closeSocket()
2012-05-04 12:53:11,961 [ActiveMQ Transport Server: ssl://localhost:61613] ERROR broker.TransportConnector - Could not accept connection : No available certificate or key corresponds to the SSL cipher suites which are enabled.
Run Code Online (Sandbox Code Playgroud)
对此进行搜索可以指示生成密钥库和信任库时可能出现的故障.
我试图使用这些指南生成密钥库和信任库但没有成功. http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore
http://activemq.apache.org/how-do-i-use-ssl.html
我试图在grails中设置它,并在conf/spring/resources.groovy中定义embeddedActiveMq,如下所示:
SpringSslContext sslContext = new SpringSslContext()
FileSystemResource keyStoreResource = new FileSystemResource("/path/to/keyStore")
FileSystemResource trustStoreResource = new FileSystemResource("/path/to/trustStore")
sslContext.setKeyStore(keyStoreResource)
sslContext.setKeyStorePassword("password")
sslContext.setTrustStore(trustStoreResource)
sslContext.setTrustStorePassword("trustword")
SslBrokerService broker = new SslBrokerService()
broker.setBrokerName("broker")
broker.setPersistent(true)
broker.setUseJmx(true)
broker.setSslContext(sslContext)
TransportConnector connector = new TransportConnector
connector.setUri(new("ssl://localhost:61613"))
broker.addConnector(connector)
broker.start()
Run Code Online (Sandbox Code Playgroud)
我无法获得任何其他有价值的调试信息然后使用
System.setProperty("javax.net.debug", "ssl,handshake,data,trustmanager,keymanager") …Run Code Online (Sandbox Code Playgroud) 是否有某种方法可以获取已部署的 mule 应用程序的基本 mule 应用程序名称?
到目前为止,我发现的唯一两个选择是:
muleContext.getConfiguration().getId() //which gives me some not so humanly-readable id of some sort.
Run Code Online (Sandbox Code Playgroud)
和
muleEvent.getFlowConstruct().getName() //gives me that flow name from where this was called.
Run Code Online (Sandbox Code Playgroud)
每个应用程序在部署时都在他们自己的应用程序目录中,是否不可能从 muleContext 中获取这个或其他类似的可分辨名称?
亲切的问候
假设我想对同一个登录请求使用两个身份验证提供程序。
grails.plugins.springsecurity.providerNames = [
'customAuthenticationProvider',
'ldapAuthProvider',
'anonymousAuthenticationProvider',
'rememberMeAuthenticationProvider']
Run Code Online (Sandbox Code Playgroud)
这种情况是我首先通过我的 customAuthenticationProvider 进行身份验证,它授予/拒绝访问权限。完成此操作后,它会继续检查是否能够向 LDAP 服务器验证用户身份,而后者又会授予/拒绝。
这是 Spring Security 的运行方式,例如上面的 providerNames 列表吗?或者,如果第一个提供者访问/拒绝并相应地采取行动,它会授予访问权限。
是否需要通过所有身份验证尝试才能获得访问权限?