gnu.java.security.key.dss
Class DSSKeyPairGenerator
- IKeyPairGenerator
A key-pair generator for asymetric keys to use in conjunction with the DSS
(Digital Signature Standard).
References:
Digital Signature
Standard (DSS), Federal Information Processing Standards Publication
186. National Institute of Standards and Technology.
KeyPair | generate() - Generates a new keypair based on the attributes used to configure the
instance.
|
String | name() - Returns the canonical name of this keypair generator.
|
void | setup(Map<K,V> attributes) - Configures this instance.
|
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
DSS_PARAMETERS
public static final String DSS_PARAMETERS
Property name of an optional
DSAParameterSpec
instance to use for
this generator's
p
,
q
, and
g
values. The default is to generate these values or use pre-computed ones,
depending on the value of the
USE_DEFAULTS
attribute.
MODULUS_LENGTH
public static final String MODULUS_LENGTH
Property name of the length (Integer) of the modulus (p) of a DSS key.
PREFERRED_ENCODING_FORMAT
public static final String PREFERRED_ENCODING_FORMAT
Property name of the preferred encoding format to use when externalizing
generated instance of key-pairs from this generator. The property is taken
to be an
Integer
that encapsulates an encoding format identifier.
- "gnu.crypto.dss.encoding"
STRICT_DEFAULTS
public static final String STRICT_DEFAULTS
Property name of the Boolean indicating wether or not to generate new
parameters, even if the modulus length
L is not one of the pre-
computed defaults (value
Boolean.FALSE
), or throw an exception
(value
Boolean.TRUE
) -- the exception in this case is an
IllegalArgumentException
. The default value for this property is
Boolean.FALSE
. The ultimate behaviour of this generator will
depend on the values of this and
USE_DEFAULTS
properties -- see
USE_DEFAULTS
for more information.
- "gnu.crypto.dss.strict.defaults"
USE_DEFAULTS
public static final String USE_DEFAULTS
Property name of the Boolean indicating wether or not to use default pre-
computed values of
p
,
q
and
g
for a given modulus length. The ultimate behaviour of this generator with
regard to using pre-computed parameter sets will depend on the value of
this property and of the following one
STRICT_DEFAULTS
:
- If this property is
Boolean.FALSE
then this generator will
accept being setup for generating parameters for any modulus length
provided the modulus length is between 512
and
1024
, and is of the form 512 + 64 * n
. In
addition, a new paramter set will always be generated; i.e. no pre-
computed values are used. - If this property is
Boolean.TRUE
and the value of
STRICT_DEFAULTS
is also Boolean.TRUE
then this generator
will only accept being setup for generating parameters for modulus lengths
of 512
, 768
and 1024
. Any
other value, of the modulus length, even if between 512
and
1024
, and of the form 512 + 64 * n
, will
cause an IllegalArgumentException
to be thrown. When those modulus
length (512
, 768
, and 1024
)
are specified, the paramter set is always the same. - Finally, if this property is
Boolean.TRUE
and the value of
STRICT_DEFAULTS
is Boolean.FALSE
then this generator will
behave as in point 1 above, except that it will use pre-computed values
when possible; i.e. the modulus length is one of 512
,
768
, or 1024
.
The default value of this property is
Boolean.TRUE
.
- "gnu.crypto.dss.use.defaults"
DSSKeyPairGenerator.java --
Copyright 2001, 2002, 2003, 2006, 2010 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.