当前位置: 技术问答>java相关
再次请教!
来源: 互联网 发布时间:2014-12-30
本文导语: 目前参与个OA方面的项目,用jbuilder 4+oracle 8i做! 因以前没有用过java,一切都是重新开始。 遇到很多难题,其中最大的是与用户本地文件(特别是word文档的集成问题)。 做OA项目一般都要与公文打交道,而公文的定...
目前参与个OA方面的项目,用jbuilder 4+oracle 8i做!
因以前没有用过java,一切都是重新开始。
遇到很多难题,其中最大的是与用户本地文件(特别是word文档的集成问题)。
做OA项目一般都要与公文打交道,而公文的定义及书写一般在word里面进行。
用vb,vc,delphi等工具当然没什么问题(以前的项目就是这样做的)。
问题是现在要改用java,麻烦就大了。java的设计体系,并不允许程序存取客户机上的文件(applet)。所以,一直找不到下手的地方。
在某些书上看到,如果java程序通过数字签名验证后,可以存取客户机器上的文件,
至于怎么做,却找不到更详细的资料。还请各位指点。
初来此地,积分不高,因此也不可给出太多分,抱歉!
因以前没有用过java,一切都是重新开始。
遇到很多难题,其中最大的是与用户本地文件(特别是word文档的集成问题)。
做OA项目一般都要与公文打交道,而公文的定义及书写一般在word里面进行。
用vb,vc,delphi等工具当然没什么问题(以前的项目就是这样做的)。
问题是现在要改用java,麻烦就大了。java的设计体系,并不允许程序存取客户机上的文件(applet)。所以,一直找不到下手的地方。
在某些书上看到,如果java程序通过数字签名验证后,可以存取客户机器上的文件,
至于怎么做,却找不到更详细的资料。还请各位指点。
初来此地,积分不高,因此也不可给出太多分,抱歉!
|
这就麻烦!http://www.linar.com/jintegra/doc/
|
在java论坛上有一篇关于加密applet的帖子,如下:
These steps describe the creation of a self-signed applet. This is useful for testing purposes. For use of public reachable applets, there will be needed a "real" certificate issued by an authority like VeriSign or Thawte. (See step 10 - no user will import and trust a self-signed applet from an unkown developer).
The applet needs to run in the plugin, as only the plugin is platform- and browser-independent. And without this indepence, it makes no sense to use java...
1. Create your code for the applet as usual.
It is not necessary to set any permissions or use security managers in
the code.
2. Install JDK 1.3
Path for use of the following commands: [jdk 1.3 path]bin
(commands are keytool, jar, jarsigner)
Password for the keystore is *any* password. Only Sun knows why...
perhaps ;-)
3. Generate key: keytool -genkey -keyalg rsa -alias tstkey
Enter keystore password: *******
What is your first and last name?
[Unknown]: Your Name
What is the name of your organizational unit?
[Unknown]: YourUnit
What is the name of your organization?
[Unknown]: YourOrg
What is the name of your City or Locality?
[Unknown]: YourCity
What is the name of your State or Province?
[Unknown]: YS
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=Your Name, OU=YourUnit, O=YourOrg, L=YourCity, ST=YS, C=US
correct?
[no]: yes
(wait...)
Enter key password for tstkey
(RETURN if same as keystore password):
(press [enter])
4. Export key: keytool -export -alias tstkey -file tstcert.crt
Enter keystore password: *******
Certificate stored in file tstcert.crt
5. Create JAR: jar cvf tst.jar tst.class
Add all classes used in your project by typing the classnames in the
same line.
added manifest
adding: tst.class(in = 849) (out= 536)(deflated 36%)
6. Verify JAR: jar tvf tst.jar
Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/
68 Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/MANIFEST.MF
849 Thu Jul 27 12:49:04 GMT+02:00 2000 tst.class
7. Sign JAR: jarsigner tst.jar tstkey
Enter Passphrase for keystore: *******
8. Verifiy Signing: jarsigner -verify -verbose -certs tst.jar
130 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/MANIFEST.MF
183 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/TSTKEY.SF
920 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/TSTKEY.RSA
Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/
smk 849 Thu Jul 27 12:49:04 GMT+02:00 2000 tst.class
X.509, CN=Your Name, OU=YourUnit, O=YourOrg, L=YourCity, ST=YS, C=US
(tstkey)
s = signature was verified
m = entry is listed in manifest
k = at least one certificate was found in keystore
i = at least one certificate was found in identity scope
jar verified.
9. Create HTML-File for use of the Applet by the Sun Plugin 1.3
(recommended to use HTML Converter Version 1.3)
10. Place a link to the .crt file (created in step 4) in the HTML-File.
This .crt file has to be opened by the browser and has to be set to
trusted,
as the root CA for testing is not known to the browser. For use with
"real" certificates, this step should not be necessary.
I needed two long days, to find out these steps. As the documentation at Sun and other Sites is more confusing than clarifying (due to the hundreds of java, plugin and browser versions), i post the steps here. I hope that others may reach the goal in less time ;-)
I'm working on Microsoft platforms and did not test the steps elsewhere.
Reply to this message