
SignatureActor |
ptolemy.actor.lib.security.SignatureActor |
A common base class for actors that use cryptographic signatures.
<p>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.
<p>The signature algorithms that maybe implemented are limited to the
signature algorithms that are implemented by providers following the
JCE specifications and installed on the machine being run. In case a
provider specific instance of an algorithm is needed, the provider may
also be specified in the <i>provider</i> parameter.
<p>The input and output are both arrays of unsigned bytes.
<p>In initialize(), this actor sets the value of the _signature member
to the results of calling java.security.Signature.getInstance() with
the values of the <i>signatureAlgorithm</i> and <i>provider</i>
parameters. Derived classes should have a fire() method that uses the
_signature member to process data appropriately.
In the fire() method of the derived class, super.fire() should be
called before accessing _signature so that _signature may be updated if the
attributes changed.
<p>This actor relies on the Java Cryptography Architecture (JCA) and Java
Cryptography Extension (JCE). See the
<a href="../../../../ptolemy/actor/lib/security/CryptographyActor.xml">ptolemy.actor.lib.security.CryptographyActor</a> documentation for
resources about JCA and JCE.
Author(s): Christopher Hylands Brooks, Contributor: Rakesh Reddy
Version:$Id: SignatureActor.doc.html,v 1.1 2006/02/22 18:41:22 mangal Exp $
Pt.Proposed Rating:Yellow (cxh)
Pt.Accepted Rating:Red (cxh)
input
This port takes in an unsigned byte array and processes the data.
output
This port sends out the processed data received from <i>input</i> in
the form of an unsigned byte array.
provider
Specify a provider for the given algorithm. Takes the algorithm name
as a string. The default value is "SystemDefault" which allows the
system chooses the provider based on the JCE architecture.
signatureAlgorithm
Specify the algorithm to be used to sign data. The algorithm is
specified as a string. The algorithms are limited to those
implemented by providers using the Java JCE which are found on the
system.
Depending on your JDK installation, possible values might
be SHA1WITHDSA or MD5WITHRSA.
The initial default is the first value returned by
java.security.Security.getAlgorithms("Signature").