/*
* 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 your private certificate authority (CA). This
/// includes information about the class of public key algorithm and the key pair that
/// your private CA creates when it issues a certificate. It also includes the signature
/// algorithm that it uses when issuing certificates, and its X.500 distinguished name.
/// You must specify this information when you call the CreateCertificateAuthority
/// action.
///
public partial class CertificateAuthorityConfiguration
{
private CsrExtensions _csrExtensions;
private KeyAlgorithm _keyAlgorithm;
private SigningAlgorithm _signingAlgorithm;
private ASN1Subject _subject;
///
/// Gets and sets the property CsrExtensions.
///
/// Specifies information to be added to the extension section of the certificate signing
/// request (CSR).
///
///
public CsrExtensions CsrExtensions
{
get { return this._csrExtensions; }
set { this._csrExtensions = value; }
}
// Check to see if CsrExtensions property is set
internal bool IsSetCsrExtensions()
{
return this._csrExtensions != null;
}
///
/// Gets and sets the property KeyAlgorithm.
///
/// Type of the public key algorithm and size, in bits, of the key pair that your CA creates
/// when it issues a certificate. When you create a subordinate CA, you must use a key
/// algorithm supported by the parent CA.
///
///
[AWSProperty(Required=true)]
public KeyAlgorithm KeyAlgorithm
{
get { return this._keyAlgorithm; }
set { this._keyAlgorithm = value; }
}
// Check to see if KeyAlgorithm property is set
internal bool IsSetKeyAlgorithm()
{
return this._keyAlgorithm != null;
}
///
/// Gets and sets the property SigningAlgorithm.
///
/// Name of the algorithm your private CA uses to sign certificate requests.
///
///
///
/// This parameter should not be confused with the SigningAlgorithm
parameter
/// used to sign certificates when they are issued.
///
///
[AWSProperty(Required=true)]
public SigningAlgorithm SigningAlgorithm
{
get { return this._signingAlgorithm; }
set { this._signingAlgorithm = value; }
}
// Check to see if SigningAlgorithm property is set
internal bool IsSetSigningAlgorithm()
{
return this._signingAlgorithm != null;
}
///
/// Gets and sets the property Subject.
///
/// Structure that contains X.500 distinguished name information for your private CA.
///
///
[AWSProperty(Required=true)]
public ASN1Subject Subject
{
get { return this._subject; }
set { this._subject = value; }
}
// Check to see if Subject property is set
internal bool IsSetSubject()
{
return this._subject != null;
}
}
}