Class SignatureVerifier

  • All Implemented Interfaces:
    java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

    public class SignatureVerifier
    extends SignatureActor
    Verify the signature of the input data.

    In cryptography, digital signatures can be used to verify that the data was not modified in transit. However, the data itself is passed in clear text.

    The provider and signatureAlgorithm parameters should be set to the values used to generate the publicKey. See PublicKeyReader and SignatureActor for possible values.

    The provider and signatureAlgorithm parameters should be set to the same value as the corresponding parameter in the SignatureSigner actor.

    This actor reads a KeyToken public key from the publicKey port and then reads unsigned byte arrays from the signature port and verifies the signature of each unsigned byte array that appears on the input port. If the signature is valid, then the unsigned byte array data on the input port is passed to the output port. If the signature is not valid, then an exception is thrown.

    This actor relies on the Java Cryptography Architecture (JCA) and Java Cryptography Extension (JCE). See the CryptographyActor documentation for resources about JCA and JCE.

    Since:
    Ptolemy II 4.0
    Version:
    $Id$
    Author:
    Christopher Hylands Brooks, Contributor: Rakesh Reddy
    See Also:
    PublicKeyReader
    Pt.AcceptedRating:
    Red (cxh)
    Pt.ProposedRating:
    Yellow (cxh)
    • Field Detail

      • signature

        public TypedIOPort signature
        The signature of the data. The type of this input port is unsigned byte array.
      • publicKey

        public TypedIOPort publicKey
        The public key that is used to verify the signature. This port receives the public key to be used from the The type of this input port is an KeyToken containing a java.security.PublicKey.
    • Method Detail

      • fire

        public void fire()
                  throws IllegalActionException
        Read in the publicKey, input and signature tokens, verify the signature and write the input data on the output port.
        Specified by:
        fire in interface Executable
        Overrides:
        fire in class SignatureActor
        Throws:
        IllegalActionException - If thrown by a base class, if there is a problem with the cryptographic configuration or if the signature does not properly verify.