gss java_GSSName

该接口封装了单个GSS-API主体实体。

应用程序通过GSSManager类中存在的createName方法之一获取此接口的实现。

在概念上,GSSName包含实体或许多原始名称元素的许多表示,每个支持的底层机制一个。

在GSS术语中,仅包含一个机制的元素的GSSName称为机制名称(MN)

由于不同的身份验证机制可能会使用不同的命名空间来标识其主体,所以GSS-API的命名支持在多机制环境中(或者甚至在底层机制支持多个命名空间的某些单机制环境中)一定是复杂的。 不同的名称格式及其定义标有Oid's和一些标准的类型在这个接口中定义。 名称的格式可以基于其名称类型的唯一Oid派生。

下面是使用GSSName接口的代码示例。 下面的代码创建一个GSSName ,将其转换为MN,执行比较,获取名称的可打印表示,将其导出为字节数组,然后重新导入以获取新的GSSName 。

GSSManager manager = GSSManager.getInstance();

// create a host based service name

GSSName name = manager.createName("service@host",

GSSName.NT_HOSTBASED_SERVICE);

Oid krb5 = new Oid("1.2.840.113554.1.2.2");

GSSName mechName = name.canonicalize(krb5);

// the above two steps are equivalent to the following

GSSName mechName = manager.createName("service@host",

GSSName.NT_HOSTBASED_SERVICE, krb5);

// perform name comparison

if (name.equals(mechName))

print("Names are equals.");

// obtain textual representation of name and its printable

// name type

print(mechName.toString() +

mechName.getStringNameType().toString());

// export and re-import the name

byte [] exportName = mechName.export();

// create a new name object from the exported buffer

GSSName newName = manager.createName(exportName,

GSSName.NT_EXPORT_NAME);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值