Secure Access Point
RabbitMQ secure access points support "PLAIN" and "AMQPLAIN" authorization mechanisms.
1. Access control
The RabbitMQ "PLAIN" and "AMQPLAIN" authorization mechanisms require the creation of users to obtain access to the corresponding virtual host.
2. Access steps
(1) Create a user (Cluster Management->Users->New User)
(2) Run the demo
Client key parameter settings
Configuration of client key parameters for "PLAIN" and "AMQPLAIN" authorization mechanisms
String host = "192.168.0.0"; //secure access point ip Integer port = 5672; //secure access point port String username = "xxx"; //username of the cluster management user list String password = "xxx"; String vhost = "/"; ConnectionFactory connectionFactory = new ConnectionFactory(); connectionFactory.setHost(host); connectionFactory.setPort(port); connectionFactory.setUsername(username); connectionFactory.setPassword(password); connectionFactory.setVirtualHost(vhost);
SSL Endpoint
RabbitMQ secure access points support "EXTERNAL" authorization mechanism.
1. Access Control
None
2. Access steps
(1) Download the SSL certificate (Instance Overview->Export Service->Download SSL File)
(2) Run the demo
Client key parameter settings
Configuration of client key parameters for "EXTERNAL" authorization mechanisms
String host = "192.168.0.0"; //SSL access point ip
int port = 5671; //SSL access point port
//The following 2 SSL files can be used to obtain the installation package through the console. For specific obtaining methods, see the second section of 2.2.1 Access Steps.
String ksFile = "D:\\tmp\\ssl\\client_rabbitmq_key.p12";
String tksFile = "D:\\tmp\\ssl\\truststore";
String vhost = "/";
char[] keyPassphrase = "W3zT_98Zz9Io".toCharArray();
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(new FileInputStream(ksFile), keyPassphrase);
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, keyPassphrase);
char[] trustPassphrase = null;
trustPassphrase = "W3zT_98Zz9Io".toCharArray();
KeyStore tks = KeyStore.getInstance("JKS");
tks.load(new FileInputStream(tksFile), trustPassphrase);
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
tmf.init(tks);
SSLContext c = SSLContext.getInstance("tlsv1.2");
c.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setHost(host);
connectionFactory.setPort(port);
connectionFactory.setVirtualHost(vhost);
connectionFactory.setSaslConfig(DefaultSaslConfig.EXTERNAL);
connectionFactory.useSslProtocol(c);