bouncycastle android,IllegalAccessError with Android and BouncyCastle
问题
I am trying to implement a timestamp request as seen here:
http://bouncy-castle.1462172.n4.nabble.com/Timestamp-request-and-response-td1558231.html
In j2se it works fine, but on android I get an IllegalAccessError.
Logcat output :
FATAL EXCEPTION: main
java.lang.IllegalAccessError: tried to access method org.bouncycastle.asn1.DERBoolean.:(Z)V from class org.bouncycastle.tsp.TimeStampRequestGenerator
at org.bouncycastle.tsp.TimeStampRequestGenerator.setCertReq(Unknown Source)
at org.ats.ats.onCreate(ats.java:30)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 59): Force finishing activity org.ats/.ats
It is necessary for me to ask for the Certificate in the TSResponse.
Android api is 2.2
My code:
TimeStampRequestGenerator reqgen = new TimeStampRequestGenerator();
reqgen.setCertReq(true);
MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
messageDigest.update("messageImprint".getBytes());
byte[] digest = messageDigest.digest();
String ocspUrl = "http://egtstamp.egroup.hu:80/tsa";
OutputStream out = null;
TimeStampRequest req = reqgen.generate(TSPAlgorithms.SHA1, digest);
byte request[] = req.getEncoded();
URL url = new URL(ocspUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestMethod("POST");
con.setRequestProperty("Content-type", "application/timestamp-query");
con.setRequestProperty("Content-length", String.valueOf(request.length));
out = con.getOutputStream();
out.write(request);
out.flush();
来源:https://stackoverflow.com/questions/5659965/illegalaccesserror-with-android-and-bouncycastle
bouncycastle android,IllegalAccessError with Android and BouncyCastle相关推荐
- android+xposed+实例,Android Studio 上第一个 Xposed 模块(示例代码)
环境: 已root手机一枚 Android Studio一枚 官方文档参考 这里 . 准备工作 我们需要事先下载一个 Xposed installer 安装在手机上,用来管理所有的模块. 安装完成后打 ...
- android layout组件,Android UI学习 - Linear Layout, RelativeLayout
1.一些常用的公共属性介绍 1) layout_width -宽 fill_parent: 宽度和父元素相同,wrap_content: 宽度随本身的内容所调整,或者指定 px值来设置宽 2) lay ...
- android:layout_gravity 和 android:gravity 的区别
gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思. android:layout_gravity 和 android:gravity 的区别 从名字上可以看到,android:gr ...
- Android横向伸缩,Android 实现伸缩布局效果示例代码
最近项目实现下面的图示的效果,本来想用listview+gridview实现,但是貌似挺麻烦的于是就用flowlayout 来addview实现添加伸缩的效果,实现也比较简单. mainActivit ...
- android ble 设备扫描程序,Android应用开发Android 7.0 BLE scan 问题:程序无错但扫描不到BLE设备...
本文将带你了解Android应用开发Android 7.0 BLE scan 问题:程序无错但扫描不到BLE设备,希望本文对大家学Android有所帮助. < 最近在做毕设,需要几周内从头学起 ...
- android window 大小,android popupWindow 中宽度莫名很大,求帮助?
这个是popupwindow的内容xml(就是放了个ListView): android:layout_width="wrap_content" android:layout_he ...
- android radiobutton 分组,Android 第十课——UI RadioButton
常用基础空组件 5 RadioGroup RadioButton 单选按钮时常用组件之一,但是开发过程中虽然很多地方会用到单选按钮,但是却不会用Android系统提供的原始样式,类似我们在写html时 ...
- android单线字体,Android自定义字体
在main文件夹下,新建assets/fonts文件,添加.otf文件 image.png 字体工具类 import android.app.Application; import android.g ...
- mp4 android自动播放,Android 使用VideoView播放MP4的简单实现
使用VideoView播放MP4 播放示例 实现简单的播放功能,播放手机本地的MP4文件.不依赖任何第三方框架,不添加任何防腐剂. 添加一个系统自带的控制条. 申请权限 读取存储中的MP4文件 准备布 ...
- android 虚方法,尝试在空对象引用上调用虚方法’android.view.View android.view.View.getRootView()’...
我收到这个错误, "Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' ...
最新文章
- 详解Linux的压缩解压缩命令
- linux下硬盘的安装及分区fdisk
- 基于Elasticsearch实现搜索推荐
- 给页面加速,干掉Dom Level 0 Event
- 美团DSP广告策略实践
- 单循环 输入一行星花
- cross apply
- C++串口通信API方式
- python简单爬虫代码-python简单爬虫(二)
- python语言的读法-就语法而言,Python 这个语言怎么样?
- 诺奖这么多,经济还崩溃了?
- BZOJ2160 拉拉队排练
- 面包屑导航 java_jquery 面包屑导航 具体实现
- css完美参考手册 chm,css4.0参考手册
- 学校教务系统服务器配置,校园小程序: 基于强智教务系统的校园服务类小程序--多校版本(默认 山科)使用云开发...
- ffmpeg js转换音频_linux下使用ffmpeg将amr转成mp3
- flex布局之文字加图片
- springboot项目中,如何避免http请求表单数据被篡改
- MATLAB sin和sind的区别
- gta5oracle2数据,GTA5 handling 数据详细研究结果(2018年最新研究)
热门文章
- 服务器内存占用率76%,IT运维常见问题之一:服务器内存占有率高
- HTML+5.2+新特性,HTML 5中的新特性
- 教你如何做一个三角形
- python什么意思m_/usr/bin中的python3.6m 中的m是什么意思?和python3.6有什么区别?
- Melancholy 题解
- 2015阿里巴巴北京年会——马云“北伐”讲话
- 【网络安全】网络安全期末大题 复习题
- 【CSP-S 2019模拟】题解
- mt950报文解析_MT报文有两种格式
- MySQL -> DML:删除(delete),(truncate table)