KeyStore.builder - .crt 文件的类型参数
KeyStore.builder - type parameter for .crt files
我正在编写将对给定文件应用数字签名的代码。我有 .crt 文件,我需要使用该文件构建 KeyStore 实例。我要使用的方法如下:
Builder newInstance(String **type**, Provider provider,
File file, ProtectionParameter protection)
但是我不确定 'type' 如果我使用 .crt 文件,我应该指定什么,
由于这是我第一次处理数字签名,所以我可能不明白某些事情,在这种情况下不要评判我:-)
谢谢,干杯
您可以先使用私钥 (.pem) 和证书 (.crt) 构建 JKS(java 密钥库文件并使用它)
检查这个答案 Importing the private-key/public-certificate pair in the Java KeyStore
然后你可以使用这个密钥库进行签名,这里是如何加载新创建的 java 密钥库文件
KeyStore keystore = KeyStore.getInstance(TYPE_OF_KEYSTORE);
keystore.load(new FileInputStream(PATH_TO_KEYSTORE), PASSWORD);
这是一个数字签名和验证的例子
PrivateKey oPrivateKey = (PrivateKey) keystore.getKey(sAlias,null);
Provider p = keystore.getProvider();
// data to signed
byte[] data ="this is the just for test".getBytes();
// Signing the data
Signature sig = Signature.getInstance("SHA1withRSA");
sig.initSign(oPrivateKey);
sig.update(data);
byte[] signature = sig.sign(); // the digital signature
Signature verifier = Signature.getInstance("SHA1withRSA", p);
verifier.initVerify(oPublicCertificate);
verifier.update(data);
System.out.println("the verification result "+verifier.verify(signature));
http://muhammadhamed.blogspot.com/2010/04/accessing-ms-certificate-stores-in-java.html
希望对您有所帮助!
我正在编写将对给定文件应用数字签名的代码。我有 .crt 文件,我需要使用该文件构建 KeyStore 实例。我要使用的方法如下:
Builder newInstance(String **type**, Provider provider,
File file, ProtectionParameter protection)
但是我不确定 'type' 如果我使用 .crt 文件,我应该指定什么, 由于这是我第一次处理数字签名,所以我可能不明白某些事情,在这种情况下不要评判我:-)
谢谢,干杯
您可以先使用私钥 (.pem) 和证书 (.crt) 构建 JKS(java 密钥库文件并使用它)
检查这个答案 Importing the private-key/public-certificate pair in the Java KeyStore
然后你可以使用这个密钥库进行签名,这里是如何加载新创建的 java 密钥库文件
KeyStore keystore = KeyStore.getInstance(TYPE_OF_KEYSTORE);
keystore.load(new FileInputStream(PATH_TO_KEYSTORE), PASSWORD);
这是一个数字签名和验证的例子
PrivateKey oPrivateKey = (PrivateKey) keystore.getKey(sAlias,null);
Provider p = keystore.getProvider();
// data to signed
byte[] data ="this is the just for test".getBytes();
// Signing the data
Signature sig = Signature.getInstance("SHA1withRSA");
sig.initSign(oPrivateKey);
sig.update(data);
byte[] signature = sig.sign(); // the digital signature
Signature verifier = Signature.getInstance("SHA1withRSA", p);
verifier.initVerify(oPublicCertificate);
verifier.update(data);
System.out.println("the verification result "+verifier.verify(signature));
http://muhammadhamed.blogspot.com/2010/04/accessing-ms-certificate-stores-in-java.html
希望对您有所帮助!