自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邹德强(CaesarZou)的专栏

关注智能卡、java card、终端平台,及PKI周边技术以及相关产品。

  • 博客(15)
  • 资源 (11)
  • 收藏
  • 关注

原创 (JavaCard) JVM的异常控制器原理,以及编译器对finally的特殊处理

鉴于此处的机制,在卡端和上层大同小异,以上层代码作为例子。JVM == JCVMJRE == JCRE  JVM对异常的处理主要是基于异常表(Exception Table),每个包含了try的方法在编译后除字节码外,都会产生一个附加的数据结构--异常表,异常表结构:{    {PC:BEGIN, PC:END, PC:HANDLER, EXCEPTION-TYPE

2010-04-29 17:06:00 2408

原创 如何创建一个双击可以运行的Jar文件

其实jar就是一个zip压缩,根目录就是默认的classpath。所以运行一个jar除了把对应的class文件按照包格式打包进来,还需要通知JVM需要运行的主类(也就是main在哪)jar是用一个清单文件(manifest.mf)来管理jar包中的视图结构,主类的声明也在里面。 首先创建一个HelloWorld.java文件package test;public class H

2010-04-29 16:30:00 3126 1

原创 嵌入式编译器常用输出格式--Intel 32 bit Hex

Intel HEX文件是记录文本行的ASCII文本文件,下面是Intel HEX文件格式,在Intel HEX文件中,每一行是一个HEX记录由十六进制数组成的机器码或者静态数据,Intel HEX文件经常被用于将程序或数据传输存储到ROM.EPROM,大多数编程器和模拟器使用Intel HEX文件. 记录格式: 一个Intel HEX文件可以包含任意多的十六进制记录,每条记录有五个域,下面

2010-04-27 14:57:00 2971 1

原创 嵌入式编译器常用输出格式--Hex-80(Hex 386)

Keil L51 输出的hex文件格式为Hex-80。是一个文本文件,纪录的格式为::LLAAAARRDDDD………DDDDCCLL:             Length field-长度段:数据段(D)的字节数AAAA:      Address field-地址段:数据段第一个字节的地址RR:            Record type-纪录类型,00代表数据,01代表纪录结束DD..

2010-04-27 14:48:00 5334

原创 嵌入式编译器常用输出格式--Motorola S-records(S19文件)

Motorola S-records 16进制文件格式是嵌入式中除intel hex之外很常见的格式,下面是它的格式:+-------------------//------------------//-----------------------+| type(hex1) | count(hex 1) |  address | data | checksum(从count累加到checksum,

2010-04-27 14:30:00 2824

原创 Keil的lib库函数的封装

在协同工作中,经常会有模块维护和代码封装的问题。把需要封装的代码打成一个lib无疑是一种很好的方式。 1.创建lib 创建一个lib很容易,只需要创建一个target,然后把需要封装的代码全部加进来,然后再Options of Target中选择Create Library,然后编译,因为是lib所以不需要链接,编译过了,你的lib就创建了。当然了,为了别人可以轻松的使用,请提供头文件

2010-04-27 14:24:00 8642 1

原创 C++中的异常处理(求教:catch中的向上类行转化)

C++的try关键字会产生一个独立的栈,try中间的函数和产生的异常对象都在上面,此栈只有在try catch块完成后,才能获得释放。 语法不多谈,举几个例子class B{public: B() {  cout  } B(B& b) {  cout  } virtual ~B() {  cout  }};void func(){ throw B();}void main(){

2010-04-24 00:36:00 988

转载 C++中的RTTI实现

摘要:  RTTI(Run-Time Type Identification)是面向对象程序设计中一种重要的技术。现行的C++标准对RTTI已经有了明确的支持。不过在某些情况下出于特殊的开发需要,我们需要自己编码来实现。本文介绍了一些关于RTTI的基础知识及其原理和实现。RTTI需求:  和很多其他语言一样,C++是一种静态类型语言。其数据类型是在编译期就确定的,不能在运行时更改。然而由于面向对象

2010-04-24 00:22:00 1271

原创 C++中的RTTI扩展应用

近来学习Java逐渐引发了一些对C++相关属性的思考。之前搞清楚了基于虚函数的C++的类Java的多态的实现。今天又想起Java里面的instanceof关键字在C++里面的实现,综合了一些相关的资料,发现还是可行的。instanceof是一种运行态的操作,C++作为一个编译型语言默认是没有在编译过程中获得运行态的状态的,所以要想获得这种扩展的支持需要激活C++的RTTI(Run-Time Typ

2010-04-23 23:11:00 1155

转载 C++ 构造函数抛出异常会引起内存泄漏吗?

我们用实际代码说明问题:先看一下如下代码:#include using namespace std;class Inner{public:Inner(){cout}~Inner(){cout}}; class Outer{private:int m_Value;Inner inner1;public:Outer(i

2010-04-23 17:10:00 1435

转载 C++中的关键字:explicit

  C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。  C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。   所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的

2010-04-23 16:39:00 693

原创 Java与C++的多态

没有必要用一堆绕口的形容词来描述什么叫多态,只举出几个关键点。    设:gun为父类,shootgun和pistol为gun的子类。    Java:    class gun {        void shoot() {             System.out.println("gun shoot");        }     }    class s

2010-04-22 14:37:00 1076 1

原创 JAVA常用类解析-String

      要理解 java中String的运作方式,必须明确一点:String是一个非可变类(immutable)。什么是非可变类呢?简单说来,非可变类的实例是不能被修改的,每个实例中包含的信息都必须在该实例创建的时候就提供出来,并且在对象的整个生存周期内固定不变。java为什么要把String设计为非可变类呢?你可以问问 james Gosling :)。但是非可变类确实有着自身的优势,如状态

2010-04-16 14:58:00 1064

原创 javac参数(-classpath, -sourcepath)详解

首先是官方说法:-classpath:设置用户类路径,它将覆盖 CLASSPATH 环境变量中的用户类路径。若既未指定 CLASSPATH 又未指定 -classpath,则用户类路径由当前目录构成。 -sourcepath:指定用以查找类或接口定义的源代码路径。与用户类路径一样,源路径项用分号 (;) 进行分隔,它们可以是目录、JAR 归档文件或 ZIP 归档文件。如果使用包

2010-04-08 14:23:00 31711 6

原创 CPU卡中T=0通讯协议的分析与实现

关键词:卡片操作系统(COS) 终端应用层(TAL) 终端传输层(TTL) 应用协议数据单元(APDU) 传输协议数据单元(TPDU) IC卡的应用越来越广泛,从存储卡到逻辑加密卡,目前CPU卡已经逐渐在应用中占据主导地 位。CPU卡根据通讯协议可分为两种:接触式和非接触式。接触式CPU卡主要采用两种通讯协议:T=0和T=1通讯协议。T=0是异步半双工字符传输协 议,T=1是异步半双工块传输协

2010-04-08 14:16:00 2747 1

ISO 9796-2

ISO 9796-2

2016-06-15

ISO 9797 part 1

ISO 9797

2016-06-15

remote HCE示例工程 Server端(eclipse)

和remote HCE对应的Server端程序

2016-06-14

remote HCE示例工程(Android Studio)

发了篇HCE入门的文章,好多人和我要参考实现,最简单的版本找不到了,发一个我做的验证类的应用吧。玩法是通过HCE接收APDU,通过网络发送到服务器端的读卡器上,从而实现远程刷卡和共享刷卡;4G情况下银行卡实测表明还是有时延,刷卡会有失败率,但基本可行。到5G的时候,估计能有商用模式。

2016-06-14

Mac上使用pcsc访问智能卡的xcode工程

Mac Lion已经内置了pcscd作为智能卡框架,以及向windows靠拢的pcsclite作为开发库,文件为在Mac上实现了智能卡连接的xcode工程。具体描述参见本人csdn博客。

2012-09-20

ubuntu上基于pcscd和libpcsclite访问智能卡的eclipse工程

ubuntu上基于pcsclite库的参考eclipse cdt工程。在ubuntu上配置pcsc及读卡器请参阅本人的csdn博客。

2012-09-20

PKCS#1 java 语言实现参考 V1.0

基于BigInteger类用java封装的PKCS#1 v2.1 全算法实现,模块与规范一一对应。包含 I2OSP OS2IP RSAEP RSADP RSASP1 RSAVP1 RSAES-OAEP RSAES-PKCS1_v1_5 RSASSA-PSS RSASSA-PKCS1-v1_5 以及 MGF SourceAlgrithm等规范定义的模块。并在注释中对应文档各个部分。并部分实现了规范附带的TestVect的测试脚本。 用C的朋友,请参考开源项目openssl对应的源代码。 本实现完全以学习/导读为目的,在性能上没有做太多的考虑和优化。请不要直接使用到实际项目中,建议使用sun自带的Cipher等类。 bug反馈: zoudeqiang1979@tsinghua.org.cn

2012-03-27

eclipse javacard 开发插件

jcde是基于sun的javacard开发环境jcdk命令行开发的eclipse集成插件。可以用于快速构建javacard工程,以及编译和调试。

2011-09-02

IBM jcop dev kit for eclipse

IBM公司javacard产品jcop的开发套件,原来是免费的,现在貌似收费了。本版本支持javacard 2.2.1 / GP 2.1,可用于快速开发和软模拟。

2011-09-02

智能卡操作及11.11指令封装PCSC类

用以操作支持PC/SC标准读卡器的封装类,并对GSM 11.11的指令进行了封装。

2010-05-17

智能卡规范 3GPP TS 11.11

Specification of the Subscriber Identity Module - Mobile Equipment (SIM - ME) interface 智能卡-手机接口规范(英文版) 版本 8.40

2010-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除