我想在即将开展的项目中使用Keystore。我看到Java中有一个Keystore API。但这似乎非常复杂。
是否还有其他适用于Java / Groovy的良好密钥库?
答案 0 :(得分:1)
不是我知道的。从我的角度来看,API相对尽可能小,可以提供它需要提供的东西。
KeyStore keyStore = keyStore.getInstance(KeyStore.getDefaultType());
keyStore.load( inputStream, storePassword.getBytes() );
// Get a key
if ( keyStore.isKeyEntry(alias) ) {
Key key = keyStore.getKey(alias, keyPassword.getBytes());
}
// Store a new key
KeyFactory keyFactory = KeyFactory.getInstance(KeyStore.getDefaultType());
KeySpec keySpec ...; // depends on what kind of key you want to create (ie. rsa, etc..)
Key key = keyFactory.generatePrivate(keySpec);
// sign the key here
Certificate certChain[] = ...; // get the cert chain
keyStore.setKeyEntry(newAlias, newKey, newKeyPassword.getBytes(), certChain);
keyStore.store(outputStream, storePassword.getBytes());
这是处理密钥库需要执行的操作的相对最少的代码。