1 /* 2 * Copyright (c) 1998, 2018, 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> 46 * <a href="{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">How to Implement a Provider in the Java Cryptography Architecture</a> 47 * </li> 48 * </ul> 49 * 50 * <h2>Package Specification</h2> 51 * 52 * <ul> 53 * <li>PKCS #1: RSA Cryptography Specifications, Version 2.2 (RFC 8017)</li> 54 * <li>Federal Information Processing Standards Publication (FIPS PUB) 186: 55 * Digital Signature Standard (DSS) </li> 56 * </ul> 57 * 58 * <h2>Related Documentation</h2> 59 * 60 * For further documentation, please see: 61 * <ul> 62 * <li> 63 * <a href="{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">Java Cryptography Architecture Reference Guide}</a></li> 64 * </ul> 65 * 66 * @since 1.1 67 */ 68 package java.security.interfaces; 69