Class WSSDummyMessageCryptoImpl

java.lang.Object
org.apache.pulsar.websocket.service.WSSDummyMessageCryptoImpl
All Implemented Interfaces:
org.apache.pulsar.client.api.MessageCrypto<org.apache.pulsar.common.api.proto.MessageMetadata,org.apache.pulsar.common.api.proto.MessageMetadata>

public class WSSDummyMessageCryptoImpl extends Object implements org.apache.pulsar.client.api.MessageCrypto<org.apache.pulsar.common.api.proto.MessageMetadata,org.apache.pulsar.common.api.proto.MessageMetadata>
This class is used in scenarios where the payload of the message has been encrypted and the producer does not need to encrypt it again. It discards payload encryption and only relies metadataModifierForSend to set the encryption info into the message metadata.
  • Field Details

  • Constructor Details

    • WSSDummyMessageCryptoImpl

      public WSSDummyMessageCryptoImpl(Consumer<org.apache.pulsar.common.api.proto.MessageMetadata> metadataModifierForSend)
  • Method Details

    • addPublicKeyCipher

      public void addPublicKeyCipher(Set keyNames, org.apache.pulsar.client.api.CryptoKeyReader keyReader) throws org.apache.pulsar.client.api.PulsarClientException.CryptoException
      Specified by:
      addPublicKeyCipher in interface org.apache.pulsar.client.api.MessageCrypto<org.apache.pulsar.common.api.proto.MessageMetadata,org.apache.pulsar.common.api.proto.MessageMetadata>
      Throws:
      org.apache.pulsar.client.api.PulsarClientException.CryptoException
    • removeKeyCipher

      public boolean removeKeyCipher(String keyName)
      Specified by:
      removeKeyCipher in interface org.apache.pulsar.client.api.MessageCrypto<org.apache.pulsar.common.api.proto.MessageMetadata,org.apache.pulsar.common.api.proto.MessageMetadata>
    • getMaxOutputSize

      public int getMaxOutputSize(int inputLen)
      Specified by:
      getMaxOutputSize in interface org.apache.pulsar.client.api.MessageCrypto<org.apache.pulsar.common.api.proto.MessageMetadata,org.apache.pulsar.common.api.proto.MessageMetadata>
    • decrypt

      public boolean decrypt(Supplier<org.apache.pulsar.common.api.proto.MessageMetadata> messageMetadataSupplier, ByteBuffer payload, ByteBuffer outBuffer, org.apache.pulsar.client.api.CryptoKeyReader keyReader)
      Specified by:
      decrypt in interface org.apache.pulsar.client.api.MessageCrypto<org.apache.pulsar.common.api.proto.MessageMetadata,org.apache.pulsar.common.api.proto.MessageMetadata>
    • encrypt

      public void encrypt(Set<String> encKeys, org.apache.pulsar.client.api.CryptoKeyReader keyReader, Supplier<org.apache.pulsar.common.api.proto.MessageMetadata> messageMetadataSupplier, ByteBuffer payload, ByteBuffer outBuffer) throws org.apache.pulsar.client.api.PulsarClientException
      Specified by:
      encrypt in interface org.apache.pulsar.client.api.MessageCrypto<org.apache.pulsar.common.api.proto.MessageMetadata,org.apache.pulsar.common.api.proto.MessageMetadata>
      Throws:
      org.apache.pulsar.client.api.PulsarClientException