/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the acm-pca-2017-08-22.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.ACMPCA.Model { /// /// Contains configuration information for a certificate revocation list (CRL). Your private /// certificate authority (CA) creates base CRLs. Delta CRLs are not supported. You can /// enable CRLs for your new or an existing private CA by setting the Enabled parameter /// to true. Your private CA writes CRLs to an S3 bucket that you specify /// in the S3BucketName parameter. You can hide the name of your bucket by specifying /// a value for the CustomCname parameter. Your private CA copies the CNAME or /// the S3 bucket name to the CRL Distribution Points extension of each certificate /// it issues. Your S3 bucket policy must give write permission to Amazon Web Services /// Private CA. /// /// /// /// Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected /// with encryption. For more information, see Encrypting /// Your CRLs. /// /// /// /// Your private CA uses the value in the ExpirationInDays parameter to calculate /// the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's /// expiration date or when a certificate is revoked. When a certificate is revoked, it /// appears in the CRL until the certificate expires, and then in one additional CRL after /// expiration, and it always appears in the audit report. /// /// /// /// A CRL is typically updated approximately 30 minutes after a certificate is revoked. /// If for any reason a CRL update fails, Amazon Web Services Private CA makes further /// attempts every 15 minutes. /// /// /// /// CRLs contain the following fields: /// /// /// /// Certificate revocation lists created by Amazon Web Services Private CA are DER-encoded. /// You can use the following OpenSSL command to list a CRL. /// /// /// /// openssl crl -inform DER -text -in crl_path -noout /// /// /// /// For more information, see Planning /// a certificate revocation list (CRL) in the Amazon Web Services Private Certificate /// Authority User Guide /// /// public partial class CrlConfiguration { private string _customCname; private bool? _enabled; private int? _expirationInDays; private string _s3BucketName; private S3ObjectAcl _s3ObjectAcl; /// /// Gets and sets the property CustomCname. /// /// Name inserted into the certificate CRL Distribution Points extension that enables /// the use of an alias for the CRL distribution point. Use this value if you don't want /// the name of your S3 bucket to be public. /// /// /// /// The content of a Canonical Name (CNAME) record must conform to RFC2396 /// restrictions on the use of special characters in URIs. Additionally, the value of /// the CNAME must not include a protocol prefix such as "http://" or "https://". /// /// /// [AWSProperty(Min=0, Max=253)] public string CustomCname { get { return this._customCname; } set { this._customCname = value; } } // Check to see if CustomCname property is set internal bool IsSetCustomCname() { return this._customCname != null; } /// /// Gets and sets the property Enabled. /// /// Boolean value that specifies whether certificate revocation lists (CRLs) are enabled. /// You can use this value to enable certificate revocation for a new CA when you call /// the CreateCertificateAuthority /// action or for an existing CA when you call the UpdateCertificateAuthority /// action. /// /// [AWSProperty(Required=true)] public bool Enabled { get { return this._enabled.GetValueOrDefault(); } set { this._enabled = value; } } // Check to see if Enabled property is set internal bool IsSetEnabled() { return this._enabled.HasValue; } /// /// Gets and sets the property ExpirationInDays. /// /// Validity period of the CRL in days. /// /// [AWSProperty(Min=1, Max=5000)] public int ExpirationInDays { get { return this._expirationInDays.GetValueOrDefault(); } set { this._expirationInDays = value; } } // Check to see if ExpirationInDays property is set internal bool IsSetExpirationInDays() { return this._expirationInDays.HasValue; } /// /// Gets and sets the property S3BucketName. /// /// Name of the S3 bucket that contains the CRL. If you do not provide a value for the /// CustomCname argument, the name of your S3 bucket is placed into the CRL /// Distribution Points extension of the issued certificate. You can change the name /// of your bucket by calling the UpdateCertificateAuthority /// operation. You must specify a bucket /// policy that allows Amazon Web Services Private CA to write the CRL to your bucket. /// /// /// /// The S3BucketName parameter must conform to the S3 /// bucket naming rules. /// /// /// [AWSProperty(Min=3, Max=255)] public string S3BucketName { get { return this._s3BucketName; } set { this._s3BucketName = value; } } // Check to see if S3BucketName property is set internal bool IsSetS3BucketName() { return this._s3BucketName != null; } /// /// Gets and sets the property S3ObjectAcl. /// /// Determines whether the CRL will be publicly readable or privately held in the CRL /// Amazon S3 bucket. If you choose PUBLIC_READ, the CRL will be accessible over the public /// internet. If you choose BUCKET_OWNER_FULL_CONTROL, only the owner of the CRL S3 bucket /// can access the CRL, and your PKI clients may need an alternative method of access. /// /// /// /// /// If no value is specified, the default is PUBLIC_READ. /// /// /// /// Note: This default can cause CA creation to fail in some circumstances. If /// you have have enabled the Block Public Access (BPA) feature in your S3 account, then /// you must specify the value of this parameter as BUCKET_OWNER_FULL_CONTROL, /// and not doing so results in an error. If you have disabled BPA in S3, then you can /// specify either BUCKET_OWNER_FULL_CONTROL or PUBLIC_READ /// as the value. /// /// /// /// For more information, see Blocking /// public access to the S3 bucket. /// /// public S3ObjectAcl S3ObjectAcl { get { return this._s3ObjectAcl; } set { this._s3ObjectAcl = value; } } // Check to see if S3ObjectAcl property is set internal bool IsSetS3ObjectAcl() { return this._s3ObjectAcl != null; } } }