当前位置: 首页>>代码示例>>Java>>正文


Java GSSManagerImpl.createContext方法代码示例

本文整理汇总了Java中sun.security.jgss.GSSManagerImpl.createContext方法的典型用法代码示例。如果您正苦于以下问题:Java GSSManagerImpl.createContext方法的具体用法?Java GSSManagerImpl.createContext怎么用?Java GSSManagerImpl.createContext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sun.security.jgss.GSSManagerImpl的用法示例。


在下文中一共展示了GSSManagerImpl.createContext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: init

import sun.security.jgss.GSSManagerImpl; //导入方法依赖的package包/类
/**
 * Initialize the object, which includes:<ul>
 * <li>Find out what GSS mechanism to use from the system property
 * <code>http.negotiate.mechanism.oid</code>, defaults SPNEGO
 * <li>Creating the GSSName for the target host, "HTTP/"+hostname
 * <li>Creating GSSContext
 * <li>A first call to initSecContext</ul>
 */
private void init(HttpCallerInfo hci) throws GSSException {
    final Oid oid;

    if (hci.scheme.equalsIgnoreCase("Kerberos")) {
        // we can only use Kerberos mech when the scheme is kerberos
        oid = GSSUtil.GSS_KRB5_MECH_OID;
    } else {
        String pref = java.security.AccessController.doPrivileged(
                new java.security.PrivilegedAction<String>() {
                    public String run() {
                        return System.getProperty(
                            "http.auth.preference",
                            "spnego");
                    }
                });
        if (pref.equalsIgnoreCase("kerberos")) {
            oid = GSSUtil.GSS_KRB5_MECH_OID;
        } else {
            // currently there is no 3rd mech we can use
            oid = GSSUtil.GSS_SPNEGO_MECH_OID;
        }
    }

    GSSManagerImpl manager = new GSSManagerImpl(
            new HttpCaller(hci));

    // RFC 4559 4.1 uses uppercase service name "HTTP".
    // RFC 4120 6.2.1 demands the host be lowercase
    String peerName = "[email protected]" + hci.host.toLowerCase();

    GSSName serverName = manager.createName(peerName,
            GSSName.NT_HOSTBASED_SERVICE);
    context = manager.createContext(serverName,
                                    oid,
                                    null,
                                    GSSContext.DEFAULT_LIFETIME);

    // Always respect delegation policy in HTTP/SPNEGO.
    if (context instanceof ExtendedGSSContext) {
        ((ExtendedGSSContext)context).requestDelegPolicy(true);
    }
    oneToken = context.initSecContext(new byte[0], 0, 0);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:52,代码来源:NegotiatorImpl.java

示例2: init

import sun.security.jgss.GSSManagerImpl; //导入方法依赖的package包/类
/**
 * Initialize the object, which includes:<ul>
 * <li>Find out what GSS mechanism to use from the system property
 * <code>http.negotiate.mechanism.oid</code>, defaults SPNEGO
 * <li>Creating the GSSName for the target host, "HTTP/"+hostname
 * <li>Creating GSSContext
 * <li>A first call to initSecContext</ul>
 */
private void init(HttpCallerInfo hci) throws GSSException {
    final Oid oid;

    if (hci.scheme.equalsIgnoreCase("Kerberos")) {
        // we can only use Kerberos mech when the scheme is kerberos
        oid = GSSUtil.GSS_KRB5_MECH_OID;
    } else {
        String pref = java.security.AccessController.doPrivileged(
                new java.security.PrivilegedAction<String>() {
                    public String run() {
                        return System.getProperty(
                            "http.auth.preference",
                            "spnego");
                    }
                });
        if (pref.equalsIgnoreCase("kerberos")) {
            oid = GSSUtil.GSS_KRB5_MECH_OID;
        } else {
            // currently there is no 3rd mech we can use
            oid = GSSUtil.GSS_SPNEGO_MECH_OID;
        }
    }

    GSSManagerImpl manager = new GSSManagerImpl(
            new HttpCaller(hci));

    // RFC 4559 4.1 uses uppercase service name "HTTP".
    // RFC 4120 6.2.1 demands the host be lowercase
    String peerName = "[email protected]" + hci.host.toLowerCase();

    GSSName serverName = manager.createName(peerName,
            GSSName.NT_HOSTBASED_SERVICE);
    context = manager.createContext(serverName,
                                    oid,
                                    null,
                                    GSSContext.DEFAULT_LIFETIME);

    // Always respect delegation policy in HTTP/SPNEGO.
    if (context instanceof GSSContextImpl) {
        ((GSSContextImpl)context).requestDelegPolicy(true);
    }
    oneToken = context.initSecContext(new byte[0], 0, 0);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:52,代码来源:NegotiatorImpl.java


注:本文中的sun.security.jgss.GSSManagerImpl.createContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。