|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Source
ptolemy.actor.lib.security.SecretKey
public class SecretKey
Create a secret key and send it on the output.
The secret key is a symmetric key can be used by the SymmetricEncryption and SymmetricDecryption actors.
See SymmetricEncryption for a
description of symmetric vs. asymmetric algorithms.
This key should be not be visible to users as the security of the encrypted message relies on the secrecy of this key.
This actor relies on the Java Cryptography Architecture (JCA) and Java
Cryptography Extension (JCE). See the
CryptographyActor documentation for
resources about the JCE.
KeyWriter,
SecretKeyReader,
Serialized Form
| Yellow (cxh) |
| Green (cxh) |
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class ptolemy.kernel.Entity |
|---|
Entity.ContainedObjectsIterator |
| Field Summary | |
|---|---|
protected java.lang.String |
_algorithm
The name of the algorithm to be used. |
protected int |
_keySize
The key size to be used when processing information. |
protected java.lang.String |
_provider
The provider to be used for a provider specific implementation. |
private javax.crypto.SecretKey |
_secretKey
|
private KeyToken |
_secretKeyToken
|
private boolean |
_updateSecretKeyNeeded
|
StringParameter |
algorithm
Specify the algorithm to be used to process data. |
Parameter |
keySize
Specify the size of the key to be created. |
StringParameter |
provider
Specify a provider for the given algorithm. |
| Fields inherited from class ptolemy.actor.lib.Source |
|---|
output, trigger |
| Fields inherited from class ptolemy.actor.AtomicActor |
|---|
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested |
| Fields inherited from class ptolemy.kernel.util.NamedObj |
|---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
| Fields inherited from interface ptolemy.actor.Executable |
|---|
COMPLETED, NOT_READY, STOP_ITERATING |
| Constructor Summary | |
|---|---|
SecretKey(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
|
| Method Summary | |
|---|---|
private void |
_updateSecretKey()
Update the secret key by calling KeyGenerator.getInstance() with an argument that is created from the values of _algorithm, _provider and _keySize. |
void |
attributeChanged(Attribute attribute)
Override the base class to reinitialize the state if the algorithm, provider, or keysize parameter is changed. |
void |
fire()
Send the key that was generated in initialize() on the output port. |
void |
initialize()
Initialize the key by using the cached values of the parameters. |
| Methods inherited from class ptolemy.actor.lib.Source |
|---|
prefire |
| Methods inherited from class ptolemy.actor.TypedAtomicActor |
|---|
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints |
| 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.InstantiableNamedObj |
|---|
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface ptolemy.actor.Actor |
|---|
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList |
| Methods inherited from interface ptolemy.actor.Executable |
|---|
isFireFunctional, isStrict, iterate, postfire, stop, stopFire, terminate |
| Methods inherited from interface ptolemy.actor.Initializable |
|---|
addInitializable, preinitialize, removeInitializable, wrapup |
| Methods inherited from interface ptolemy.kernel.util.Nameable |
|---|
description, getContainer, getDisplayName, getFullName, getName, getName, setName |
| Methods inherited from interface ptolemy.kernel.util.Derivable |
|---|
getDerivedLevel, getDerivedList, propagateValue |
| Field Detail |
|---|
public StringParameter algorithm
public StringParameter provider
public Parameter keySize
DSA is the most common algorithm that uses keySize,
the Sun documentation says:
"The length, in bits, of the modulus p. This must range from
512 to 1024, and must be a multiple of 64. The default keysize
is 1024."
Refer to
http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html#AppB
for a list of possible key sizes for certain algorithms.
The initial default is 1024.
protected java.lang.String _algorithm
protected int _keySize
protected java.lang.String _provider
private javax.crypto.SecretKey _secretKey
private KeyToken _secretKeyToken
private boolean _updateSecretKeyNeeded
| Constructor Detail |
|---|
public SecretKey(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
container - The container.name - The name of this actor.
IllegalActionException - If the actor cannot be contained
by the proposed container.
NameDuplicationException - If the container already has an
actor with this name.| Method Detail |
|---|
public void attributeChanged(Attribute attribute)
throws IllegalActionException
attributeChanged in class NamedObjattribute - The attribute that changed.
IllegalActionException - Not thrown in this base class.
public void fire()
throws IllegalActionException
fire in interface Executablefire in class SourceIllegalActionException - If thrown by base class.
public void initialize()
throws IllegalActionException
initialize in interface Initializableinitialize in class AtomicActorIllegalActionException - If thrown by base class or
if the algorithm is not found, or if the padding scheme is illegal,
or if the specified provider does not exist.
private void _updateSecretKey()
throws IllegalActionException
IllegalActionException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||