AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active.

If the UserName field is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

Because the body of an X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.


For .NET Core, PCL and Unity this operation is only available in asynchronous form. Please refer to UploadSigningCertificateAsync.

Namespace: Amazon.IdentityManagement
Assembly: AWSSDK.IdentityManagement.dll
Version: 3.x.y.z


public abstract UploadSigningCertificateResponse UploadSigningCertificate(
         UploadSigningCertificateRequest request
Type: Amazon.IdentityManagement.Model.UploadSigningCertificateRequest

Container for the necessary parameters to execute the UploadSigningCertificate service method.

Return Value
The response from the UploadSigningCertificate service method, as returned by IdentityManagementService.


DuplicateCertificateException The request was rejected because the same certificate is associated with an IAM user in the account.
EntityAlreadyExistsException The request was rejected because it attempted to create a resource that already exists.
InvalidCertificateException The request was rejected because the certificate is invalid.
LimitExceededException The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.
MalformedCertificateException The request was rejected because the certificate was malformed or expired. The error message describes the specific error.
NoSuchEntityException The request was rejected because it referenced an entity that does not exist. The error message describes the entity.
ServiceFailureException The request processing has failed because of an unknown error, exception or failure.


The following command uploads a signing certificate for the IAM user named Bob.

To upload a signing certificate for an IAM user

var response = client.UploadSigningCertificate(new UploadSigningCertificateRequest 
    CertificateBody = "-----BEGIN CERTIFICATE----------END CERTIFICATE-----",
    UserName = "Bob"

SigningCertificate certificate = response.Certificate;


Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

Supported Versions: 4.6 and above
Supported Platforms: Android, iOS, Standalone

See Also