数字签名遇到的编码问题
来源:互联网 发布:软件开发模板 编辑:程序博客网 时间:2024/05/20 05:55
今天调试代码时遇到一个比较奇怪的问题,用junit跑测试用例时能够成功,但是一把代码放到tomcat上测试就通不过。测试的接口要求对数据进行签名,两种测试方式需要的密码、用户和证书容器信息都是从相同的文件里读取,但是为什么结果却不一样呢?而当时服务器不太稳定,时不时连不上,就以为是服务器的问题。等服务器稳定后又调了半天后,发现还是同样的问题,代码Debug发现两种方式发送的数字签名信息不一样,那应该不是服务器的问题,应该是数字签名的问题。但这数据签名的方法服务器端只提供了jar包,没有提供源码,只能反编译看,也没发现有什么问题,不过发现代码里有把字符窜转成字节数组,而我请求的数据里有中文,会不会是因为两种测试方式的环境编码不一样,转化字节数组不一样,导致了签名结果不一样呢?于是立即验证,在两种环境的代码中都加了下面的代码再测试,编码果然不一样,junit测试环境下是UTF-8,tomcat环境下是GBK。
log.info(System.getProperty("file.encoding"));于是修改tomcat环境下file.encoding(关于file.encoding)值。
- 如果使用MyEclipse开发,在tomcat的catalina.bat文件中set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%的后面加上 -Dfile.encoding="UTF-8"。
- 如果使用Eclipse,选择server,双击"Tomcat v6.0 Server at localhost",General Information-->Open launch configuration-->Arguments-->VM arguments里参数最后面添加-Dfile.encoding="UTF-8"。
搞定!
0 0
- 数字签名遇到的编码问题
- PHP编码遇到的问题
- POP3遇到的编码问题
- JApllet的数字签名问题
- 终于遇到编码的问题了...
- chunked编码中遇到的问题
- 工作中遇到的两个编码问题
- 个人遇到的QT中文编码问题
- 网页抓取中遇到的编码问题
- 搜索过程中遇到的编码问题
- 我遇到的PHP编码问题
- 网站采用gb2312编码遇到的问题
- python安装遇到编码错误的问题
- 哈夫曼编码时遇到的一些问题
- 关于编码遇到的一些问题
- 遇到的编码规范问题1
- Java中常遇到的编码问题汇总
- 处理Java编码遇到的一个问题
- OC---内存管理
- mysql 查询某列里是否含有某字符
- 虚函数隐藏
- mysql 特殊字符 查询 处理
- uva--307+dfs
- 数字签名遇到的编码问题
- AngularJS风格指南,对代码规范很有帮助
- 我重新安装了 Windows,可是启动时却找不到 Ubuntu 的启动项了?
- ios 关于 initWithFrame 方法
- CSIPSIMPLE 简单分析
- 解决在itunes connect中无法删除旧的build
- 第12周项目1.2.1
- application:get_env(App, Par) 使用及事例N
- Visual Studio+VAssistX自动添加注释