#副標=Java平台安全設計
#大標=在Java平台使用與設計資訊安全物件
#作者=文/成大資通安全研發中心
===============box===========
Signature rsaSign = Signature.getInstance("SHA1withRSA");
=================end===============
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=sun.security.mscapi.SunMSCAPI
============TestProvider.java=============
import java.security.*;
public class TestProvider {
public static void main(String[] args) {
Provider[] p=Security.getProviders();
for(int i=0; i
"+isValid);
}
catch(NoSuchAlgorithmException e) { System.out.println("No such algorithm."); }
catch(InvalidKeyException e) { System.out.println("Invalid Key."); }
catch(SignatureException e) { System.out.println("Invalid Signature."); }
}
}
==============end=============
========box=======
Signature verifies ==> true
===========end============
==========box 程式2==========
super("IsuCrypto", 1.0, "SHA1 with RSA siganure, Onlt for Test");
:
put("Signature.SHA1withRSA","tw.edu.isu.IsuCrypt.RSAsig");
// 前為服務名稱,後為類別位置
put("Alg.Alias.Signature.SHA-1withRSA", "SHA1withRSA");
// 服務之別名
=================end===============
============box 指令1=========
jar cvf
=============END=============
===========box指令2========
keytool -genkeypair -alias \
-keyalg DSA -keysize 1024 \
-dname "cn=, ou=Java Software Code Signing,\
o=Sun Microsystems Inc" \
-keystore \
-storepass
====================end==============
============box 指令3===========
keytool -certreq -alias \
-file \
-keystore \
-storepass
====================end==============
===========box指令4==========
keytool -import -alias \
-file \
-keystore \
-storepass
keytool -import -alias \
-file \
-keystore \
-storepass
===============end===============
===========box指令5==========
jarsigner -keystore \
-storepass \
===============end===============
===========box指令6==========
jarsigner -verify
===============end===============