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:
JDK 17 java.security.jgss.jmod - Security JGSS Module
JDK 17 java.security.jgss.jmod is the JMOD file for JDK 17 Security JGSS (Java Generic Security Service) module.
JDK 17 Security JGSS module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.security.jgss.jmod.
JDK 17 Security JGSS module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Security JGSS module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.security.jgss.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/security/jgss/spnego/SpNegoMechFactory.java
/* * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package sun.security.jgss.spnego; import org.ietf.jgss.*; import sun.security.jgss.*; import sun.security.jgss.spi.*; import sun.security.jgss.krb5.Krb5MechFactory; import sun.security.jgss.krb5.Krb5InitCredential; import sun.security.jgss.krb5.Krb5AcceptCredential; import sun.security.jgss.krb5.Krb5NameElement; import java.security.Provider; import java.util.Vector; /** * SpNego Mechanism plug in for JGSS * This is the properties object required by the JGSS framework. * All mechanism specific information is defined here. * * @author Seema Malkani * @since 1.6 */ public final class SpNegoMechFactory implements MechanismFactory { static final Provider PROVIDER = new sun.security.jgss.SunProvider(); static final Oid GSS_SPNEGO_MECH_OID = GSSUtil.createOid("1.3.6.1.5.5.2"); private static Oid[] nameTypes = new Oid[] { GSSName.NT_USER_NAME, GSSName.NT_HOSTBASED_SERVICE, GSSName.NT_EXPORT_NAME}; // The default underlying mech of SPNEGO, must not be SPNEGO itself. private static final Oid DEFAULT_SPNEGO_MECH_OID = ProviderList.DEFAULT_MECH_OID.equals(GSS_SPNEGO_MECH_OID)? GSSUtil.GSS_KRB5_MECH_OID: ProviderList.DEFAULT_MECH_OID; // Use an instance of a GSSManager whose provider list // does not include native provider final GSSManagerImpl manager; final Oid[] availableMechs; private static SpNegoCredElement getCredFromSubject(GSSNameSpi name, boolean initiate) throws GSSException { Vector<SpNegoCredElement> creds = GSSUtil.searchSubject(name, GSS_SPNEGO_MECH_OID, initiate, SpNegoCredElement.class); SpNegoCredElement result = ((creds == null || creds.isEmpty()) ? null : creds.firstElement()); // Force permission check before returning the cred to caller if (result != null) { GSSCredentialSpi cred = result.getInternalCred(); if (GSSUtil.isKerberosMech(cred.getMechanism())) { if (initiate) { Krb5InitCredential krbCred = (Krb5InitCredential) cred; Krb5MechFactory.checkInitCredPermission ((Krb5NameElement) krbCred.getName()); } else { Krb5AcceptCredential krbCred = (Krb5AcceptCredential) cred; Krb5MechFactory.checkAcceptCredPermission ((Krb5NameElement) krbCred.getName(), name); } } } return result; } public SpNegoMechFactory() { this(GSSCaller.CALLER_UNKNOWN); } public SpNegoMechFactory(GSSCaller caller) { manager = new GSSManagerImpl(caller, false); Oid[] mechs = manager.getMechs(); availableMechs = new Oid[mechs.length-1]; for (int i = 0, j = 0; i < mechs.length; i++) { // Skip SpNego mechanism if (!mechs[i].equals(GSS_SPNEGO_MECH_OID)) { availableMechs[j++] = mechs[i]; } } // Move the preferred mech to first place for (int i=0; i<availableMechs.length; i++) { if (availableMechs[i].equals(DEFAULT_SPNEGO_MECH_OID)) { if (i != 0) { availableMechs[i] = availableMechs[0]; availableMechs[0] = DEFAULT_SPNEGO_MECH_OID; } break; } } } public GSSNameSpi getNameElement(String nameStr, Oid nameType) throws GSSException { return manager.getNameElement( nameStr, nameType, DEFAULT_SPNEGO_MECH_OID); } public GSSNameSpi getNameElement(byte[] name, Oid nameType) throws GSSException { return manager.getNameElement(name, nameType, DEFAULT_SPNEGO_MECH_OID); } public GSSCredentialSpi getCredentialElement(GSSNameSpi name, int initLifetime, int acceptLifetime, int usage) throws GSSException { SpNegoCredElement credElement = getCredFromSubject (name, (usage != GSSCredential.ACCEPT_ONLY)); if (credElement == null) { // get CredElement for the default Mechanism credElement = new SpNegoCredElement (manager.getCredentialElement(name, initLifetime, acceptLifetime, null, usage)); } return credElement; } public GSSContextSpi getMechanismContext(GSSNameSpi peer, GSSCredentialSpi myInitiatorCred, int lifetime) throws GSSException { // get SpNego mechanism context if (myInitiatorCred == null) { myInitiatorCred = getCredFromSubject(null, true); } else if (!(myInitiatorCred instanceof SpNegoCredElement)) { // convert to SpNegoCredElement SpNegoCredElement cred = new SpNegoCredElement(myInitiatorCred); return new SpNegoContext(this, peer, cred, lifetime); } return new SpNegoContext(this, peer, myInitiatorCred, lifetime); } public GSSContextSpi getMechanismContext(GSSCredentialSpi myAcceptorCred) throws GSSException { // get SpNego mechanism context if (myAcceptorCred == null) { myAcceptorCred = getCredFromSubject(null, false); } else if (!(myAcceptorCred instanceof SpNegoCredElement)) { // convert to SpNegoCredElement SpNegoCredElement cred = new SpNegoCredElement(myAcceptorCred); return new SpNegoContext(this, cred); } return new SpNegoContext(this, myAcceptorCred); } public GSSContextSpi getMechanismContext(byte[] exportedContext) throws GSSException { // get SpNego mechanism context return new SpNegoContext(this, exportedContext); } public final Oid getMechanismOid() { return GSS_SPNEGO_MECH_OID; } public Provider getProvider() { return PROVIDER; } public Oid[] getNameTypes() { // nameTypes is cloned in GSSManager.getNamesForMech return nameTypes; } }
⏎ sun/security/jgss/spnego/SpNegoMechFactory.java
Or download all of them as a single archive file:
File name: java.security.jgss-17.0.5-src.zip File size: 225968 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.security.sasl.jmod - Security SASL Module
2023-10-27, 5273👍, 0💬
Popular Posts:
What Is commons-io-2.11.jar? commons-io-2.11.jar is the JAR file for Commons IO 2.5, which is a libr...
Joda-Time provides a quality replacement for the Java date and time classes. The design allows for m...
The JMX technology provides the tools for building distributed, Web-based, modular and dynamic solut...
What Is XMLBeans xbean.jar 2.6.0? XMLBeans xbean.jar 2.6.0 is the JAR file for Apache XMLBeans 2.6.0...
JAX-WS is an API for building web services and clients. It is the next generation Web Services API r...