1 /* 2 * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 /** 27 * Provides interfaces for generating RSA (Rivest, Shamir and 28 * Adleman AsymmetricCipher algorithm) 29 * keys as defined in the RSA Laboratory Technical Note 30 * PKCS#1, and DSA (Digital Signature 31 * Algorithm) keys as defined in NIST's FIPS-186. 32 * <P> 33 * Note that these interfaces are intended only for key 34 * implementations whose key material is accessible and 35 * available. These interfaces are not intended for key 36 * implementations whose key material resides in 37 * inaccessible, protected storage (such as in a 38 * hardware device). 39 * <P> 40 * For more developer information on how to use these 41 * interfaces, including information on how to design 42 * {@code Key} classes for hardware devices, please refer 43 * to these cryptographic provider developer guides: 44 * <ul> 45 * <li><a href= 46 * "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html"> 47 * <b>How to Implement a Provider for the 48 * Java™ Cryptography Architecture 49 * </b></a></li> 50 * </ul> 51 * 52 * <h2>Package Specification</h2> 53 * 54 * <ul> 55 * <li>PKCS #1: RSA Encryption Standard, Version 1.5, November 1993 </li> 56 * <li>Federal Information Processing Standards Publication (FIPS PUB) 186: 57 * Digital Signature Standard (DSS) </li> 58 * </ul> 59 * 60 * <h2>Related Documentation</h2> 61 * 62 * For further documentation, please see: 63 * <ul> 64 * <li> 65 * <a href= 66 * "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html"> 67 * <b>Java™ 68 * Cryptography Architecture API Specification and Reference 69 * </b></a></li> 70 * </ul> 71 * 72 * @since JDK1.1 73 */ 74 package java.security.interfaces; 75