Publishing or activation of content from author to public instances is authenticated using public-key cryptography. Public-key cryptography is a system that requires two separate keys: a public key to lock or encrypt the plain text request and a private key to unlock or decrypt the cyphertext request. Neither key can do both and neither is derivable from knowledge of the other. One is published and the other is kept private.

On receiving a publishing/activation request, a Magnolia public instance authenticates the author instance using a public key. The author instance generates the key automatically on first publishing/activation of content and transfers it to the public instance. You can generate new public keys any time on the author instance. A single public key is used for multiple public instances.

Configuration

The authentication mechanism requires no configuration. The public key is generated automatically on the first activation of content and transferred to the public instance. The configuration of activation is stored in the server :

Configuration with the Publishing module in use:

Node name

Value

 
server


 
activation


 
class

info.magnolia.publishing.manager.ActivationManagerAdapter

 
publicKey

 30819F300D06092A864886F70D01010105000381...

Configuration with the Activation module in use:

Node name

Value

 
server


 
activation


 
subscribers


 
class

 info.magnolia.module.activation.DefaultActivationManager

 
publicKey

 30819F300D06092A864886F70D01010105000381...

The key pair is also stored on the local file system. If you use the default Magnolia bundle, the location is configured in a magnolia.properties file.

# Location of the file containing both the private and the public keys used to verify authenticity of activation requests
# This file is generated if not present
magnolia.author.key.location=${magnolia.home}/WEB-INF/config/default/magnolia-activation-keypair.properties

Generating a new public key

You can create a new public key in the Publishing Tools app (shown in the screenshot below) or the older Activation Tools app, depending on which module you are using. Key lengths from 512 to 1024 bits are possible.

To generate a new public key:

  1. On the author instance, open the app in the TOOLS group:
  2. Click Generate new key. This generates a new public key and registers it automatically on the author instance.
  3. Copy the new key from the Current public key box.
  4. Sign into the public instances and open the Configuration app. 
  5. Paste they key to Configuration > /server/activation/publicKey .

Copy the newly generated public key to all public instances. It is not transferred automatically on activation as is the case with the initial key. You cannot activate thepublicKeynode to the public instance as at this point because a mismatch exists between the keys on author and public.

Troubleshooting

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels