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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [java/] [security/] [cert/] [PKIXBuilderParameters.java] - Blame information for rev 771

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 771 jeremybenn
/* PKIXBuilderParameters.java -- parameters for PKIX cert path builders
2
   Copyright (C) 2003 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.cert;
40
 
41
import gnu.java.lang.CPStringBuilder;
42
 
43
import java.security.InvalidAlgorithmParameterException;
44
import java.security.KeyStore;
45
import java.security.KeyStoreException;
46
 
47
import java.util.Set;
48
 
49
/**
50
 * Parameters for building certificate paths using the PKIX algorithm.
51
 *
52
 * @see CertPathBuilder
53
 * @since 1.4
54
 */
55
public class PKIXBuilderParameters extends PKIXParameters
56
{
57
 
58
  // Fields.
59
  // ------------------------------------------------------------------------
60
 
61
  /** The maximum path length. */
62
  private int maxPathLength;
63
 
64
  // Constructors.
65
  // ------------------------------------------------------------------------
66
 
67
  /**
68
   * Create a new PKIXBuilderParameters object, populating the trusted
69
   * certificates set with all X.509 certificates found in the given key
70
   * store. All certificates found in the key store are assumed to be
71
   * trusted by this constructor.
72
   *
73
   * @param keystore The key store.
74
   * @param targetConstraints The target certificate constraints.
75
   * @throws KeyStoreException If the certificates cannot be retrieved
76
   *         from the key store.
77
   * @throws InvalidAlgorithmParameterException If there are no
78
   *         certificates in the key store.
79
   * @throws NullPointerException If <i>keystore</i> is null.
80
   */
81
  public PKIXBuilderParameters(KeyStore keystore,
82
                               CertSelector targetConstraints)
83
    throws KeyStoreException, InvalidAlgorithmParameterException
84
  {
85
    super(keystore);
86
    setTargetCertConstraints(targetConstraints);
87
    maxPathLength = 5;
88
  }
89
 
90
  /**
91
   * Create a new PKIXBuilderParameters object, populating the trusted
92
   * certificates set with the elements of the given set, each of which
93
   * must be a {@link TrustAnchor}.
94
   *
95
   * @param trustAnchors The set of trust anchors.
96
   * @param targetConstraints The target certificate constraints.
97
   * @throws InvalidAlgorithmParameterException If there are no
98
   *         certificates in the set.
99
   * @throws NullPointerException If <i>trustAnchors</i> is null.
100
   * @throws ClassCastException If every element in <i>trustAnchors</i>
101
   *         is not a {@link TrustAnchor}.
102
   */
103
  public PKIXBuilderParameters(Set<TrustAnchor> trustAnchors,
104
                               CertSelector targetConstraints)
105
    throws InvalidAlgorithmParameterException
106
  {
107
    super(trustAnchors);
108
    setTargetCertConstraints(targetConstraints);
109
    maxPathLength = 5;
110
  }
111
 
112
  // Instance methods.
113
  // ------------------------------------------------------------------------
114
 
115
  /**
116
   * Returns the maximum length of certificate paths to build.
117
   *
118
   * <p>If this value is 0 it is taken to mean that the certificate path
119
   * should contain only one certificate. A value of -1 means that the
120
   * certificate path length is unconstrained. The default value is 5.
121
   *
122
   * @return The maximum path length.
123
   */
124
  public int getMaxPathLength()
125
  {
126
    return maxPathLength;
127
  }
128
 
129
  /**
130
   * Sets the maximum length of certificate paths to build.
131
   *
132
   * @param maxPathLength The new path length.
133
   * @throws IllegalArgumentException If <i>maxPathLength</i> is less
134
   *         than -1.
135
   */
136
  public void setMaxPathLength(int maxPathLength)
137
  {
138
    if (maxPathLength < -1)
139
      throw new IllegalArgumentException();
140
    this.maxPathLength = maxPathLength;
141
  }
142
 
143
  public String toString()
144
  {
145
    CPStringBuilder buf = new CPStringBuilder(super.toString());
146
    buf.insert(buf.length() - 2, "; Max Path Length=" + maxPathLength);
147
    return buf.toString();
148
  }
149
}

powered by: WebSVN 2.1.0

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