1/* 2 * Copyright (c) 1998, 2017, 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 the classes and interfaces for the security framework. 28 * This includes classes that implement an easily configurable, 29 * fine-grained access control security architecture. 30 * This package also supports 31 * the generation and storage of cryptographic public key pairs, 32 * as well as a number of exportable cryptographic operations 33 * including those for message digest and signature generation. Finally, 34 * this package provides classes that support signed/guarded objects 35 * and secure random number generation. 36 * 37 * Many of the classes provided in this package (the cryptographic 38 * and secure random number generator classes in particular) are 39 * provider-based. The class itself defines a programming interface 40 * to which applications may write. The implementations themselves may 41 * then be written by independent third-party vendors and plugged 42 * in seamlessly as needed. Therefore application developers may 43 * take advantage of any number of provider-based implementations 44 * without having to add or rewrite code. 45 * 46 * <h2>Package Specification</h2> 47 * 48 * <ul> 49 * <li> {@extLink security_guide_jca 50 * Java Cryptography Architecture (JCA) Reference Guide}</li> 51 * 52 * <li>PKCS #8: Private-Key Information Syntax Standard, Version 1.2, 53 * November 1993</li> 54 * 55 * <li><a href="{@docRoot}/../specs/security/standard-names.html"> 56 * Java Security Standard Algorithm Names Specification 57 * </a></li> 58 * </ul> 59 * 60 * <h2>Related Documentation</h2> 61 * 62 * For further documentation, please see: 63 * <ul> 64 * <li> {@extLink security_guide_overview 65 * Java Security Overview} </li> 66 * 67 * <li> {@extLink security_guide_impl_provider 68 * How to Implement a Provider in the Java Cryptography Architecture}</li> 69 * 70 * <li> {@extLink security_guide_default_policy 71 * Default Policy Implementation and Policy File Syntax}</li> 72 * 73 * <li> {@extLink security_guide_permissions 74 * Permissions in the Java Development Kit (JDK)}</li> 75 * 76 * <li> {@extLink security_guide_tools 77 * Summary of Tools for Java Platform Security} 78 * (for example {@code keytool} and {@code jarsigner}),</li> 79 * 80 * </ul> 81 * 82 * @since 1.1 83 */ 84package java.security; 85