Я недавно сталкивался с версионированием секретов. Но только самый последний написанный секрет может быть получен из драйвера хранилища 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);
}
}