Support asymmetric keys.

This commit is contained in:
sdk-team
2019-12-31 14:52:02 +08:00
parent a8e2a1e669
commit e471f55ca6
62 changed files with 1833 additions and 29 deletions

View File

@@ -22,12 +22,22 @@
#include <alibabacloud/core/EndpointProvider.h>
#include <alibabacloud/core/RpcServiceClient.h>
#include "KmsExport.h"
#include "model/AsymmetricDecryptRequest.h"
#include "model/AsymmetricDecryptResult.h"
#include "model/AsymmetricEncryptRequest.h"
#include "model/AsymmetricEncryptResult.h"
#include "model/AsymmetricSignRequest.h"
#include "model/AsymmetricSignResult.h"
#include "model/AsymmetricVerifyRequest.h"
#include "model/AsymmetricVerifyResult.h"
#include "model/CancelKeyDeletionRequest.h"
#include "model/CancelKeyDeletionResult.h"
#include "model/CreateAliasRequest.h"
#include "model/CreateAliasResult.h"
#include "model/CreateKeyRequest.h"
#include "model/CreateKeyResult.h"
#include "model/CreateKeyVersionRequest.h"
#include "model/CreateKeyVersionResult.h"
#include "model/DecryptRequest.h"
#include "model/DecryptResult.h"
#include "model/DeleteAliasRequest.h"
@@ -54,6 +64,8 @@
#include "model/GenerateDataKeyWithoutPlaintextResult.h"
#include "model/GetParametersForImportRequest.h"
#include "model/GetParametersForImportResult.h"
#include "model/GetPublicKeyRequest.h"
#include "model/GetPublicKeyResult.h"
#include "model/ImportKeyMaterialRequest.h"
#include "model/ImportKeyMaterialResult.h"
#include "model/ListAliasesRequest.h"
@@ -87,6 +99,18 @@ namespace AlibabaCloud
class ALIBABACLOUD_KMS_EXPORT KmsClient : public RpcServiceClient
{
public:
typedef Outcome<Error, Model::AsymmetricDecryptResult> AsymmetricDecryptOutcome;
typedef std::future<AsymmetricDecryptOutcome> AsymmetricDecryptOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::AsymmetricDecryptRequest&, const AsymmetricDecryptOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AsymmetricDecryptAsyncHandler;
typedef Outcome<Error, Model::AsymmetricEncryptResult> AsymmetricEncryptOutcome;
typedef std::future<AsymmetricEncryptOutcome> AsymmetricEncryptOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::AsymmetricEncryptRequest&, const AsymmetricEncryptOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AsymmetricEncryptAsyncHandler;
typedef Outcome<Error, Model::AsymmetricSignResult> AsymmetricSignOutcome;
typedef std::future<AsymmetricSignOutcome> AsymmetricSignOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::AsymmetricSignRequest&, const AsymmetricSignOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AsymmetricSignAsyncHandler;
typedef Outcome<Error, Model::AsymmetricVerifyResult> AsymmetricVerifyOutcome;
typedef std::future<AsymmetricVerifyOutcome> AsymmetricVerifyOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::AsymmetricVerifyRequest&, const AsymmetricVerifyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AsymmetricVerifyAsyncHandler;
typedef Outcome<Error, Model::CancelKeyDeletionResult> CancelKeyDeletionOutcome;
typedef std::future<CancelKeyDeletionOutcome> CancelKeyDeletionOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::CancelKeyDeletionRequest&, const CancelKeyDeletionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelKeyDeletionAsyncHandler;
@@ -96,6 +120,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::CreateKeyResult> CreateKeyOutcome;
typedef std::future<CreateKeyOutcome> CreateKeyOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::CreateKeyRequest&, const CreateKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateKeyAsyncHandler;
typedef Outcome<Error, Model::CreateKeyVersionResult> CreateKeyVersionOutcome;
typedef std::future<CreateKeyVersionOutcome> CreateKeyVersionOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::CreateKeyVersionRequest&, const CreateKeyVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateKeyVersionAsyncHandler;
typedef Outcome<Error, Model::DecryptResult> DecryptOutcome;
typedef std::future<DecryptOutcome> DecryptOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::DecryptRequest&, const DecryptOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DecryptAsyncHandler;
@@ -135,6 +162,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::GetParametersForImportResult> GetParametersForImportOutcome;
typedef std::future<GetParametersForImportOutcome> GetParametersForImportOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::GetParametersForImportRequest&, const GetParametersForImportOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetParametersForImportAsyncHandler;
typedef Outcome<Error, Model::GetPublicKeyResult> GetPublicKeyOutcome;
typedef std::future<GetPublicKeyOutcome> GetPublicKeyOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::GetPublicKeyRequest&, const GetPublicKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPublicKeyAsyncHandler;
typedef Outcome<Error, Model::ImportKeyMaterialResult> ImportKeyMaterialOutcome;
typedef std::future<ImportKeyMaterialOutcome> ImportKeyMaterialOutcomeCallable;
typedef std::function<void(const KmsClient*, const Model::ImportKeyMaterialRequest&, const ImportKeyMaterialOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ImportKeyMaterialAsyncHandler;
@@ -176,6 +206,18 @@ namespace AlibabaCloud
KmsClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
KmsClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
~KmsClient();
AsymmetricDecryptOutcome asymmetricDecrypt(const Model::AsymmetricDecryptRequest &request)const;
void asymmetricDecryptAsync(const Model::AsymmetricDecryptRequest& request, const AsymmetricDecryptAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
AsymmetricDecryptOutcomeCallable asymmetricDecryptCallable(const Model::AsymmetricDecryptRequest& request) const;
AsymmetricEncryptOutcome asymmetricEncrypt(const Model::AsymmetricEncryptRequest &request)const;
void asymmetricEncryptAsync(const Model::AsymmetricEncryptRequest& request, const AsymmetricEncryptAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
AsymmetricEncryptOutcomeCallable asymmetricEncryptCallable(const Model::AsymmetricEncryptRequest& request) const;
AsymmetricSignOutcome asymmetricSign(const Model::AsymmetricSignRequest &request)const;
void asymmetricSignAsync(const Model::AsymmetricSignRequest& request, const AsymmetricSignAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
AsymmetricSignOutcomeCallable asymmetricSignCallable(const Model::AsymmetricSignRequest& request) const;
AsymmetricVerifyOutcome asymmetricVerify(const Model::AsymmetricVerifyRequest &request)const;
void asymmetricVerifyAsync(const Model::AsymmetricVerifyRequest& request, const AsymmetricVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
AsymmetricVerifyOutcomeCallable asymmetricVerifyCallable(const Model::AsymmetricVerifyRequest& request) const;
CancelKeyDeletionOutcome cancelKeyDeletion(const Model::CancelKeyDeletionRequest &request)const;
void cancelKeyDeletionAsync(const Model::CancelKeyDeletionRequest& request, const CancelKeyDeletionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CancelKeyDeletionOutcomeCallable cancelKeyDeletionCallable(const Model::CancelKeyDeletionRequest& request) const;
@@ -185,6 +227,9 @@ namespace AlibabaCloud
CreateKeyOutcome createKey(const Model::CreateKeyRequest &request)const;
void createKeyAsync(const Model::CreateKeyRequest& request, const CreateKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CreateKeyOutcomeCallable createKeyCallable(const Model::CreateKeyRequest& request) const;
CreateKeyVersionOutcome createKeyVersion(const Model::CreateKeyVersionRequest &request)const;
void createKeyVersionAsync(const Model::CreateKeyVersionRequest& request, const CreateKeyVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CreateKeyVersionOutcomeCallable createKeyVersionCallable(const Model::CreateKeyVersionRequest& request) const;
DecryptOutcome decrypt(const Model::DecryptRequest &request)const;
void decryptAsync(const Model::DecryptRequest& request, const DecryptAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DecryptOutcomeCallable decryptCallable(const Model::DecryptRequest& request) const;
@@ -224,6 +269,9 @@ namespace AlibabaCloud
GetParametersForImportOutcome getParametersForImport(const Model::GetParametersForImportRequest &request)const;
void getParametersForImportAsync(const Model::GetParametersForImportRequest& request, const GetParametersForImportAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
GetParametersForImportOutcomeCallable getParametersForImportCallable(const Model::GetParametersForImportRequest& request) const;
GetPublicKeyOutcome getPublicKey(const Model::GetPublicKeyRequest &request)const;
void getPublicKeyAsync(const Model::GetPublicKeyRequest& request, const GetPublicKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
GetPublicKeyOutcomeCallable getPublicKeyCallable(const Model::GetPublicKeyRequest& request) const;
ImportKeyMaterialOutcome importKeyMaterial(const Model::ImportKeyMaterialRequest &request)const;
void importKeyMaterialAsync(const Model::ImportKeyMaterialRequest& request, const ImportKeyMaterialAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ImportKeyMaterialOutcomeCallable importKeyMaterialCallable(const Model::ImportKeyMaterialRequest& request) const;

View File

@@ -0,0 +1,57 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_ASYMMETRICDECRYPTREQUEST_H_
#define ALIBABACLOUD_KMS_MODEL_ASYMMETRICDECRYPTREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT AsymmetricDecryptRequest : public RpcServiceRequest
{
public:
AsymmetricDecryptRequest();
~AsymmetricDecryptRequest();
std::string getKeyVersionId()const;
void setKeyVersionId(const std::string& keyVersionId);
std::string getKeyId()const;
void setKeyId(const std::string& keyId);
std::string getCiphertextBlob()const;
void setCiphertextBlob(const std::string& ciphertextBlob);
std::string getAlgorithm()const;
void setAlgorithm(const std::string& algorithm);
private:
std::string keyVersionId_;
std::string keyId_;
std::string ciphertextBlob_;
std::string algorithm_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_ASYMMETRICDECRYPTREQUEST_H_

View File

@@ -0,0 +1,55 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_ASYMMETRICDECRYPTRESULT_H_
#define ALIBABACLOUD_KMS_MODEL_ASYMMETRICDECRYPTRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT AsymmetricDecryptResult : public ServiceResult
{
public:
AsymmetricDecryptResult();
explicit AsymmetricDecryptResult(const std::string &payload);
~AsymmetricDecryptResult();
std::string getPlaintext()const;
std::string getKeyId()const;
std::string getKeyVersionId()const;
protected:
void parse(const std::string &payload);
private:
std::string plaintext_;
std::string keyId_;
std::string keyVersionId_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_ASYMMETRICDECRYPTRESULT_H_

View File

@@ -0,0 +1,57 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_ASYMMETRICENCRYPTREQUEST_H_
#define ALIBABACLOUD_KMS_MODEL_ASYMMETRICENCRYPTREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT AsymmetricEncryptRequest : public RpcServiceRequest
{
public:
AsymmetricEncryptRequest();
~AsymmetricEncryptRequest();
std::string getKeyVersionId()const;
void setKeyVersionId(const std::string& keyVersionId);
std::string getKeyId()const;
void setKeyId(const std::string& keyId);
std::string getPlaintext()const;
void setPlaintext(const std::string& plaintext);
std::string getAlgorithm()const;
void setAlgorithm(const std::string& algorithm);
private:
std::string keyVersionId_;
std::string keyId_;
std::string plaintext_;
std::string algorithm_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_ASYMMETRICENCRYPTREQUEST_H_

View File

@@ -0,0 +1,55 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_ASYMMETRICENCRYPTRESULT_H_
#define ALIBABACLOUD_KMS_MODEL_ASYMMETRICENCRYPTRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT AsymmetricEncryptResult : public ServiceResult
{
public:
AsymmetricEncryptResult();
explicit AsymmetricEncryptResult(const std::string &payload);
~AsymmetricEncryptResult();
std::string getCiphertextBlob()const;
std::string getKeyId()const;
std::string getKeyVersionId()const;
protected:
void parse(const std::string &payload);
private:
std::string ciphertextBlob_;
std::string keyId_;
std::string keyVersionId_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_ASYMMETRICENCRYPTRESULT_H_

View File

@@ -0,0 +1,57 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_ASYMMETRICSIGNREQUEST_H_
#define ALIBABACLOUD_KMS_MODEL_ASYMMETRICSIGNREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT AsymmetricSignRequest : public RpcServiceRequest
{
public:
AsymmetricSignRequest();
~AsymmetricSignRequest();
std::string getKeyVersionId()const;
void setKeyVersionId(const std::string& keyVersionId);
std::string getDigest()const;
void setDigest(const std::string& digest);
std::string getKeyId()const;
void setKeyId(const std::string& keyId);
std::string getAlgorithm()const;
void setAlgorithm(const std::string& algorithm);
private:
std::string keyVersionId_;
std::string digest_;
std::string keyId_;
std::string algorithm_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_ASYMMETRICSIGNREQUEST_H_

View File

@@ -0,0 +1,55 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_ASYMMETRICSIGNRESULT_H_
#define ALIBABACLOUD_KMS_MODEL_ASYMMETRICSIGNRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT AsymmetricSignResult : public ServiceResult
{
public:
AsymmetricSignResult();
explicit AsymmetricSignResult(const std::string &payload);
~AsymmetricSignResult();
std::string getValue()const;
std::string getKeyId()const;
std::string getKeyVersionId()const;
protected:
void parse(const std::string &payload);
private:
std::string value_;
std::string keyId_;
std::string keyVersionId_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_ASYMMETRICSIGNRESULT_H_

View File

@@ -0,0 +1,60 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_ASYMMETRICVERIFYREQUEST_H_
#define ALIBABACLOUD_KMS_MODEL_ASYMMETRICVERIFYREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT AsymmetricVerifyRequest : public RpcServiceRequest
{
public:
AsymmetricVerifyRequest();
~AsymmetricVerifyRequest();
std::string getKeyVersionId()const;
void setKeyVersionId(const std::string& keyVersionId);
std::string getDigest()const;
void setDigest(const std::string& digest);
std::string getKeyId()const;
void setKeyId(const std::string& keyId);
std::string getValue()const;
void setValue(const std::string& value);
std::string getAlgorithm()const;
void setAlgorithm(const std::string& algorithm);
private:
std::string keyVersionId_;
std::string digest_;
std::string keyId_;
std::string value_;
std::string algorithm_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_ASYMMETRICVERIFYREQUEST_H_

View File

@@ -0,0 +1,55 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_ASYMMETRICVERIFYRESULT_H_
#define ALIBABACLOUD_KMS_MODEL_ASYMMETRICVERIFYRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT AsymmetricVerifyResult : public ServiceResult
{
public:
AsymmetricVerifyResult();
explicit AsymmetricVerifyResult(const std::string &payload);
~AsymmetricVerifyResult();
bool getValue()const;
std::string getKeyId()const;
std::string getKeyVersionId()const;
protected:
void parse(const std::string &payload);
private:
bool value_;
std::string keyId_;
std::string keyVersionId_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_ASYMMETRICVERIFYRESULT_H_

View File

@@ -43,6 +43,8 @@ namespace AlibabaCloud
void setOrigin(const std::string& origin);
std::string getDescription()const;
void setDescription(const std::string& description);
std::string getKeySpec()const;
void setKeySpec(const std::string& keySpec);
std::string getRotationInterval()const;
void setRotationInterval(const std::string& rotationInterval);
bool getEnableAutomaticRotation()const;
@@ -53,6 +55,7 @@ namespace AlibabaCloud
std::string keyUsage_;
std::string origin_;
std::string description_;
std::string keySpec_;
std::string rotationInterval_;
bool enableAutomaticRotation_;

View File

@@ -40,6 +40,7 @@ namespace AlibabaCloud
std::string description;
std::string lastRotationDate;
std::string rotationInterval;
std::string keySpec;
std::string keyUsage;
std::string keyId;
std::string primaryKeyVersion;

View File

@@ -0,0 +1,48 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_CREATEKEYVERSIONREQUEST_H_
#define ALIBABACLOUD_KMS_MODEL_CREATEKEYVERSIONREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT CreateKeyVersionRequest : public RpcServiceRequest
{
public:
CreateKeyVersionRequest();
~CreateKeyVersionRequest();
std::string getKeyId()const;
void setKeyId(const std::string& keyId);
private:
std::string keyId_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_CREATEKEYVERSIONREQUEST_H_

View File

@@ -0,0 +1,57 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_CREATEKEYVERSIONRESULT_H_
#define ALIBABACLOUD_KMS_MODEL_CREATEKEYVERSIONRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT CreateKeyVersionResult : public ServiceResult
{
public:
struct KeyVersion
{
std::string creationDate;
std::string keyId;
std::string keyVersionId;
};
CreateKeyVersionResult();
explicit CreateKeyVersionResult(const std::string &payload);
~CreateKeyVersionResult();
KeyVersion getKeyVersion()const;
protected:
void parse(const std::string &payload);
private:
KeyVersion keyVersion_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_CREATEKEYVERSIONRESULT_H_

View File

@@ -40,6 +40,7 @@ namespace AlibabaCloud
std::string description;
std::string lastRotationDate;
std::string rotationInterval;
std::string keySpec;
std::string keyUsage;
std::string keyId;
std::string primaryKeyVersion;

View File

@@ -0,0 +1,51 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_GETPUBLICKEYREQUEST_H_
#define ALIBABACLOUD_KMS_MODEL_GETPUBLICKEYREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT GetPublicKeyRequest : public RpcServiceRequest
{
public:
GetPublicKeyRequest();
~GetPublicKeyRequest();
std::string getKeyVersionId()const;
void setKeyVersionId(const std::string& keyVersionId);
std::string getKeyId()const;
void setKeyId(const std::string& keyId);
private:
std::string keyVersionId_;
std::string keyId_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_GETPUBLICKEYREQUEST_H_

View File

@@ -0,0 +1,55 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_KMS_MODEL_GETPUBLICKEYRESULT_H_
#define ALIBABACLOUD_KMS_MODEL_GETPUBLICKEYRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/kms/KmsExport.h>
namespace AlibabaCloud
{
namespace Kms
{
namespace Model
{
class ALIBABACLOUD_KMS_EXPORT GetPublicKeyResult : public ServiceResult
{
public:
GetPublicKeyResult();
explicit GetPublicKeyResult(const std::string &payload);
~GetPublicKeyResult();
std::string getPublicKey()const;
std::string getKeyId()const;
std::string getKeyVersionId()const;
protected:
void parse(const std::string &payload);
private:
std::string publicKey_;
std::string keyId_;
std::string keyVersionId_;
};
}
}
}
#endif // !ALIBABACLOUD_KMS_MODEL_GETPUBLICKEYRESULT_H_