Class ZCertStore

java.lang.Object
org.zeromq.ZCertStore

public class ZCertStore extends Object
To authenticate new clients using the ZeroMQ CURVE security mechanism, we have to check that the client's public key matches a key we know and accept. There are numerous ways to store accepted client public keys. The mechanism CZMQ implements is "certificates" (plain text files) held in a "certificate store" (a disk directory). This class works with such certificate stores, and lets you easily load them from disk, and check if a given client public key is known or not. The ZCert class does the work of managing a single certificate.

Those files need to be in ZMP-Format which is created by ZConfig

  • Field Details

  • Constructor Details

    • ZCertStore

      public ZCertStore(String location)
      Create a Certificate Store at that file system folder location
      Parameters:
      location -
    • ZCertStore

      public ZCertStore(String location, ZCertStore.Fingerprinter fingerprinter)
  • Method Details

    • traverseDirectory

      private boolean traverseDirectory(File root, ZCertStore.IFileVisitor visitor)
    • containsPublicKey

      public boolean containsPublicKey(byte[] publicKey)
      Check if a public key is in the certificate store.
      Parameters:
      publicKey - needs to be a 32 byte array representing the public key
    • containsPublicKey

      public boolean containsPublicKey(String publicKey)
      check if a z85-based public key is in the certificate store. This method will scan the folder for changes on every call
      Parameters:
      publicKey -
    • getMetadata

      public ZMetadata getMetadata(String publicKey)
    • loadFiles

      private void loadFiles()
    • getCertificatesCount

      int getCertificatesCount()
    • reloadIfNecessary

      boolean reloadIfNecessary()
    • checkForChanges

      boolean checkForChanges()
      Check if files in the certificate folders have been added or removed.
    • modified

      private boolean modified(byte[] fingerprint, File path)