1

我正在尝试设置一个 java 应用程序以连接到Hashicorp 的保险库并使用 TLS 后端进行身份验证(使用 SSL 证书)

我正在使用 apache httpcomponents 4.4,如下所示:

final CloseableHttpClient httpclient = HttpClients.custom().setSSLContext(mySslContext).build();
final CloseableHttpResponse response = httpclient.execute(myRequest)

其中 myRequest 是对 url 的 Post 调用: https ://127.0.0.1:8200/v1/auth/cert/login

并且 mySslContext 是使用密钥库文件构建的

我有如下设置保险库:

vault server -dev
vault auth-enable cert
vault write auth/cert/certs/default display_name=default policies=default certificate=@C:/dev/keys/vault/vaultPriKey.pem ttl=3600

然而,当我尝试执行请求时,我得到:

Unrecognized SSL message, plaintext connection?

我是否缺少某种形式的配置?

4

1 回答 1

1

我需要在没有开发环境的情况下设置保管库

使用了此示例配置:(请注意,不使用 -dev 您需要对其进行初始化和解封)

backend "inmem" {
  address = "127.0.0.1:8500"
  path = "vault"
}

listener "tcp" {
    address = "127.0.0.1:9000"
    tls_disable = 1
}

listener "tcp" {
 address = "127.0.0.1:8200"
 tls_disable = 0
 tls_cert_file = "C:/my/server.pem"
 tls_key_file = "C:/my/serverkey.pkcs8"
}

就像这样,您可以在 8200 上使用 ssl 连接,而在 9000 上不使用 ssl

于 2016-06-04T07:57:34.043 回答