首页 > 解决方案 > 如何从 vault java 驱动程序中检索 hashcorp vault 中不同版本的秘密。或者我们可以禁用秘密的版本控制吗?

问题描述

我最近遇到了秘密的版本控制。但只能从 Vault Java 驱动程序中检索到最新写入的秘密

我试图禁用版本控制以便我可以正常检索它,但它不起作用。如果我们可以禁用它,那就没问题了。

这是我编写的检索机密的 java 程序。我怎么能提到版本?

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import com.bettercloud.vault.SslConfig;
import com.bettercloud.vault.Vault;
import com.bettercloud.vault.VaultConfig;
import com.bettercloud.vault.VaultException;
import com.bettercloud.vault.response.AuthResponse;
import com.bettercloud.vault.response.LogicalResponse;
import com.bettercloud.vault.api.Seal;
import com.bettercloud.vault.response.SealResponse;

public class VaultDriver {

    public static void main(String args[]) throws VaultException {

        File sslCertificate = new File("vault.crt");
        final VaultConfig config =
                    new VaultConfig()
                        .address("https://127.0.0.1:8200")
                        .openTimeout(5)
                        .readTimeout(30)
                        .sslConfig(new SslConfig().verify(true).pemFile(sslCertificate).build())
                        .token("XXXXXX");

        //You may choose not to provide a root token initially, if you plan to use
        //the Vault driver to retrieve one programmatically from an auth backend.

        final Vault vault = new Vault(config,1);
        //System.out.println(vault.toString());
        // vault.auth().loginByUserPass("rohit", "rohit");

        /*final Map<String, Object> secrets = new HashMap<String, Object>();
         * secrets.put("value1", "world"); secrets.put("value2", "bar");
         * 
         * // Write operation final LogicalResponse writeResponse =
         * vault.logical().write("kv/name", secrets);
         * 
         * System.out.println(writeResponse.toString());
         */

        // Read operation
        final String value = vault.logical()
                                  .read("kv/name")
                                  .getData()
                                  .get("key");
        System.out.println();
        System.out.println(value);
    }
}

标签: javacommand-line-interfacehashicorp-vault

解决方案


推荐阅读