ptolemy.actor.lib.security
Class SignatureSigner
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.security.SignatureActor
ptolemy.actor.lib.security.SignatureSigner
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class SignatureSigner
- extends SignatureActor
Sign the input data using a private key.
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 privateKey. See PrivateKeyReader
and SignatureActor
for possible values.
The provider and signatureAlgorithm parameters should
be set to the same value as the corresponding parameters in the
SignatureVerifier actor.
Each time fire() is called, the privateKey is used to create a
signature for each block of unsigned byte array data read from the
input port. The signed data is passed to a SignatureVerifier
actor on the signature port as an unsigned byte array.
The input data itself is passed to in clear text
on the output port.
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: SignatureSigner.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Christopher Hylands Brooks, Contributor: Rakesh Reddy
- See Also:
PrivateKeyReader
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
void |
fire()
Create a signature for the input data and send the signature
to the signature port. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
privateKey
public TypedIOPort privateKey
- The private key to be used by the SignatureVerifier actor
to verify the data on the output port.
The type of this input port is an ObjectToken containing
a java.security.PrivateKey.
signature
public TypedIOPort signature
- The signature of the data. The type of this output port
is unsigned byte array. The data is read in on the input
port and the signature is generated on this port. The
output port contains the data in clear text.
_privateKey
private java.security.PrivateKey _privateKey
SignatureSigner
public SignatureSigner(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Create a signature for the input data and send the signature
to the signature port. The output port contains the data
in clear text.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class SignatureActor
- Throws:
IllegalActionException
- If calling send(), super.fire()
throws it, or if there is a problem cryptographic configuration.