问题

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相关推荐

  1. android+xposed+实例,Android Studio 上第一个 Xposed 模块(示例代码)

    环境: 已root手机一枚 Android Studio一枚 官方文档参考 这里 . 准备工作 我们需要事先下载一个 Xposed installer 安装在手机上,用来管理所有的模块. 安装完成后打 ...

  2. android layout组件,Android UI学习 - Linear Layout, RelativeLayout

    1.一些常用的公共属性介绍 1) layout_width -宽 fill_parent: 宽度和父元素相同,wrap_content: 宽度随本身的内容所调整,或者指定 px值来设置宽 2) lay ...

  3. android:layout_gravity 和 android:gravity 的区别

    gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思. android:layout_gravity 和 android:gravity 的区别 从名字上可以看到,android:gr ...

  4. Android横向伸缩,Android 实现伸缩布局效果示例代码

    最近项目实现下面的图示的效果,本来想用listview+gridview实现,但是貌似挺麻烦的于是就用flowlayout 来addview实现添加伸缩的效果,实现也比较简单. mainActivit ...

  5. android ble 设备扫描程序,Android应用开发Android 7.0 BLE scan 问题:程序无错但扫描不到BLE设备...

    本文将带你了解Android应用开发Android 7.0  BLE scan 问题:程序无错但扫描不到BLE设备,希望本文对大家学Android有所帮助. < 最近在做毕设,需要几周内从头学起 ...

  6. android window 大小,android popupWindow 中宽度莫名很大,求帮助?

    这个是popupwindow的内容xml(就是放了个ListView): android:layout_width="wrap_content" android:layout_he ...

  7. android radiobutton 分组,Android 第十课——UI RadioButton

    常用基础空组件 5 RadioGroup RadioButton 单选按钮时常用组件之一,但是开发过程中虽然很多地方会用到单选按钮,但是却不会用Android系统提供的原始样式,类似我们在写html时 ...

  8. android单线字体,Android自定义字体

    在main文件夹下,新建assets/fonts文件,添加.otf文件 image.png 字体工具类 import android.app.Application; import android.g ...

  9. mp4 android自动播放,Android 使用VideoView播放MP4的简单实现

    使用VideoView播放MP4 播放示例 实现简单的播放功能,播放手机本地的MP4文件.不依赖任何第三方框架,不添加任何防腐剂. 添加一个系统自带的控制条. 申请权限 读取存储中的MP4文件 准备布 ...

  10. android 虚方法,尝试在空对象引用上调用虚方法’android.view.View android.view.View.getRootView()’...

    我收到这个错误, "Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' ...

最新文章

  1. 详解Linux的压缩解压缩命令
  2. linux下硬盘的安装及分区fdisk
  3. 基于Elasticsearch实现搜索推荐
  4. 给页面加速,干掉Dom Level 0 Event
  5. 美团DSP广告策略实践
  6. 单循环 输入一行星花
  7. cross apply
  8. C++串口通信API方式
  9. python简单爬虫代码-python简单爬虫(二)
  10. python语言的读法-就语法而言,Python 这个语言怎么样?
  11. 诺奖这么多,经济还崩溃了?
  12. BZOJ2160 拉拉队排练
  13. 面包屑导航 java_jquery 面包屑导航 具体实现
  14. css完美参考手册 chm,css4.0参考手册
  15. 学校教务系统服务器配置,校园小程序: 基于强智教务系统的校园服务类小程序--多校版本(默认 山科)使用云开发...
  16. ffmpeg js转换音频_linux下使用ffmpeg将amr转成mp3
  17. flex布局之文字加图片
  18. springboot项目中,如何避免http请求表单数据被篡改
  19. MATLAB sin和sind的区别
  20. gta5oracle2数据,GTA5 handling 数据详细研究结果(2018年最新研究)

热门文章

  1. 服务器内存占用率76%,IT运维常见问题之一:服务器内存占有率高
  2. HTML+5.2+新特性,HTML 5中的新特性
  3. 教你如何做一个三角形
  4. python什么意思m_/usr/bin中的python3.6m 中的m是什么意思?和python3.6有什么区别?
  5. Melancholy 题解
  6. 2015阿里巴巴北京年会——马云“北伐”讲话
  7. 【网络安全】网络安全期末大题 复习题
  8. 【CSP-S 2019模拟】题解
  9. mt950报文解析_MT报文有两种格式
  10. MySQL -> DML:删除(delete),(truncate table)