我想在java中创建一个https客户端,它最初没有任何CA证书可信任。因为我不希望JVM使用默认的cacerts文件,所以我应该创建一个空的信任存储并将其指向JVM<我怎样才能创建一个空的信任存储?
如果有人最终再次来到这里:
public static void main (String[] args) {
String storePassword = "storePassword";
String storeName = "emptyStore.jks";
String storeType = "jks";
try (FileOutputStream fileOutputStream = new FileOutputStream(storeName)) {
KeyStore keystore = KeyStore.getInstance(storeType);
keystore.load(null, storePassword.toCharArray());
keystore.store(fileOutputStream, storePassword.toCharArray());
} catch (CertificateException | NoSuchAlgorithmException | IOException | KeyStoreException e) {
e.printStackTrace();
}
然后用keytool检查内容:
$ keytool -list -keystore emptyStore.jks -storepass storePassword
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 0 entries
我找到的一个可能的解决方案是将一些随机证书导入到新创建的信任存储库中,然后从其中删除导入的证书。这会留下一个空密钥/信任存储区。不幸的是,JVM对空的信任存储不满意,并对此抛出了一个异常。因此,至少应该有一个证书,可以是任何无效或过期的证书,以实现目标。
使用keytool创建随机密钥对:
keytool -genkeypair -alias boguscert -storepass storePassword -keypass secretPassword -keystore emptyStore.keystore -dname "CN=Developer, OU=Department, O=Company, L=City, ST=State, C=CA"
那就删了吧
keytool -delete -alias boguscert -storepass storePassword -keystore emptyStore.keystore
回顾其内容:
$ keytool -list -keystore emptyStore.keystore -storepass storePassword
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 0 entries
我想用自签名证书连接到TLS服务器,所以我需要一个自定义信任存储。似乎绝对需要密码才能导入证书,但我真的不需要密码保护信任存储区。使用标准密码“changeit”可以工作,但我更希望没有密码。 请注意,这是一个“信任存储”,而不是“密钥存储”,因此信任存储中根本没有秘密材料:只有服务器的证书,因此客户机可以验证服务器是可信的。 使用可以吗?是否有其他工具可以从信任存储区中移除密码?了解到身份验证信
问题内容: 据我了解,密钥库通常会保存私钥/公钥,而信任库通常只保存公钥(并代表你打算与之通信的受信任方的列表)。好吧,这是我的第一个假设,因此,如果这不正确,那么我可能起步并不顺利。 不过,我很想了解使用keytool时如何/何时区分商店。 因此,到目前为止,我已经使用 这将创建我的keystore.ks文件。我回答yes了我是否信任bob的问题,但是我不清楚这是否创建了密钥库文件或信任库文件?
问题内容: 开始听说“ POJO”(普通的旧Java对象)。我用谷歌搜索,但仍然不太了解这个概念。谁能给我关于POJO的清晰描述? 考虑带有变量“ id,名称,地址,薪水”的“人员”类-在这种情况下我将如何创建POJO?代码在POJO下方吗? 问题答案: POJO只是一个普通的,已删除限制的Java Bean。Java Bean必须满足以下要求: 默认的无参数构造函数 对于名为foo的可变属性,遵
计划 httpjob 任务的定义 一次性的 job 只运行一次 1. 进入hangfire的后台 点击 左侧栏【计划】 会看到一个按钮名称叫 【新增常规作业】如下图所示: 2. 点击【新增常规作业】会出现一个json编辑器 如下图所示 json 编辑器的参数说明如下 字段名称 备注 JobName 你给这个httpjob起的名称【必填项】 Method 这个httpjob的请求方式 "get" 或
但随后文件每次都被触摸,在日志中显示为黄线,这也是不令人满意的... 这个简单的问题还有更好的解决办法吗?
本文向大家介绍R创建一个空的data.frame,包括了R创建一个空的data.frame的使用技巧和注意事项,需要的朋友参考一下 示例 Adata.frame是一种特殊的列表:它是矩形。列表的每个元素(列)具有相同的长度,并且每一行都有一个“行名”。每个列都有其自己的类,但是一个列的类可以与另一列的类不同(与矩阵不同,在矩阵中,所有元素都必须具有相同的类)。 原则上,adata.frame可以没