Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
jsse.jar Source Code Files - OpenJDK 7u Release
Where Can I get source code files of jsse.jar?
✍: FYIcenter
You can get source code files of jsse.jar (JSSE) from OpenJDK GitHub Website in the src/share/classes/sun/security/ssl/ directory.
You can also browse JSSE Source Code files below:
⏎ sun/security/ssl/SSLAlgorithmConstraints.java
/* * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package sun.security.ssl; import java.security.AlgorithmConstraints; import java.security.CryptoPrimitive; import java.security.AlgorithmParameters; import javax.net.ssl.*; import java.security.Key; import java.util.Set; import java.util.HashSet; import sun.security.util.DisabledAlgorithmConstraints; import sun.security.ssl.CipherSuite.*; /** * Algorithm constraints for disabled algorithms property * * See the "jdk.certpath.disabledAlgorithms" specification in java.security * for the syntax of the disabled algorithm string. */ final class SSLAlgorithmConstraints implements AlgorithmConstraints { private final static AlgorithmConstraints tlsDisabledAlgConstraints = new TLSDisabledAlgConstraints(); private final static AlgorithmConstraints x509DisabledAlgConstraints = new X509DisabledAlgConstraints(); private AlgorithmConstraints userAlgConstraints = null; private AlgorithmConstraints peerAlgConstraints = null; private boolean enabledX509DisabledAlgConstraints = true; SSLAlgorithmConstraints(AlgorithmConstraints algorithmConstraints) { userAlgConstraints = algorithmConstraints; } SSLAlgorithmConstraints(SSLSocket socket, boolean withDefaultCertPathConstraints) { if (socket != null) { userAlgConstraints = socket.getSSLParameters().getAlgorithmConstraints(); } if (!withDefaultCertPathConstraints) { enabledX509DisabledAlgConstraints = false; } } SSLAlgorithmConstraints(SSLEngine engine, boolean withDefaultCertPathConstraints) { if (engine != null) { userAlgConstraints = engine.getSSLParameters().getAlgorithmConstraints(); } if (!withDefaultCertPathConstraints) { enabledX509DisabledAlgConstraints = false; } } SSLAlgorithmConstraints(SSLSocket socket, String[] supportedAlgorithms, boolean withDefaultCertPathConstraints) { if (socket != null) { userAlgConstraints = socket.getSSLParameters().getAlgorithmConstraints(); peerAlgConstraints = new SupportedSignatureAlgorithmConstraints(supportedAlgorithms); } if (!withDefaultCertPathConstraints) { enabledX509DisabledAlgConstraints = false; } } SSLAlgorithmConstraints(SSLEngine engine, String[] supportedAlgorithms, boolean withDefaultCertPathConstraints) { if (engine != null) { userAlgConstraints = engine.getSSLParameters().getAlgorithmConstraints(); peerAlgConstraints = new SupportedSignatureAlgorithmConstraints(supportedAlgorithms); } if (!withDefaultCertPathConstraints) { enabledX509DisabledAlgConstraints = false; } } public boolean permits(Set<CryptoPrimitive> primitives, String algorithm, AlgorithmParameters parameters) { boolean permitted = true; if (peerAlgConstraints != null) { permitted = peerAlgConstraints.permits( primitives, algorithm, parameters); } if (permitted && userAlgConstraints != null) { permitted = userAlgConstraints.permits( primitives, algorithm, parameters); } if (permitted) { permitted = tlsDisabledAlgConstraints.permits( primitives, algorithm, parameters); } if (permitted && enabledX509DisabledAlgConstraints) { permitted = x509DisabledAlgConstraints.permits( primitives, algorithm, parameters); } return permitted; } public boolean permits(Set<CryptoPrimitive> primitives, Key key) { boolean permitted = true; if (peerAlgConstraints != null) { permitted = peerAlgConstraints.permits(primitives, key); } if (permitted && userAlgConstraints != null) { permitted = userAlgConstraints.permits(primitives, key); } if (permitted) { permitted = tlsDisabledAlgConstraints.permits(primitives, key); } if (permitted && enabledX509DisabledAlgConstraints) { permitted = x509DisabledAlgConstraints.permits(primitives, key); } return permitted; } public boolean permits(Set<CryptoPrimitive> primitives, String algorithm, Key key, AlgorithmParameters parameters) { boolean permitted = true; if (peerAlgConstraints != null) { permitted = peerAlgConstraints.permits( primitives, algorithm, key, parameters); } if (permitted && userAlgConstraints != null) { permitted = userAlgConstraints.permits( primitives, algorithm, key, parameters); } if (permitted) { permitted = tlsDisabledAlgConstraints.permits( primitives, algorithm, key, parameters); } if (permitted && enabledX509DisabledAlgConstraints) { permitted = x509DisabledAlgConstraints.permits( primitives, algorithm, key, parameters); } return permitted; } static private class SupportedSignatureAlgorithmConstraints implements AlgorithmConstraints { // supported signature algorithms private String[] supportedAlgorithms; SupportedSignatureAlgorithmConstraints(String[] supportedAlgorithms) { if (supportedAlgorithms != null) { this.supportedAlgorithms = supportedAlgorithms.clone(); } else { this.supportedAlgorithms = null; } } public boolean permits(Set<CryptoPrimitive> primitives, String algorithm, AlgorithmParameters parameters) { if (algorithm == null || algorithm.length() == 0) { throw new IllegalArgumentException( "No algorithm name specified"); } if (primitives == null || primitives.isEmpty()) { throw new IllegalArgumentException( "No cryptographic primitive specified"); } if (supportedAlgorithms == null || supportedAlgorithms.length == 0) { return false; } // trim the MGF part: <digest>with<encryption>and<mgf> int position = algorithm.indexOf("and"); if (position > 0) { algorithm = algorithm.substring(0, position); } for (String supportedAlgorithm : supportedAlgorithms) { if (algorithm.equalsIgnoreCase(supportedAlgorithm)) { return true; } } return false; } final public boolean permits(Set<CryptoPrimitive> primitives, Key key) { return true; } final public boolean permits(Set<CryptoPrimitive> primitives, String algorithm, Key key, AlgorithmParameters parameters) { if (algorithm == null || algorithm.length() == 0) { throw new IllegalArgumentException( "No algorithm name specified"); } return permits(primitives, algorithm, parameters); } } static private class BasicDisabledAlgConstraints extends DisabledAlgorithmConstraints { BasicDisabledAlgConstraints(String propertyName) { super(propertyName); } protected Set<String> decomposes(KeyExchange keyExchange, boolean forCertPathOnly) { Set<String> components = new HashSet<>(); switch (keyExchange) { case K_NULL: if (!forCertPathOnly) { components.add("NULL"); } break; case K_RSA: components.add("RSA"); break; case K_RSA_EXPORT: components.add("RSA"); components.add("RSA_EXPORT"); break; case K_DH_RSA: components.add("RSA"); components.add("DH"); components.add("DiffieHellman"); components.add("DH_RSA"); break; case K_DH_DSS: components.add("DSA"); components.add("DSS"); components.add("DH"); components.add("DiffieHellman"); components.add("DH_DSS"); break; case K_DHE_DSS: components.add("DSA"); components.add("DSS"); components.add("DH"); components.add("DHE"); components.add("DiffieHellman"); components.add("DHE_DSS"); break; case K_DHE_RSA: components.add("RSA"); components.add("DH"); components.add("DHE"); components.add("DiffieHellman"); components.add("DHE_RSA"); break; case K_DH_ANON: if (!forCertPathOnly) { components.add("ANON"); components.add("DH"); components.add("DiffieHellman"); components.add("DH_ANON"); } break; case K_ECDH_ECDSA: components.add("ECDH"); components.add("ECDSA"); components.add("ECDH_ECDSA"); break; case K_ECDH_RSA: components.add("ECDH"); components.add("RSA"); components.add("ECDH_RSA"); break; case K_ECDHE_ECDSA: components.add("ECDHE"); components.add("ECDSA"); components.add("ECDHE_ECDSA"); break; case K_ECDHE_RSA: components.add("ECDHE"); components.add("RSA"); components.add("ECDHE_RSA"); break; case K_ECDH_ANON: if (!forCertPathOnly) { components.add("ECDH"); components.add("ANON"); components.add("ECDH_ANON"); } break; case K_KRB5: if (!forCertPathOnly) { components.add("KRB5"); } break; case K_KRB5_EXPORT: if (!forCertPathOnly) { components.add("KRB5_EXPORT"); } break; default: // ignore } return components; } protected Set<String> decomposes(BulkCipher bulkCipher) { Set<String> components = new HashSet<>(); if (bulkCipher.transformation != null) { components.addAll(super.decomposes(bulkCipher.transformation)); } return components; } protected Set<String> decomposes(MacAlg macAlg) { Set<String> components = new HashSet<>(); if (macAlg == CipherSuite.M_MD5) { components.add("MD5"); components.add("HmacMD5"); } else if (macAlg == CipherSuite.M_SHA) { components.add("SHA1"); components.add("SHA-1"); components.add("HmacSHA1"); } else if (macAlg == CipherSuite.M_SHA256) { components.add("SHA256"); components.add("SHA-256"); components.add("HmacSHA256"); } else if (macAlg == CipherSuite.M_SHA384) { components.add("SHA384"); components.add("SHA-384"); components.add("HmacSHA384"); } return components; } } static private class TLSDisabledAlgConstraints extends BasicDisabledAlgConstraints { TLSDisabledAlgConstraints() { super(DisabledAlgorithmConstraints.PROPERTY_TLS_DISABLED_ALGS); } @Override protected Set<String> decomposes(String algorithm) { if (algorithm.startsWith("SSL_") || algorithm.startsWith("TLS_")) { CipherSuite cipherSuite = null; try { cipherSuite = CipherSuite.valueOf(algorithm); } catch (IllegalArgumentException iae) { // ignore: unknown or unsupported ciphersuite } if (cipherSuite != null) { Set<String> components = new HashSet<>(); if(cipherSuite.keyExchange != null) { components.addAll( decomposes(cipherSuite.keyExchange, false)); } if (cipherSuite.cipher != null) { components.addAll(decomposes(cipherSuite.cipher)); } if (cipherSuite.macAlg != null) { components.addAll(decomposes(cipherSuite.macAlg)); } return components; } } return super.decomposes(algorithm); } } static private class X509DisabledAlgConstraints extends BasicDisabledAlgConstraints { X509DisabledAlgConstraints() { super(DisabledAlgorithmConstraints.PROPERTY_CERTPATH_DISABLED_ALGS); } @Override protected Set<String> decomposes(String algorithm) { if (algorithm.startsWith("SSL_") || algorithm.startsWith("TLS_")) { CipherSuite cipherSuite = null; try { cipherSuite = CipherSuite.valueOf(algorithm); } catch (IllegalArgumentException iae) { // ignore: unknown or unsupported ciphersuite } if (cipherSuite != null) { Set<String> components = new HashSet<>(); if(cipherSuite.keyExchange != null) { components.addAll( decomposes(cipherSuite.keyExchange, true)); } // Certification path algorithm constraints do not apply // to cipherSuite.cipher and cipherSuite.macAlg. return components; } } return super.decomposes(algorithm); } } }
⏎ sun/security/ssl/SSLAlgorithmConstraints.java
Or download all of them as a single archive file:
File name: sun-security-ssl-openjdk7u-fyi.zip File size: 277845 bytes Release date: 2012-05-03 Download
⇒ What Is jsse.jar (JDK 6) Java Secure Socket Extension
⇐ Downloading jsse.jar (JDK 7) Java Secure Socket Extension
2018-02-01, 9156👍, 0💬
Popular Posts:
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries. JRE (Java Runtime) 8 is the runtime e...
JDK 17 jdk.jdi.jmod is the JMOD file for JDK 17 JDI (Java Debug Interface) tool. JDK 17 JDI tool com...
What Is HttpComponents httpclient-4.2.2.jar? HttpComponents httpclient-4.2.2.jar is the JAR file for...
Apache Log4j 1.2 Bridge allows applications coded to use Log4j 1.2 API to use Log4j 2 instead. Bytec...
JDK 17 jdk.hotspot.agent.jmod is the JMOD file for JDK 17 Hotspot Agent module. JDK 17 Hotspot Agent...