import org.bouncycastle.x509.X509AttributeCertificate; //导入方法依赖的package包/类

/**

* Parses the contents of an attribute certificate.

* NOTE: Cryptographic signatures, time stamps etc. will not be checked.

*

* @param ac the attribute certificate to parse for VOMS attributes

*/

public VOMSAttribute(X509AttributeCertificate ac)

{

if (ac == null)

{

throw new IllegalArgumentException("VOMSAttribute: AttributeCertificate is NULL");

}

myAC = ac;

X509Attribute[] l = ac.getAttributes(VOMS_ATTR_OID);

if (l == null)

{

return;

}

try

{

for (int i = 0; i != l.length; i++)

{

IetfAttrSyntax attr = IetfAttrSyntax.getInstance(l[i].getValues()[0]);

// policyAuthority is on the format /:

String url = ((DERIA5String)attr.getPolicyAuthority().getNames()[0].getName()).getString();

int idx = url.indexOf("://");

if ((idx < 0) || (idx == (url.length() - 1)))

{

throw new IllegalArgumentException("Bad encoding of VOMS policyAuthority : [" + url + "]");

}

myVo = url.substring(0, idx);

myHostPort = url.substring(idx + 3);

if (attr.getValueType() != IetfAttrSyntax.VALUE_OCTETS)

{

throw new IllegalArgumentException(

"VOMS attribute values are not encoded as octet strings, policyAuthority = " + url);

}

ASN1OctetString[] values = (ASN1OctetString[])attr.getValues();

for (int j = 0; j != values.length; j++)

{

String fqan = new String(values[j].getOctets());

FQAN f = new FQAN(fqan);

if (!myStringList.contains(fqan) && fqan.startsWith("/" + myVo + "/"))

{

myStringList.add(fqan);

myFQANs.add(f);

}

}

}

}

catch (IllegalArgumentException ie)

{

throw ie;

}

catch (Exception e)

{

throw new IllegalArgumentException("Badly encoded VOMS extension in AC issued by " +

ac.getIssuer());

}

}

x509代码实例java_Java X509AttributeCertificate.getIssuer方法代码示例相关推荐

  1. python程序异常实例_Python werkzeug.exceptions方法代码示例

    本文整理汇总了Python中werkzeug.exceptions方法的典型用法代码示例.如果您正苦于以下问题:Python werkzeug.exceptions方法的具体用法?Python wer ...

  2. python re 简单实例_Python re.search方法代码示例

    本文整理汇总了Python中re.search方法的典型用法代码示例.如果您正苦于以下问题:Python re.search方法的具体用法?Python re.search怎么用?Python re. ...

  3. drawimage的用法 java_Java Graphics.drawImage方法代码示例

    本文整理汇总了Java中javax.microedition.lcdui.Graphics.drawImage方法的典型用法代码示例.如果您正苦于以下问题:Java Graphics.drawImag ...

  4. python绘制雷达图代码实例-PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...

  5. python代码实例sicket_Python socket聊天脚本代码实例

    这篇文章主要介绍了Python socket聊天脚本代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 没有前端,多开了一条线程用于接收信息. ...

  6. getAttribute实例例java_Java ExifInterface.getAttribute方法代码示例

    import android.media.ExifInterface; //导入方法依赖的package包/类 public static void copyExif(ExifInterface or ...

  7. findclass java_Java Context.findClass方法代码示例

    import jdk.nashorn.internal.runtime.Context; //导入方法依赖的package包/类 private static Class> simpleType ...

  8. Bytes int java_Java Bytes.readInt方法代码示例

    import net.openhft.chronicle.bytes.Bytes; //导入方法依赖的package包/类 @NotNull @Override public CharSequence ...

  9. object getkey java_Java S3Object.getKey方法代码示例

    import com.amazonaws.services.s3.model.S3Object; //导入方法依赖的package包/类 private S3Object decipher(GetOb ...

最新文章

  1. Mac 技术篇-修改默认的python版本,mac最新版Python3.7.4的安装配置
  2. href 一个正则表达式的解析 ? 号解析
  3. C语言快速幂取模算法小结
  4. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹、避障、遥控实验综合程序
  5. SAP S4CRM和C4C的技术比较
  6. QT调用dll且进入DLL src code调试
  7. layer加载的页面偶尔出现空白_Layer-Cake 模式的设计
  8. SpringBoot2.x 整合 Ueditor
  9. 领域驱动设计和业务建模的最佳实现模式
  10. python与专业相结合应用案例_Office高级应用与Python综合案例教程(普通高等教育十三五规划教材)...
  11. python标准函数什么意思_python中quote函数是什么意思,怎么用
  12. JavaScript的Array对象使用(1)
  13. win10更新完提示未安装任何音频输出设备2019-11-13解决
  14. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)G Fibonacci
  15. html5 mp4转换ogv格式,FFmpeg 批量转换HTML5视频(mp4/webm/ogv)
  16. Elasticsearch - Indices stats 获取索引级别的统计信息之三 【indexing】索引操作信息
  17. DS1302 时钟 51单片机实现时钟显示
  18. python字符串与十六进制互相转换
  19. Win10 笔记本显示器颜色太艳,如何将电脑屏幕颜色调淡
  20. centos7.9中mysql5.6数据库安装和配置以及修改端口

热门文章

  1. Application log handling when maintaining product sales area data COM_PRWB_SET_LOGSETTYPE
  2. SAP BRF+ function mode VS event mode
  3. 使用form上传文件到application server的另一种办法
  4. 使用代码判断某个note是否已经implemented
  5. SAP Fiori customer report的学习
  6. SAP CRM Opportunity订单的文档流Document Flow的一些变体variant
  7. 使用JavaScript ES6的新特性计算Fibonacci(非波拉契数列)
  8. OpenFOAM流固耦合问题-FsiFoam(foam-extend-4.0)运行tutorials的bug修复
  9. 细胞计算机生命游戏,【图片】【20170108 其它內容】【转】生命游戏【三体吧】_百度贴吧...
  10. python面向对象的基本概念_面向对象的概念和基本语法,python,学习,笔记,一,基础...