org.zeromq.transform

CryptoTransform

abstract class CryptoTransform extends MessageTransform

Cryptographic security transform. Generates a secret key for each message, encrypts the entire payload symmetrically and prepends a cryptographic signature and exchange data to recover the secret key to an outgoing message. Strips the signature and key exchange data from incoming messages, ensures that the signature is valid, recovers the secret key and decrypts the entire payload.

Linear Supertypes
MessageTransform, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CryptoTransform
  2. MessageTransform
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CryptoTransform(random: SecureRandom)

    random

    Secure random number generator

Abstract Value Members

  1. abstract def localAgreementKey(identity: Array[Byte]): PrivateKey

    Retrieve the local private agreement key.

    Retrieve the local private agreement key.

    identity

    Local socket identity

    Attributes
    protected[this]
  2. abstract def localSignatureKey(identity: Array[Byte]): PrivateKey

    Retrieve the local private signature key.

    Retrieve the local private signature key.

    identity

    Local socket identity

    Attributes
    protected[this]
  3. abstract def remoteAgreementKey(path: List[Array[Byte]]): PublicKey

    Retrieve the remote public agreement key for a message recipient.

    Retrieve the remote public agreement key for a message recipient.

    path

    The routing information from an outgoing message

    returns

    A public key usable with the configured agreement algorithm

    Attributes
    protected[this]
  4. abstract def remoteSignatureKey(path: List[Array[Byte]]): PublicKey

    Retrieve the remote public signature key for a message originator.

    Retrieve the remote public signature key for a message originator.

    path

    The routing information from an incoming message

    returns

    A public key usable with the configured signature algorithm

    Attributes
    protected[this]

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. val agreementAlgorithm: String

    The key agreement algorithm to use.

  7. val agreementKeySize: Int

    The bit length for ephemeral agreement keys.

  8. val agreementKeyType: String

    The type of ephemeral keys to use for the agreement.

  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. val cipherAlgorithm: String

    The symmetric cipher algorithm to use.

  11. val cipherMode: String

    The operation mode and padding scheme to use with the symmetric cipher.

  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  22. val random: SecureRandom

    Secure random number generator

  23. val signatureAlgorithm: String

    The signature algorithm to use.

  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  25. def toString(): String

    Definition Classes
    AnyRef → Any
  26. def transformIncoming(id: Array[Byte], message: List[Array[Byte]], path: List[Array[Byte]]): (List[Array[Byte]], List[Array[Byte]])

    Transform an incoming message.

    Transform an incoming message.

    message

    Original message

    path

    Original routing information

    returns

    Transformed message and routing information

    Definition Classes
    CryptoTransformMessageTransform
  27. def transformOutgoing(id: Array[Byte], message: List[Array[Byte]], path: List[Array[Byte]]): (List[Array[Byte]], List[Array[Byte]])

    Transform an outgoing message.

    Transform an outgoing message.

    message

    Original message

    path

    Original routing information

    returns

    Transformed message and routing information

    Definition Classes
    CryptoTransformMessageTransform
  28. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from MessageTransform

Inherited from AnyRef

Inherited from Any

Ungrouped