/* * @(#)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: * *
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 * getAlgorithm method.
* *
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 * getEncoded method.
* *
This is the name of the format of the encoded key. It is returned * by the getFormat method.
* *
See Appendix A in the * Java Cryptography Architecture API Specification & Reference * 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(); }