1 /* 2 * Copyright (c) 1999, 2015, 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 cryptographic 28 * operations. The cryptographic operations defined in this package 29 * include encryption, key generation and key agreement, and Message 30 * Authentication Code (MAC) generation. 31 * 32 * <p>Support for encryption includes symmetric, asymmetric, block, 33 * and stream ciphers. This package also supports secure streams and 34 * sealed objects. 35 * 36 * <p>Many of the classes provided in this package are provider-based. 37 * The class itself defines a programming interface to which 38 * applications may write. The implementations themselves may then be 39 * written by independent third-party vendors and plugged in 40 * seamlessly as needed. Therefore application developers may take 41 * advantage of any number of provider-based implementations without 42 * having to add or rewrite code. 43 * 44 * <ul> 45 * <li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html"> 46 * <b>Java™ Cryptography Architecture Standard Algorithm Name 47 * Documentation</b></a></li> 48 * </ul> 49 * 50 * <h2>Related Documentation</h2> 51 * 52 * For further documentation, please see: 53 * <ul> 54 * <li> 55 * <a href= 56 * "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html"> 57 * <b>Java™ Cryptography Architecture (JCA) Reference Guide 58 * </b></a></li> 59 * <li> 60 * <a href= 61 * "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html"> 62 * <b>How to Implement a Provider in the Java™ Cryptography 63 * Architecture </b></a></li> 64 * </ul> 65 * 66 * @since 1.4 67 */ 68 package javax.crypto;