home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1998 July & August
/
Pcwk78a98.iso
/
Internet
/
Javadraw
/
DATA.Z
/
Key.java
< prev
next >
Wrap
Text File
|
1997-08-30
|
4KB
|
109 lines
/*
* @(#)Key.java 1.28 97/01/16
*
* Copyright (c) 1995, 1996, 1997 Sun Microsystems, Inc. All Rights Reserved.
*
* This software is the confidential and proprietary information of Sun
* Microsystems, Inc. ("Confidential Information"). You shall not
* disclose such Confidential Information and shall use it only in
* accordance with the terms of the license agreement you entered into
* with Sun.
*
* SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
* SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
* IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
* SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
* THIS SOFTWARE OR ITS DERIVATIVES.
*
* CopyrightVersion 1.1_beta
*
*/
package java.security;
/**
* The Key interface is the top-level interface for all keys. It
* defines the functionality shared by all key objects. All keys
* have three characteristics:
*
* <UL>
*
* <LI>An Algorithm
*
* <P>This is the key algorithm for that key. The key algorithm is usually
* an encryption or asymmetric operation algorithm (such as DSA or
* RSA), which will work with those algorithms and with related
* algorithms (such as MD5 with RSA, SHA-1 with RSA, Raw DSA, etc.)
* The name of the algorithm of a key is obtained using the
* <a href = "#getAlgorithm">getAlgorithm</a> method.<P>
*
* <LI>An Encoded Form
*
* <P>This is an external encoded form for the key used when a standard
* representation of the key is needed outside the Java Virtual Machine,
* as when transmitting the key to some other party. The key
* is encoded according to a standard format (such as X.509
* or PKCS#8), and is returned using the
* <a href = "#getEncoded">getEncoded</a> method.<P>
*
* <LI>A Format
*
* <P>This is the name of the format of the encoded key. It is returned
* by the <a href = "#getFormat">getFormat</a> method.<P>
*
* </UL>
*
* Keys are generally obtained through key generators, certificates,
* or various Identity classes used to manage keys. There are no
* provisions in this release for the parsing of encoded keys and
* certificates.
*
* @see PublicKey
* @see PrivateKey
* @see KeyPair
* @see KeyPairGenerator
* @see Identity
* @see IdentityScope
* @see Signer
*
* @version 1.28, 97/01/29
* @author Benjamin Renaud
*/
public interface Key extends java.io.Serializable {
/**
* Returns the standard algorithm name this key is for. For
* example, "DSA" would indicate that this key is a DSA key.
* Note that this method may return null, when the
* algorithm this key is for is unknown.
*
* <p>See Appendix A in the <a href=
* "../guide/security/CryptoSpec.html#AppA">
* Java Cryptography Architecture API Specification & Reference </a>
* for information about standard algorithm names.
*
* @return the name of the algorithm this key is for, or null
* if the algorithm this key is for is unknown.
*/
public String getAlgorithm();
/**
* Returns the format used to encode the key or null if the key does not
* support encoding.
*
* @return the format used to encode the key.
*/
public String getFormat();
/**
* Returns the encoded key.
*
* @return the encoded key, or null if the key does not support
* encoding.
*
*/
public byte[] getEncoded();
}