OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [java/] [security/] [AlgorithmParametersSpi.java] - Blame information for rev 790

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 771 jeremybenn
/* AlgorithmParametersSpi.java --- Algorithm Parameters SPI
2
   Copyright (C) 1999, 2004  Free Software Foundation, Inc.
3
 
4
This file is part of GNU Classpath.
5
 
6
GNU Classpath is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
 
11
GNU Classpath is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GNU Classpath; see the file COPYING.  If not, write to the
18
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
02110-1301 USA.
20
 
21
Linking this library statically or dynamically with other modules is
22
making a combined work based on this library.  Thus, the terms and
23
conditions of the GNU General Public License cover the whole
24
combination.
25
 
26
As a special exception, the copyright holders of this library give you
27
permission to link this library with independent modules to produce an
28
executable, regardless of the license terms of these independent
29
modules, and to copy and distribute the resulting executable under
30
terms of your choice, provided that you also meet, for each linked
31
independent module, the terms and conditions of the license of that
32
module.  An independent module is a module which is not derived from
33
or based on this library.  If you modify this library, you may extend
34
this exception to your version of the library, but you are not
35
obligated to do so.  If you do not wish to do so, delete this
36
exception statement from your version. */
37
 
38
 
39
package java.security;
40
 
41
import java.io.IOException;
42
import java.security.spec.AlgorithmParameterSpec;
43
import java.security.spec.InvalidParameterSpecException;
44
 
45
/**
46
 * AlgorithmParametersSpi is the Service Provider Interface
47
 * for the Algorithm Parameters class. This class is used
48
 * to manage the algorithm parameters.
49
 *
50
 * @since 1.2
51
 * @author Mark Benvenuto
52
 */
53
public abstract class AlgorithmParametersSpi
54
{
55
  /**
56
   * Creates a new instance of AlgorithmParametersSpi
57
   */
58
  public AlgorithmParametersSpi()
59
  {
60
  }
61
 
62
  /**
63
   * Initializes the engine with the specified
64
   * AlgorithmParameterSpec class.
65
   *
66
   * @param paramSpec A AlgorithmParameterSpec to initialize with
67
   *
68
   * @throws InvalidParameterSpecException For an inapporiate
69
   * ParameterSpec class
70
   */
71
  protected abstract void engineInit(AlgorithmParameterSpec paramSpec)
72
    throws InvalidParameterSpecException;
73
 
74
  /**
75
   * Initializes the engine with the specified
76
   * parameters stored in the byte array and decodes them
77
   * according to the ASN.1 specification. If the ASN.1
78
   * specification exists then it succeeds or else it throws
79
   * IOException.
80
   *
81
   * @param params Parameters to initialize with
82
   *
83
   * @throws IOException Decoding Error
84
   */
85
  protected abstract void engineInit(byte[]params) throws IOException;
86
 
87
  /**
88
   * Initializes the engine with the specified
89
   * parameters stored in the byte array and decodes them
90
   * according to the specified decoding specification.
91
   * If format is null, then it is decoded using the ASN.1
92
   * specification if it exists or else it throws
93
   * IOException.
94
   *
95
   * @param params Parameters to initialize with
96
   * @param format Name of decoding format to use
97
   *
98
   * @throws IOException Decoding Error
99
   */
100
  protected abstract void engineInit(byte[]params, String format)
101
    throws IOException;
102
 
103
 
104
  /**
105
   * Returns a specification of this AlgorithmParameters object.
106
   * paramSpec identifies the class to return the AlgortihmParameters
107
   * in.
108
   *
109
   * @param paramSpec Class to return AlgorithmParameters in
110
   *
111
   * @return the parameter specification
112
   *
113
   * @throws InvalidParameterSpecException if the paramSpec is an
114
   * invalid parameter class
115
   */
116
  protected abstract <T extends AlgorithmParameterSpec>
117
  T engineGetParameterSpec(Class<T> paramSpec)
118
    throws InvalidParameterSpecException;
119
 
120
 
121
  /**
122
   * Returns the parameters in the default encoding format.
123
   * The primary encoding format is ASN.1 format if it exists
124
   * for the specified type.
125
   *
126
   * @return byte array representing the parameters
127
   */
128
  protected abstract byte[] engineGetEncoded() throws IOException;
129
 
130
 
131
  /**
132
   * Returns the parameters in the specified encoding format.
133
   * If <code>format</code> is <code>null</code> then the
134
   * primary encoding format is used, the ASN.1 format,
135
   * if it exists for the specified type.
136
   *
137
   * @return byte array representing the parameters
138
   */
139
  protected abstract byte[] engineGetEncoded(String format)
140
    throws IOException;
141
 
142
  /**
143
   * Returns a string describing the parameters in the
144
   * AlgorithmParametersSpi class.
145
   *
146
   * @return A string representing the format of the parameters.
147
   */
148
  protected abstract String engineToString();
149
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.