/* * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. 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. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. */ package com.amazonaws.services.iot.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Creates an X.509 certificate using the specified certificate signing request. *
** Requires permission to access the CreateCertificateFromCsr action. *
** The CSR must include a public key that is either an RSA key with a length of * at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves. For * supported certificates, consult Certificate signing algorithms supported by IoT. *
** Reusing the same certificate signing request (CSR) results in a distinct * certificate. *
*
* You can create multiple certificates in a batch by creating a directory,
* copying multiple .csr
files into that directory, and then
* specifying that directory on the command line. The following commands show
* how to create a batch of certificates given a batch of CSRs. In the following
* commands, we assume that a set of CSRs are located inside of the directory
* my-csr-directory:
*
* On Linux and OS X, the command is: *
*
* $ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}
*
* This command lists all of the CSRs in my-csr-directory and pipes each CSR
* file name to the aws iot create-certificate-from-csr
Amazon Web
* Services CLI command to create a certificate for the corresponding CSR.
*
* You can also run the aws iot create-certificate-from-csr
part of
* the command in parallel to speed up the certificate creation process:
*
* $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}
*
* On Windows PowerShell, the command to create certificates for all CSRs in * my-csr-directory is: *
*
* > ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}
*
* On a Windows command prompt, the command to create certificates for all CSRs * in my-csr-directory is: *
*
* > forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"
*
* The certificate signing request (CSR). *
*
* Constraints:
* Length: 1 - 4096
* Pattern: [\s\S]*
*/
private String certificateSigningRequest;
/**
*
* Specifies whether the certificate is active. *
*/ private Boolean setAsActive; /** ** The certificate signing request (CSR). *
*
* Constraints:
* Length: 1 - 4096
* Pattern: [\s\S]*
*
* @return
* The certificate signing request (CSR). *
*/ public String getCertificateSigningRequest() { return certificateSigningRequest; } /** ** The certificate signing request (CSR). *
*
* Constraints:
* Length: 1 - 4096
* Pattern: [\s\S]*
*
* @param certificateSigningRequest
* The certificate signing request (CSR). *
*/ public void setCertificateSigningRequest(String certificateSigningRequest) { this.certificateSigningRequest = certificateSigningRequest; } /** ** The certificate signing request (CSR). *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 4096
* Pattern: [\s\S]*
*
* @param certificateSigningRequest
* The certificate signing request (CSR). *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateCertificateFromCsrRequest withCertificateSigningRequest( String certificateSigningRequest) { this.certificateSigningRequest = certificateSigningRequest; return this; } /** ** Specifies whether the certificate is active. *
* * @return* Specifies whether the certificate is active. *
*/ public Boolean isSetAsActive() { return setAsActive; } /** ** Specifies whether the certificate is active. *
* * @return* Specifies whether the certificate is active. *
*/ public Boolean getSetAsActive() { return setAsActive; } /** ** Specifies whether the certificate is active. *
* * @param setAsActive* Specifies whether the certificate is active. *
*/ public void setSetAsActive(Boolean setAsActive) { this.setAsActive = setAsActive; } /** ** Specifies whether the certificate is active. *
** Returns a reference to this object so that method calls can be chained * together. * * @param setAsActive
* Specifies whether the certificate is active. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateCertificateFromCsrRequest withSetAsActive(Boolean setAsActive) { this.setAsActive = setAsActive; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getCertificateSigningRequest() != null) sb.append("certificateSigningRequest: " + getCertificateSigningRequest() + ","); if (getSetAsActive() != null) sb.append("setAsActive: " + getSetAsActive()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCertificateSigningRequest() == null) ? 0 : getCertificateSigningRequest() .hashCode()); hashCode = prime * hashCode + ((getSetAsActive() == null) ? 0 : getSetAsActive().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateCertificateFromCsrRequest == false) return false; CreateCertificateFromCsrRequest other = (CreateCertificateFromCsrRequest) obj; if (other.getCertificateSigningRequest() == null ^ this.getCertificateSigningRequest() == null) return false; if (other.getCertificateSigningRequest() != null && other.getCertificateSigningRequest().equals(this.getCertificateSigningRequest()) == false) return false; if (other.getSetAsActive() == null ^ this.getSetAsActive() == null) return false; if (other.getSetAsActive() != null && other.getSetAsActive().equals(this.getSetAsActive()) == false) return false; return true; } }