aws-delivlib
Version:
A fabulous library for defining continuous pipelines for building, testing and releasing code libraries.
68 lines (67 loc) • 2.19 kB
TypeScript
import { aws_s3 as s3 } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { RsaPrivateKeySecret } from './private-key';
export interface CertificateSigningRequestProps {
/**
* The RSA Private Key to use for this CSR.
*/
privateKey: RsaPrivateKeySecret;
/**
* The Distinguished Name for this CSR.
*/
dn: DistinguishedName;
/**
* The key usage requests for this CSR.
*
* @example critical,digitalSignature
*/
keyUsage: string;
/**
* The extended key usage requests for this CSR.
*
* @example critical,codeSigning
*/
extendedKeyUsage?: string;
}
/**
* Creates a Certificate Signing Request (CSR), which will allow a Certificate Authority to provide a signed certificate
* that uses the specified RSA Private Key. A CSR document can usually be shared publicly, however it must be noted that
* the information provided in the ``dn`` fields, information about the public key and the intended ley usage will be
* readable by anyone who can access the CSR.
*
* @see https://www.openssl.org/docs/manmaster/man1/req.html
*/
export declare class CertificateSigningRequest extends Construct {
/**
* The S3 URL to the CSR document.
*/
readonly pemRequest: string;
/**
* The S3 URL to a self-signed certificate that corresponds with this CSR.
*/
readonly selfSignedPemCertificate: string;
/**
* The S3 bucket where the self-signed certificate is stored.
*/
readonly outputBucket: s3.IBucket;
constructor(parent: Construct, id: string, props: CertificateSigningRequestProps);
}
/**
* Fields that compose the distinguished name of a certificate
*/
export interface DistinguishedName {
/** The Common Name (CN) */
commonName: string;
/** The email address (emailAddress) */
emailAddress: string;
/** The Country (C) */
country: string;
/** The State or Province (ST) */
stateOrProvince: string;
/** The locality (L) */
locality: string;
/** The organization name (O) */
organizationName: string;
/** The organizational unit name (OU) */
organizationalUnitName: string;
}