首页 > 解决方案 > CKR_SESSION_READ_ONLY 使用 keytool 创建密钥库时

问题描述

我正在尝试使用以下命令创建密钥库:

openssl genrsa -out ./files/certificates/ca/rootCA.key 2048

openssl \
    req -x509 \
    -new \
    -nodes \
    -key ./files/certificates/ca/rootCA.key \
    -sha256 \
    -days 1024 \
    -out ./files/certificates/ca/rootCA.crt \
    -subj "/C=**/ST=***/L=****/O=***/OU=DevOps" 

然后,尝试创建一个信任库:


keytool -keystore zookeeper.truststore.jks -alias CARoot -import -file ./rootCA.crt -noprompt -storepass password

但它响应以下错误:


keytool error: java.security.KeyStoreException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_SESSION_READ_ONLY"

当运行 assudo时,文件创建为空,但有EOFException例外。

在 SO / 文档上很难看到任何有意义的东西。你知道为什么会这样吗?我在带有 Java 8 的 Windows 上的 Ubuntu WSL2 上运行得很好:


openjdk version "1.8.0_275"

OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01)

OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)

使用 RHEL 8.3 和 Java 8 的机器上的相同命令keytool ...失败并出现上述错误。

标签: javaapache-kafkaapache-zookeeperkeystorekeytool

解决方案


添加storetype=jks帮助运行命令


推荐阅读