GetPublicKey

Last updated: 2021-02-04 10:23:31

    1. API Description

    Domain name for API request: kms.tencentcloudapi.com.

    This API is used to get the information of the public key that is encrypted with the asymmetric cryptographic algorithm and of which the KeyUsage is ASYMMETRIC_DECRYPT_RSA_2048 or ASYMMETRIC_DECRYPT_SM2. This public key can be used to encrypt data locally, and the data encrypted with it can only be decrypted with the corresponding private key through KMS. The public key can only be obtained from the asymmetric key in Enabled state.

    A maximum of 100 requests can be initiated per second for this API.

    We recommend you to use API Explorer
    Try it
    API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

    2. Input Parameters

    The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.

    Parameter Name Required Type Description
    Action Yes String Common parameter. The value used for this API: GetPublicKey.
    Version Yes String Common parameter. The value used for this API: 2019-01-18.
    Region Yes String Common parameter. For more information, please see the list of regions supported by the product.
    KeyId Yes String Unique CMK ID.

    3. Output Parameters

    Parameter Name Type Description
    KeyId String Unique CMK ID.
    PublicKey String Base64-encoded public key content.
    PublicKeyPem String Public key content in PEM format.
    RequestId String The unique request ID, which is returned for each request. RequestId is required for locating a problem.

    4. Example

    Example1 Getting the public key of asymmetric key

    Input Example

    https://kms.tencentcloudapi.com/?Action=GetPublicKey
    &KeyId=554ef4b3-3071-11ea-a86a-5254006d0810
    &<Common request parameters>

    Output Example

    {
      "Response": {
        "RequestId": "8918bd5b-e189-4e2d-b718-01c9f99acd45",
        "KeyId": "554ef4b3-3071-11ea-a86a-5254006d0810",
        "PublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz0OTVMh28VCjOE5DMlBM8a2qIjgipYByb7WE/GyTRLUiIGDUq44VIM5fNI9nVeIf2D+4pIiU0s4LUYnLxkGcFKUVWkz3nubUzbNdSHRbNjKhbFyyRGT6YYxqMfvCmNXMA3OE56EmvsWU9VwVXqRPOFTaODCx8bRd+R6O+Aho9GaRfwLKHtlX7dochdDs9SWC6iybRISgpLEh4tvzcSlBemEuyx5U/X/BoL+sVnSsC/XT8J9w0EvJVHZaBW7OhIbBOolhzWTF8TpL/7ncZZUbtfP4SrAkvKgoEIEfRhv5vh5LfSxiS2zQzIShrT6JYqh5IgDIHTdCcPiYmTsk/lmM2wIDAQAB",
        "PublicKeyPem": "-----BEGIN PUBLIC KEY-----\nTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF6ME9U\nVk1oMjhWQ2pPRTVETWxCTThhMnFJamdpcFlCeWI3V0UvR3lUUkxVaUlHRFVxNDRW\nSU01Zk5JOW5WZUlmMkQrNHBJaVUwczRMVVluTHhrR2NGS1VWV2t6M251YlV6Yk5k\nU0hSYk5qS2hiRnl5UkdUNllZeHFNZnZDbU5YTUEzT0U1NkVtdnNXVTlWd1ZYcVJQ\nT0ZUYU9EQ3g4YlJkK1I2TytBaG85R2FSZndMS0h0bFg3ZG9jaGREczlTV0M2aXli\nUklTZ3BMRWg0dHZ6Y1NsQmVtRXV5eDVVL1gvQm9MK3NWblNzQy9YVDhKOXcwRXZK\nVkhaYUJXN09oSWJCT29saHpXVEY4VHBMLzduY1paVWJ0ZlA0U3JBa3ZLZ29FSUVm\nUmh2NXZoNUxmU3hpUzJ6UXpJU2hyVDZKWXFoNUlnRElIVGRDY1BpWW1Uc2svbG1N\nMndJREFRQUI=\n-----END PUBLIC KEY-----\n"
      }
    }

    5. Developer Resources

    SDK

    TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

    Command Line Interface

    6. Error Code

    The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

    Error Code Description
    InternalError Internal error.
    InvalidParameter Invalid parameter.
    InvalidParameterValue.InvalidKeyId Invalid KeyId.
    ResourceUnavailable.CmkNotFound The CMK does not exist.
    ResourceUnavailable.CmkStateNotSupport This operation cannot be performed under the current CMK status.
    UnauthorizedOperation Unauthorized operation.