01: /*
02: * @(#)KeyPair.java 1.17 06/10/10
03: *
04: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
05: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
06: *
07: * This program is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License version
09: * 2 only, as published by the Free Software Foundation.
10: *
11: * This program 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 version 2 for more details (a copy is
15: * included at /legal/license.txt).
16: *
17: * You should have received a copy of the GNU General Public License
18: * version 2 along with this work; if not, write to the Free Software
19: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA
21: *
22: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
23: * Clara, CA 95054 or visit www.sun.com if you need additional
24: * information or have any questions.
25: *
26: */
27:
28: package java.security;
29:
30: import java.util.*;
31:
32: /**
33: * This class is a simple holder for a key pair (a public key and a
34: * private key). It does not enforce any security, and, when initialized,
35: * should be treated like a PrivateKey.
36: *
37: * @see PublicKey
38: * @see PrivateKey
39: *
40: * @version 1.11 00/02/02
41: * @author Benjamin Renaud
42: */
43:
44: public final class KeyPair implements java.io.Serializable {
45:
46: private PrivateKey privateKey;
47: private PublicKey publicKey;
48:
49: /**
50: * Constructs a key pair from the given public key and private key.
51: *
52: * <p>Note that this constructor only stores references to the public
53: * and private key components in the generated key pair. This is safe,
54: * because <code>Key</code> objects are immutable.
55: *
56: * @param publicKey the public key.
57: *
58: * @param privateKey the private key.
59: */
60: public KeyPair(PublicKey publicKey, PrivateKey privateKey) {
61: this .publicKey = publicKey;
62: this .privateKey = privateKey;
63: }
64:
65: /**
66: * Returns a reference to the public key component of this key pair.
67: *
68: * @return a reference to the public key.
69: */
70: public PublicKey getPublic() {
71: return publicKey;
72: }
73:
74: /**
75: * Returns a reference to the private key component of this key pair.
76: *
77: * @return a reference to the private key.
78: */
79: public PrivateKey getPrivate() {
80: return privateKey;
81: }
82: }
|