用于分发和管理密钥的系统
自2023年9月18日起,本项目已弃用且不再维护;我们建议使用HashiCorp Vault作为更强大且积极支持的替代方案。
Keywhiz是一个用于分发和管理密钥的系统。 更多信息,请参阅[网站][1]。
我们的[使用Keywhiz保护基础设施密钥][2]博客文章值得一读,因为它提供了一些有用的背景信息。
Keywhiz需要Java 11和MySQL 5.7或更高版本。
有关提交补丁的详细信息,请参阅CONTRIBUTING。
构建Keywhiz:
mvn install运行Keywhiz:
java -jar server/target/keywhiz-server-*-shaded.jar [COMMAND] [OPTIONS]开始使用时有用的命令包括 migrate、add-user 和 server。使用 --help 可查看所有可用命令的列表。使用 [COMMAND] --help 可获取特定命令的帮助。
例如,要使用 MySQL 数据库以开发模式运行 Keywhiz:
SERVER_JAR="server/target/keywhiz-server-*-shaded.jar"
KEYWHIZ_CONFIG="server/target/classes/keywhiz-development.yaml"
# 初始化开发数据库
java -jar $SERVER_JAR migrate $KEYWHIZ_CONFIG
# 添加一个管理员用户
java -jar $SERVER_JAR add-user $KEYWHIZ_CONFIG
# 运行服务器
java -jar $SERVER_JAR server $KEYWHIZ_CONFIG要连接到正在运行的 Keywhiz 实例,您需要使用 CLI。
一个示例辅助 shell 脚本,用于包装 keywhiz-cli 并设置一些默认参数:
#!/bin/sh
# 设置编译并着色后的 keywhiz-cli JAR 文件路径
KEYWHIZ_CLI_JAR="/path/to/keywhiz-cli-shaded.jar"
KEYWHIZ_SERVER_URL="https://$(hostname):4444"
# 如果你想指定非标准的 CA 信任库,请使用这些标志。
# 另外,在开发和测试环境中,请使用 --devTrustStore
# 标志来使用默认信任库(请勿在生产环境中使用,因为
# 该信任库已检入 Keywhiz 的代码中)。
TRUSTSTORE="-Djavax.net.ssl.trustStore=/path/to/ca-bundle.jceks"
TRUSTTYPE="-Djavax.net.ssl.trustStoreType=JCEKS"java "$TRUSTSTORE" "$TRUSTTYPE" -jar "$KEYWHIZ_CLI_JAR" -U "$KEYWHIZ_SERVER_URL" "$@" Keywhiz 使用 jOOQ 与其数据库进行通信
暂无开放 Issues,或尚未同步最近议题。