cryptix.provider
Class Cryptix

java.lang.Object
  |
  +--java.util.Dictionary
        |
        +--java.util.Hashtable
              |
              +--java.util.Properties
                    |
                    +--java.security.Provider
                          |
                          +--cryptix.provider.Cryptix
All Implemented Interfaces:
java.lang.Cloneable, java.util.Map, java.io.Serializable

public class Cryptix
extends java.security.Provider

This class acts as a security provider for the Java Cryptography Architecture. The mapping between cipher names and classes is stored in the Cryptix.properties file (see CryptixProperties).

SECURITY: In JavaSoft's version of JCE, Provider indirectly extends Hashtable, which means that it would normally be possible to call the put, remove or clear methods to change properties without any security check (also the load method from Properties). This is arguably a design bug in JCA and/or the Properties class.

This class works around the potential security problem by not using the Hashtable superclass. Instead it delegates to CryptixProperties.

Copyright © 1997 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: 1.7 $

Since:
Cryptix 2.2.2
Author:
David Hopwood, Jill Baker, Raif S. Naffah
See Also:
Serialized Form

Inner classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
(package private) static long serialVersionUID
           
 
Fields inherited from class java.util.Properties
defaults
 
Constructor Summary
Cryptix()
          Constructs a Cryptix security provider object.
 
Method Summary
 java.lang.String getProperty(java.lang.String key)
           
 java.lang.String getProperty(java.lang.String key, java.lang.String defaultValue)
           
 void list(java.io.PrintStream out)
           
 void list(java.io.PrintWriter out)
           
 java.util.Enumeration propertyNames()
           
 void save(java.io.OutputStream os, java.lang.String comment)
           
 java.lang.String toString()
           
 
Methods inherited from class java.security.Provider
clear, entrySet, getInfo, getName, getVersion, keySet, load, loadProvider, put, putAll, remove, values
 
Methods inherited from class java.util.Properties
, setProperty, store
 
Methods inherited from class java.util.Hashtable
clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, rehash, size
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
Constructor Detail

Cryptix

public Cryptix()
Constructs a Cryptix security provider object.
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.security.Provider

save

public void save(java.io.OutputStream os,
                 java.lang.String comment)
Overrides:
save in class java.util.Properties

getProperty

public java.lang.String getProperty(java.lang.String key)
Overrides:
getProperty in class java.util.Properties

getProperty

public java.lang.String getProperty(java.lang.String key,
                                    java.lang.String defaultValue)
Overrides:
getProperty in class java.util.Properties

propertyNames

public java.util.Enumeration propertyNames()
Overrides:
propertyNames in class java.util.Properties

list

public void list(java.io.PrintStream out)
Overrides:
list in class java.util.Properties

list

public void list(java.io.PrintWriter out)
Overrides:
list in class java.util.Properties