Java - 生成keystore
来源:互联网 发布:自学机器人编程 编辑:程序博客网 时间:2024/05/22 11:53
有个需求,说要在生成PDF文件时加上signature。
操作PDF容易,用:
<dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.1.3</version></dependency>
加个signature可以用这个方法:
public static PdfStamper createSignature(final PdfReader reader, final OutputStream os, final char pdfVersion){..}
然后我用PdfStamper对象.getSignatureAppearance()获得一个PdfSignatureAppearance再给他setCrypto...
/** * Sets the cryptographic parameters. * @param privKey the private key * @param certChain the certificate chain * @param crlList the certificate revocation list. It may be <CODE>null</CODE> * @param filter the cryptographic filter type. It can be SELF_SIGNED, VERISIGN_SIGNED or WINCER_SIGNED */ public void setCrypto(PrivateKey privKey, Certificate[] certChain, CRL[] crlList, PdfName filter) { this.privKey = privKey; this.certChain = certChain; this.crlList = crlList; this.filter = filter; }
参数列表的前两个东西我需要从KeyStore中得到....
KeyStore...java.security.KeyStore...
String mypassword = "hehe";KeyStore ks_ = KeyStore.getInstance("JKS");ks_.store(new FileOutputStream("papa.keystore"),mypassword.toCharArray());
但是却提示:
Exception in thread "main" java.security.KeyStoreException: Uninitialized keystore
那怎么才算initialized?
if (!initialized) { throw new KeyStoreException("Uninitialized keystore");}
我们需要一个文件!
public final void load(InputStream stream, char[] password) throws IOException,NoSuchAlgorithmException, CertificateException { keyStoreSpi.engineLoad(stream, password); initialized = true;}
在此记录一下windows下生成keystore文件的方法...
先到我的JDK的bin目录下找keytool
输入keytool -genkey -alias hehe.keystore -keystore hehe.keystore,然后按提示走:
按提示再输入两次口令后发现生成了一个.keystore,可以拿来用了。
String PASSWORD = "papa";KeyStore ks = KeyStore.getInstance("jks");ks.load(new FileInputStream("hehe.keystore"), PASSWORD.toCharArray());String alias = (String)ks.aliases().nextElement();PrivateKey key = (PrivateKey)ks.getKey(alias, PASSWORD.toCharArray());Certificate[] chain = ks.getCertificateChain(alias);
分类: Java Basic
标签: java
0 0
- Java - 生成keystore
- Java Keytool 生成 keystore 命令
- 生成keystore
- java自带工具keytool生成keystore
- keytool.exe的详解(参数)、命名行生成keystore、java代码生成keystore
- JAVA keystore
- Java Keystore
- JAVA keystore
- Java KeyStore
- Java 生成 keystore || 配置 SSL 的一些指令
- java 调用 keytool 生成keystore 和 cer 证书
- java 调用 keytool 生成keystore 和 cer 证书
- java 调用 keytool 生成keystore 和 cer 证书
- java 调用 keytool 生成keystore 和 cer 证书
- java 调用 keytool 生成keystore 和 cer 证书
- JAVA调用 keytool 生成keystore 和 cer 证书
- android keystore的生成
- 重新生成debug.keystore
- mediaStore的使用
- linux网络设备—mdio总线
- jdbc连接数据库使用sid和service_name的区别
- Linux设备驱动子系统第三弹 - Input
- Fzu 2036 Log Calculator(JAVA 浮点数输出精度控制)
- Java - 生成keystore
- Win8.1 取消开机密码
- ORACLE11g 更改RAC归档模式
- 【修了一下午手机!算是了解android系统吧,呵呵!】
- sublime text2 python error message /usr/bin/python: can't find '__main__' module in ''
- linux中各个目录的含义和作用
- bug report的三要素
- sshd_localhost出错:Connection closed by ::1
- Linux设备驱动子系统第四弹 - USB Gadget