初始化KMS執行個體SDK用戶端後,您可以通過用戶端調用GetSecretValue介面擷取憑據值。本文介紹擷取憑據值的程式碼範例。
完整程式碼範例
調用GetSecretValue介面擷取憑據值。
源碼github地址:GetSecretValueSample.java
程式碼範例解析
初始化用戶端
關於初始化用戶端的詳細介紹,請參見初始化用戶端。
import com.aliyun.dkms.gcs.openapi.models.Config;
import com.aliyun.dkms.gcs.sdk.Client;
public static void initClient() throws Exception {
// 連線協定請設定為"https"。KMS執行個體服務僅允許通過HTTPS協議訪問。
Config config = new Config();
config.setProtocol("https");
// Client Key。
config.setClientKeyFile("<your-client-key-file>");
// Client Key口令。
config.setPassword("<your-password>");
// 設定endpoint為<your KMS Instance Id>.cryptoservice.kms.aliyuncs.com。
config.setEndpoint("<your-endpoint>");
// KMS執行個體的CA認證,可通過檔案路徑或直接設定內容。
config.setCaFilePath("<path/to/yourCaCert>");
// 或者,設定為KMS執行個體的CA認證內容
//config.setCa("<your-ca-certificate-content");
client = new Client(config);
}調用GetSecretValue介面擷取憑據值
/**
* 擷取憑據樣本
* @param secretName
*/
private static void getSecretValueSample(String secretName) {
GetSecretValueRequest request = new GetSecretValueRequest()
.setSecretName(secretName);
try {
// 如需忽略服務端認證,可使用此處注釋代碼方式調用
//RuntimeOptions runtimeOptions = new RuntimeOptions();
//runtimeOptions.setIgnoreSSL(true);
//GetSecretValueResponse getSecretValueResponse = client.getSecretValueWithOptions(request, runtimeOptions);
GetSecretValueResponse getSecretValueResponse = client.getSecretValue(request);
System.out.printf("SecretName: %s%n", getSecretValueResponse.getSecretName());
// System.out.printf("SecretData: %s%n", getSecretValueResponse.getSecretData());
System.out.printf("VersionStages: %s%n", getSecretValueResponse.getVersionStages());
System.out.printf("RequestId: %s%n", getSecretValueResponse.getRequestId());
} catch (Exception e) {
if (e instanceof TeaException) {
System.out.printf("Code: %s%n", ((TeaException) e).getCode());
System.out.printf("Message: %s%n", ((TeaException) e).getMessage());
System.out.printf("HttpCode: %s%n", ((TeaException) e).getData().get("httpCode"));
System.out.printf("HostId: %s%n", ((TeaException) e).getData().get("hostId"));
System.out.printf("RequestId: %s%n", ((TeaException) e).getData().get("requestId"));
}
e.printStackTrace();
}
}
}