Class CertsMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.acemq.amqp.security.dev.CertsMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="certs", requiresProject=false, threadSafe=true) public class CertsMojo extends org.apache.maven.plugin.AbstractMojo
Writes throwaway TLS certificates for local development.
 mvn org.acemq:acemq-security-dev:certs -Dbroker=localhost -Dout=./certs
 

Produces a certificate authority, a broker certificate, a client certificate, the two keystores Security.fromKeystore(directory) reads, and the matching rabbitmq.conf. Drop the configuration into your compose file and TLS works locally in one command, which is the part that otherwise gets postponed for months.

Everything it writes is marked and short-lived, and the goal refuses to run when ACEMQ_ENV says production. None of that makes a stolen development key harmless; it makes one that escapes fail loudly instead of quietly protecting nothing.

  • Field Summary

    Fields inherited from interface org.apache.maven.plugin.Mojo

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     

    Methods inherited from class org.apache.maven.plugin.AbstractMojo

    getLog, getPluginContext, setLog, setPluginContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CertsMojo

      public CertsMojo()
  • Method Details

    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
      org.apache.maven.plugin.MojoFailureException