import javacard.security.ECKey; //导入方法依赖的package包/类

/**

* \brief Initialize an EC key with the curve parameters from buf.

*

* \param buf The buffer containing the EC curve parameters. It must be TLV with the following format:

* 81 - prime

* 82 - coefficient A

* 83 - coefficient B

* 84 - base point G

* 85 - order

* 87 - cofactor

*

* \param bOff The offset at where the first entry is located.

*

* \param bLen The remaining length of buf.

*

* \param key The EC key to initialize.

*

* \throw NotFoundException Parts of the data needed to fully initialize

* the key were missing.

*

* \throw InvalidArgumentsException The ASN.1 sequence was malformatted.

*/

private void initEcParams(byte[] buf, short bOff, short bLen, ECKey key) throws NotFoundException, InvalidArgumentsException {

short pos = bOff;

short len;

/* Search for the prime */

pos = UtilTLV.findTag(buf, bOff, bLen, (byte) 0x81);

pos++;

len = UtilTLV.decodeLengthField(buf, pos);

pos += UtilTLV.getLengthFieldLength(len);

key.setFieldFP(buf, pos, len); // "p"

/* Search for coefficient A */

pos = UtilTLV.findTag(buf, bOff, bLen, (byte) 0x82);

pos++;

len = UtilTLV.decodeLengthField(buf, pos);

pos += UtilTLV.getLengthFieldLength(len);

key.setA(buf, pos, len);

/* Search for coefficient B */

pos = UtilTLV.findTag(buf, bOff, bLen, (byte) 0x83);

pos++;

len = UtilTLV.decodeLengthField(buf, pos);

pos += UtilTLV.getLengthFieldLength(len);

key.setB(buf, pos, len);

/* Search for base point G */

pos = UtilTLV.findTag(buf, bOff, bLen, (byte) 0x84);

pos++;

len = UtilTLV.decodeLengthField(buf, pos);

pos += UtilTLV.getLengthFieldLength(len);

key.setG(buf, pos, len); // G(x,y)

/* Search for order */

pos = UtilTLV.findTag(buf, bOff, bLen, (byte) 0x85);

pos++;

len = UtilTLV.decodeLengthField(buf, pos);

pos += UtilTLV.getLengthFieldLength(len);

key.setR(buf, pos, len); // Order of G - "q"

/* Search for cofactor */

pos = UtilTLV.findTag(buf, bOff, bLen, (byte) 0x87);

pos++;

len = UtilTLV.decodeLengthField(buf, pos);

pos += UtilTLV.getLengthFieldLength(len);

if(len == 2) {

key.setK(Util.getShort(buf, pos));

} else if(len == 1) {

key.setK(buf[pos]);

} else {

throw InvalidArgumentsException.getInstance();

}

}

java ec_Java ECKey.setK方法代码示例相关推荐

  1. java ec_Java ECKey.setB方法代码示例

    import javacard.security.ECKey; //导入方法依赖的package包/类 /** * \brief Initialize an EC key with the curve ...

  2. java kryo_Kryo框架使用方法代码示例

    Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边的Download Zip按钮,就能下载到最新版本的Kryo ...

  3. java readtimeout_Java HttpURLConnection.getReadTimeout方法代码示例

    import java.net.HttpURLConnection; //导入方法依赖的package包/类 /** * 得到响应对象 * * @param urlConnection * @retu ...

  4. java invalidate_Java Component.invalidate方法代码示例

    import java.awt.Component; //导入方法依赖的package包/类 /** Installs the component we will embed to display t ...

  5. java hasmoreelements_Java IOException.hasMoreElements方法代码示例

    import java.io.IOException; //导入方法依赖的package包/类 /** * fileName���� ���� package �������� ������ ���� ...

  6. java methode_Java Method.getTypeParameters方法代码示例

    import java.lang.reflect.Method; //导入方法依赖的package包/类 private void validateRuleMethod(MethodRuleDefin ...

  7. java setmethod_Java Operation.setJavaMethod方法代码示例

    import com.sun.tools.internal.ws.processor.model.Operation; //导入方法依赖的package包/类 private void createJ ...

  8. java cancel_Java RunnableFuture.cancel方法代码示例

    import java.util.concurrent.RunnableFuture; //导入方法依赖的package包/类 @Test public void testSnapshotAsyncC ...

  9. java getevent_Java ActionEvent.getWhen方法代码示例

    import java.awt.event.ActionEvent; //导入方法依赖的package包/类 @Override final public void actionPerformed(A ...

最新文章

  1. 8.11 更改用户ID和组ID
  2. Exchange bin先常用工具
  3. 一图解明Android Studio项目文件结构各部分作用
  4. 微信小程序wx.request中post请求时data中参数不能传到后台
  5. 分类器交叉验证java_使用交叉验证的KNN分类器
  6. 关于配置Webapck的 exclude 不过滤 node_modules Babel却没有处理转换node_modules的源码
  7. 异常的分类 java 1615309080
  8. Java中List与数组互相转换
  9. php mysql 数据库操作_php操作MySQL数据库
  10. java opencv 轮廓检测,OpenCV 轮廓检测 - 雷霄骅(leixiaohua1020)的个人页面 - OSCHINA - 中文开源技术交流社区...
  11. 将含有自定义代码的Infopath模板发布到Sharepoint表单库中
  12. Java 蹒跚自学之 第八日 数组 二分查找法
  13. deeplab v3+---Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
  14. jsp如何编写java代码_如何在JSP页面内编写java代码?(代码示例)
  15. pdf转图片文字丢失,字体映射替换
  16. ise许可证怎么解决_ISE 2.4升级警报:安装的少量VM许可证比配置的VM节点
  17. 用极大似然法估计因子载荷矩阵_关于因子分析|stata
  18. 领航致远_李腾飞老师javascript_html_css视频教程
  19. 图片加载失败,img触发错误显示默认图片
  20. weka+em算法+java使用_WEKA学习笔记2 - lyle_5的个人页面 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. Linux(RHEL7.0)下安装nginx-1.10.2
  2. Weex 版扫雷游戏开发
  3. SegmentFault 助力 Uber Hackathon
  4. 不忘历史才能开辟未来,善于继承才能善于创新
  5. 网页制作基础:各种元素解析
  6. [置顶] 【IOS】IOS7 UI适配
  7. UITextField 详解
  8. SQL游标(cursor)详细说明及内部循环使用示例
  9. jquery--call()amp;apply()函数
  10. 软件测试响应时间原则,对于性能测试结果的分析原则