aws-sdk-acmpca 1.31.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,16 +10,12 @@
10
10
  module Aws::ACMPCA
11
11
  module Types
12
12
 
13
- # Contains information about the certificate subject. The certificate
14
- # can be one issued by your private certificate authority (CA) or it can
15
- # be your private CA certificate. The **Subject** field in the
16
- # certificate identifies the entity that owns or controls the public key
17
- # in the certificate. The entity can be a user, computer, device, or
18
- # service. The **Subject** must contain an X.500 distinguished name
19
- # (DN). A DN is a sequence of relative distinguished names (RDNs). The
20
- # RDNs are separated by commas in the certificate. The DN must be unique
21
- # for each entity, but your private CA can issue more than one
22
- # certificate with the same DN to the same entity.
13
+ # Contains information about the certificate subject. The `Subject`
14
+ # field in the certificate identifies the entity that owns or controls
15
+ # the public key in the certificate. The entity can be a user, computer,
16
+ # device, or service. The `Subject `must contain an X.500 distinguished
17
+ # name (DN). A DN is a sequence of relative distinguished names (RDNs).
18
+ # The RDNs are separated by commas in the certificate.
23
19
  #
24
20
  # @note When making an API call, you may pass ASN1Subject
25
21
  # data as a hash:
@@ -100,7 +96,7 @@ module Aws::ACMPCA
100
96
  # @!attribute [rw] initials
101
97
  # Concatenation that typically contains the first letter of the
102
98
  # **GivenName**, the first letter of the middle name if one exists,
103
- # and the first letter of the **SurName**.
99
+ # and the first letter of the **Surname**.
104
100
  # @return [String]
105
101
  #
106
102
  # @!attribute [rw] pseudonym
@@ -235,6 +231,124 @@ module Aws::ACMPCA
235
231
  include Aws::Structure
236
232
  end
237
233
 
234
+ # Contains X.509 certificate information to be placed in an issued
235
+ # certificate. An `APIPassthrough` or `APICSRPassthrough` template
236
+ # variant must be selected, or else this parameter is ignored.
237
+ #
238
+ # If conflicting or duplicate certificate information is supplied from
239
+ # other sources, ACM Private CA applies [order of operation
240
+ # rules](xxxxx) to determine what information is used.
241
+ #
242
+ # @note When making an API call, you may pass ApiPassthrough
243
+ # data as a hash:
244
+ #
245
+ # {
246
+ # extensions: {
247
+ # certificate_policies: [
248
+ # {
249
+ # cert_policy_id: "CustomObjectIdentifier", # required
250
+ # policy_qualifiers: [
251
+ # {
252
+ # policy_qualifier_id: "CPS", # required, accepts CPS
253
+ # qualifier: { # required
254
+ # cps_uri: "String256", # required
255
+ # },
256
+ # },
257
+ # ],
258
+ # },
259
+ # ],
260
+ # extended_key_usage: [
261
+ # {
262
+ # extended_key_usage_type: "SERVER_AUTH", # accepts SERVER_AUTH, CLIENT_AUTH, CODE_SIGNING, EMAIL_PROTECTION, TIME_STAMPING, OCSP_SIGNING, SMART_CARD_LOGIN, DOCUMENT_SIGNING, CERTIFICATE_TRANSPARENCY
263
+ # extended_key_usage_object_identifier: "CustomObjectIdentifier",
264
+ # },
265
+ # ],
266
+ # key_usage: {
267
+ # digital_signature: false,
268
+ # non_repudiation: false,
269
+ # key_encipherment: false,
270
+ # data_encipherment: false,
271
+ # key_agreement: false,
272
+ # key_cert_sign: false,
273
+ # crl_sign: false,
274
+ # encipher_only: false,
275
+ # decipher_only: false,
276
+ # },
277
+ # subject_alternative_names: [
278
+ # {
279
+ # other_name: {
280
+ # type_id: "CustomObjectIdentifier", # required
281
+ # value: "String256", # required
282
+ # },
283
+ # rfc_822_name: "String256",
284
+ # dns_name: "String253",
285
+ # directory_name: {
286
+ # country: "CountryCodeString",
287
+ # organization: "String64",
288
+ # organizational_unit: "String64",
289
+ # distinguished_name_qualifier: "ASN1PrintableString64",
290
+ # state: "String128",
291
+ # common_name: "String64",
292
+ # serial_number: "ASN1PrintableString64",
293
+ # locality: "String128",
294
+ # title: "String64",
295
+ # surname: "String40",
296
+ # given_name: "String16",
297
+ # initials: "String5",
298
+ # pseudonym: "String128",
299
+ # generation_qualifier: "String3",
300
+ # },
301
+ # edi_party_name: {
302
+ # party_name: "String256", # required
303
+ # name_assigner: "String256",
304
+ # },
305
+ # uniform_resource_identifier: "String253",
306
+ # ip_address: "String39",
307
+ # registered_id: "CustomObjectIdentifier",
308
+ # },
309
+ # ],
310
+ # },
311
+ # subject: {
312
+ # country: "CountryCodeString",
313
+ # organization: "String64",
314
+ # organizational_unit: "String64",
315
+ # distinguished_name_qualifier: "ASN1PrintableString64",
316
+ # state: "String128",
317
+ # common_name: "String64",
318
+ # serial_number: "ASN1PrintableString64",
319
+ # locality: "String128",
320
+ # title: "String64",
321
+ # surname: "String40",
322
+ # given_name: "String16",
323
+ # initials: "String5",
324
+ # pseudonym: "String128",
325
+ # generation_qualifier: "String3",
326
+ # },
327
+ # }
328
+ #
329
+ # @!attribute [rw] extensions
330
+ # Specifies X.509 extension information for a certificate.
331
+ # @return [Types::Extensions]
332
+ #
333
+ # @!attribute [rw] subject
334
+ # Contains information about the certificate subject. The `Subject`
335
+ # field in the certificate identifies the entity that owns or controls
336
+ # the public key in the certificate. The entity can be a user,
337
+ # computer, device, or service. The `Subject `must contain an X.500
338
+ # distinguished name (DN). A DN is a sequence of relative
339
+ # distinguished names (RDNs). The RDNs are separated by commas in the
340
+ # certificate.
341
+ # @return [Types::ASN1Subject]
342
+ #
343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ApiPassthrough AWS API Documentation
344
+ #
345
+ class ApiPassthrough < Struct.new(
346
+ :extensions,
347
+ :subject)
348
+ SENSITIVE = []
349
+ include Aws::Structure
350
+ end
351
+
238
352
  # Contains information about your private certificate authority (CA).
239
353
  # Your private CA can issue and revoke X.509 digital certificates.
240
354
  # Digital certificates verify that the entity named in the certificate
@@ -656,13 +770,15 @@ module Aws::ACMPCA
656
770
  # @return [String]
657
771
  #
658
772
  # @!attribute [rw] idempotency_token
659
- # Alphanumeric string that can be used to distinguish between calls to
660
- # **CreateCertificateAuthority**. For a given token, ACM Private CA
661
- # creates exactly one CA. If you issue a subsequent call using the
662
- # same token, ACM Private CA returns the ARN of the existing CA and
663
- # takes no further action. If you change the idempotency token across
664
- # multiple calls, ACM Private CA creates a unique CA for each unique
665
- # token.
773
+ # Custom string that can be used to distinguish between calls to the
774
+ # **CreateCertificateAuthority** action. Idempotency tokens for
775
+ # **CreateCertificateAuthority** time out after five minutes.
776
+ # Therefore, if you call **CreateCertificateAuthority** multiple times
777
+ # with the same idempotency token within five minutes, ACM Private CA
778
+ # recognizes that you are requesting only certificate authority and
779
+ # will issue only one. If you change the idempotency token for each
780
+ # call, PCA recognizes that you are requesting multiple certificate
781
+ # authorities.
666
782
  # @return [String]
667
783
  #
668
784
  # @!attribute [rw] tags
@@ -1211,10 +1327,160 @@ module Aws::ACMPCA
1211
1327
  include Aws::Structure
1212
1328
  end
1213
1329
 
1330
+ # Specifies additional purposes for which the certified public key may
1331
+ # be used other than basic purposes indicated in the `KeyUsage`
1332
+ # extension.
1333
+ #
1334
+ # @note When making an API call, you may pass ExtendedKeyUsage
1335
+ # data as a hash:
1336
+ #
1337
+ # {
1338
+ # extended_key_usage_type: "SERVER_AUTH", # accepts SERVER_AUTH, CLIENT_AUTH, CODE_SIGNING, EMAIL_PROTECTION, TIME_STAMPING, OCSP_SIGNING, SMART_CARD_LOGIN, DOCUMENT_SIGNING, CERTIFICATE_TRANSPARENCY
1339
+ # extended_key_usage_object_identifier: "CustomObjectIdentifier",
1340
+ # }
1341
+ #
1342
+ # @!attribute [rw] extended_key_usage_type
1343
+ # Specifies a standard `ExtendedKeyUsage` as defined as in [RFC
1344
+ # 5280][1].
1345
+ #
1346
+ #
1347
+ #
1348
+ # [1]: https://tools.ietf.org/html/rfc5280#section-4.2.1.12
1349
+ # @return [String]
1350
+ #
1351
+ # @!attribute [rw] extended_key_usage_object_identifier
1352
+ # Specifies a custom `ExtendedKeyUsage` with an object identifier
1353
+ # (OID).
1354
+ # @return [String]
1355
+ #
1356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ExtendedKeyUsage AWS API Documentation
1357
+ #
1358
+ class ExtendedKeyUsage < Struct.new(
1359
+ :extended_key_usage_type,
1360
+ :extended_key_usage_object_identifier)
1361
+ SENSITIVE = []
1362
+ include Aws::Structure
1363
+ end
1364
+
1365
+ # Contains X.509 extension information for a certificate.
1366
+ #
1367
+ # @note When making an API call, you may pass Extensions
1368
+ # data as a hash:
1369
+ #
1370
+ # {
1371
+ # certificate_policies: [
1372
+ # {
1373
+ # cert_policy_id: "CustomObjectIdentifier", # required
1374
+ # policy_qualifiers: [
1375
+ # {
1376
+ # policy_qualifier_id: "CPS", # required, accepts CPS
1377
+ # qualifier: { # required
1378
+ # cps_uri: "String256", # required
1379
+ # },
1380
+ # },
1381
+ # ],
1382
+ # },
1383
+ # ],
1384
+ # extended_key_usage: [
1385
+ # {
1386
+ # extended_key_usage_type: "SERVER_AUTH", # accepts SERVER_AUTH, CLIENT_AUTH, CODE_SIGNING, EMAIL_PROTECTION, TIME_STAMPING, OCSP_SIGNING, SMART_CARD_LOGIN, DOCUMENT_SIGNING, CERTIFICATE_TRANSPARENCY
1387
+ # extended_key_usage_object_identifier: "CustomObjectIdentifier",
1388
+ # },
1389
+ # ],
1390
+ # key_usage: {
1391
+ # digital_signature: false,
1392
+ # non_repudiation: false,
1393
+ # key_encipherment: false,
1394
+ # data_encipherment: false,
1395
+ # key_agreement: false,
1396
+ # key_cert_sign: false,
1397
+ # crl_sign: false,
1398
+ # encipher_only: false,
1399
+ # decipher_only: false,
1400
+ # },
1401
+ # subject_alternative_names: [
1402
+ # {
1403
+ # other_name: {
1404
+ # type_id: "CustomObjectIdentifier", # required
1405
+ # value: "String256", # required
1406
+ # },
1407
+ # rfc_822_name: "String256",
1408
+ # dns_name: "String253",
1409
+ # directory_name: {
1410
+ # country: "CountryCodeString",
1411
+ # organization: "String64",
1412
+ # organizational_unit: "String64",
1413
+ # distinguished_name_qualifier: "ASN1PrintableString64",
1414
+ # state: "String128",
1415
+ # common_name: "String64",
1416
+ # serial_number: "ASN1PrintableString64",
1417
+ # locality: "String128",
1418
+ # title: "String64",
1419
+ # surname: "String40",
1420
+ # given_name: "String16",
1421
+ # initials: "String5",
1422
+ # pseudonym: "String128",
1423
+ # generation_qualifier: "String3",
1424
+ # },
1425
+ # edi_party_name: {
1426
+ # party_name: "String256", # required
1427
+ # name_assigner: "String256",
1428
+ # },
1429
+ # uniform_resource_identifier: "String253",
1430
+ # ip_address: "String39",
1431
+ # registered_id: "CustomObjectIdentifier",
1432
+ # },
1433
+ # ],
1434
+ # }
1435
+ #
1436
+ # @!attribute [rw] certificate_policies
1437
+ # Contains a sequence of one or more policy information terms, each of
1438
+ # which consists of an object identifier (OID) and optional
1439
+ # qualifiers. For more information, see NIST's definition of [Object
1440
+ # Identifier (OID)][1].
1441
+ #
1442
+ # In an end-entity certificate, these terms indicate the policy under
1443
+ # which the certificate was issued and the purposes for which it may
1444
+ # be used. In a CA certificate, these terms limit the set of policies
1445
+ # for certification paths that include this certificate.
1446
+ #
1447
+ #
1448
+ #
1449
+ # [1]: https://csrc.nist.gov/glossary/term/Object_Identifier
1450
+ # @return [Array<Types::PolicyInformation>]
1451
+ #
1452
+ # @!attribute [rw] extended_key_usage
1453
+ # Specifies additional purposes for which the certified public key may
1454
+ # be used other than basic purposes indicated in the `KeyUsage`
1455
+ # extension.
1456
+ # @return [Array<Types::ExtendedKeyUsage>]
1457
+ #
1458
+ # @!attribute [rw] key_usage
1459
+ # Defines one or more purposes for which the key contained in the
1460
+ # certificate can be used. Default value for each option is false.
1461
+ # @return [Types::KeyUsage]
1462
+ #
1463
+ # @!attribute [rw] subject_alternative_names
1464
+ # The subject alternative name extension allows identities to be bound
1465
+ # to the subject of the certificate. These identities may be included
1466
+ # in addition to or in place of the identity in the subject field of
1467
+ # the certificate.
1468
+ # @return [Array<Types::GeneralName>]
1469
+ #
1470
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/Extensions AWS API Documentation
1471
+ #
1472
+ class Extensions < Struct.new(
1473
+ :certificate_policies,
1474
+ :extended_key_usage,
1475
+ :key_usage,
1476
+ :subject_alternative_names)
1477
+ SENSITIVE = []
1478
+ include Aws::Structure
1479
+ end
1480
+
1214
1481
  # Describes an ASN.1 X.400 `GeneralName` as defined in [RFC 5280][1].
1215
- # Only one of the following naming options should be providied.
1216
- # Providing more than one option results in an `InvalidArgsException`
1217
- # error.
1482
+ # Only one of the following naming options should be provided. Providing
1483
+ # more than one option results in an `InvalidArgsException` error.
1218
1484
  #
1219
1485
  #
1220
1486
  #
@@ -1272,16 +1538,13 @@ module Aws::ACMPCA
1272
1538
  # @return [String]
1273
1539
  #
1274
1540
  # @!attribute [rw] directory_name
1275
- # Contains information about the certificate subject. The certificate
1276
- # can be one issued by your private certificate authority (CA) or it
1277
- # can be your private CA certificate. The **Subject** field in the
1278
- # certificate identifies the entity that owns or controls the public
1279
- # key in the certificate. The entity can be a user, computer, device,
1280
- # or service. The **Subject** must contain an X.500 distinguished name
1281
- # (DN). A DN is a sequence of relative distinguished names (RDNs). The
1282
- # RDNs are separated by commas in the certificate. The DN must be
1283
- # unique for each entity, but your private CA can issue more than one
1284
- # certificate with the same DN to the same entity.
1541
+ # Contains information about the certificate subject. The `Subject`
1542
+ # field in the certificate identifies the entity that owns or controls
1543
+ # the public key in the certificate. The entity can be a user,
1544
+ # computer, device, or service. The `Subject `must contain an X.500
1545
+ # distinguished name (DN). A DN is a sequence of relative
1546
+ # distinguished names (RDNs). The RDNs are separated by commas in the
1547
+ # certificate.
1285
1548
  # @return [Types::ASN1Subject]
1286
1549
  #
1287
1550
  # @!attribute [rw] edi_party_name
@@ -1644,6 +1907,89 @@ module Aws::ACMPCA
1644
1907
  # data as a hash:
1645
1908
  #
1646
1909
  # {
1910
+ # api_passthrough: {
1911
+ # extensions: {
1912
+ # certificate_policies: [
1913
+ # {
1914
+ # cert_policy_id: "CustomObjectIdentifier", # required
1915
+ # policy_qualifiers: [
1916
+ # {
1917
+ # policy_qualifier_id: "CPS", # required, accepts CPS
1918
+ # qualifier: { # required
1919
+ # cps_uri: "String256", # required
1920
+ # },
1921
+ # },
1922
+ # ],
1923
+ # },
1924
+ # ],
1925
+ # extended_key_usage: [
1926
+ # {
1927
+ # extended_key_usage_type: "SERVER_AUTH", # accepts SERVER_AUTH, CLIENT_AUTH, CODE_SIGNING, EMAIL_PROTECTION, TIME_STAMPING, OCSP_SIGNING, SMART_CARD_LOGIN, DOCUMENT_SIGNING, CERTIFICATE_TRANSPARENCY
1928
+ # extended_key_usage_object_identifier: "CustomObjectIdentifier",
1929
+ # },
1930
+ # ],
1931
+ # key_usage: {
1932
+ # digital_signature: false,
1933
+ # non_repudiation: false,
1934
+ # key_encipherment: false,
1935
+ # data_encipherment: false,
1936
+ # key_agreement: false,
1937
+ # key_cert_sign: false,
1938
+ # crl_sign: false,
1939
+ # encipher_only: false,
1940
+ # decipher_only: false,
1941
+ # },
1942
+ # subject_alternative_names: [
1943
+ # {
1944
+ # other_name: {
1945
+ # type_id: "CustomObjectIdentifier", # required
1946
+ # value: "String256", # required
1947
+ # },
1948
+ # rfc_822_name: "String256",
1949
+ # dns_name: "String253",
1950
+ # directory_name: {
1951
+ # country: "CountryCodeString",
1952
+ # organization: "String64",
1953
+ # organizational_unit: "String64",
1954
+ # distinguished_name_qualifier: "ASN1PrintableString64",
1955
+ # state: "String128",
1956
+ # common_name: "String64",
1957
+ # serial_number: "ASN1PrintableString64",
1958
+ # locality: "String128",
1959
+ # title: "String64",
1960
+ # surname: "String40",
1961
+ # given_name: "String16",
1962
+ # initials: "String5",
1963
+ # pseudonym: "String128",
1964
+ # generation_qualifier: "String3",
1965
+ # },
1966
+ # edi_party_name: {
1967
+ # party_name: "String256", # required
1968
+ # name_assigner: "String256",
1969
+ # },
1970
+ # uniform_resource_identifier: "String253",
1971
+ # ip_address: "String39",
1972
+ # registered_id: "CustomObjectIdentifier",
1973
+ # },
1974
+ # ],
1975
+ # },
1976
+ # subject: {
1977
+ # country: "CountryCodeString",
1978
+ # organization: "String64",
1979
+ # organizational_unit: "String64",
1980
+ # distinguished_name_qualifier: "ASN1PrintableString64",
1981
+ # state: "String128",
1982
+ # common_name: "String64",
1983
+ # serial_number: "ASN1PrintableString64",
1984
+ # locality: "String128",
1985
+ # title: "String64",
1986
+ # surname: "String40",
1987
+ # given_name: "String16",
1988
+ # initials: "String5",
1989
+ # pseudonym: "String128",
1990
+ # generation_qualifier: "String3",
1991
+ # },
1992
+ # },
1647
1993
  # certificate_authority_arn: "Arn", # required
1648
1994
  # csr: "data", # required
1649
1995
  # signing_algorithm: "SHA256WITHECDSA", # required, accepts SHA256WITHECDSA, SHA384WITHECDSA, SHA512WITHECDSA, SHA256WITHRSA, SHA384WITHRSA, SHA512WITHRSA
@@ -1652,9 +1998,29 @@ module Aws::ACMPCA
1652
1998
  # value: 1, # required
1653
1999
  # type: "END_DATE", # required, accepts END_DATE, ABSOLUTE, DAYS, MONTHS, YEARS
1654
2000
  # },
2001
+ # validity_not_before: {
2002
+ # value: 1, # required
2003
+ # type: "END_DATE", # required, accepts END_DATE, ABSOLUTE, DAYS, MONTHS, YEARS
2004
+ # },
1655
2005
  # idempotency_token: "IdempotencyToken",
1656
2006
  # }
1657
2007
  #
2008
+ # @!attribute [rw] api_passthrough
2009
+ # Specifies X.509 certificate information to be included in the issued
2010
+ # certificate. An `APIPassthrough` or `APICSRPassthrough` template
2011
+ # variant must be selected, or else this parameter is ignored. For
2012
+ # more information about using these templates, see [Understanding
2013
+ # Certificate Templates][1].
2014
+ #
2015
+ # If conflicting or duplicate certificate information is supplied
2016
+ # during certificate issuance, ACM Private CA applies [order of
2017
+ # operation rules](xxxxx) to determine what information is used.
2018
+ #
2019
+ #
2020
+ #
2021
+ # [1]: https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html
2022
+ # @return [Types::ApiPassthrough]
2023
+ #
1658
2024
  # @!attribute [rw] certificate_authority_arn
1659
2025
  # The Amazon Resource Name (ARN) that was returned when you called
1660
2026
  # [CreateCertificateAuthority][1]. This must be of the form:
@@ -1669,15 +2035,15 @@ module Aws::ACMPCA
1669
2035
  #
1670
2036
  # @!attribute [rw] csr
1671
2037
  # The certificate signing request (CSR) for the certificate you want
1672
- # to issue. You can use the following OpenSSL command to create the
1673
- # CSR and a 2048 bit RSA private key.
2038
+ # to issue. As an example, you can use the following OpenSSL command
2039
+ # to create the CSR and a 2048 bit RSA private key.
1674
2040
  #
1675
2041
  # `openssl req -new -newkey rsa:2048 -days 365 -keyout
1676
2042
  # private/test_cert_priv_key.pem -out csr/test_cert_.csr`
1677
2043
  #
1678
- # If you have a configuration file, you can use the following OpenSSL
1679
- # command. The `usr_cert` block in the configuration file contains
1680
- # your X509 version 3 extensions.
2044
+ # If you have a configuration file, you can then use the following
2045
+ # OpenSSL command. The `usr_cert` block in the configuration file
2046
+ # contains your X509 version 3 extensions.
1681
2047
  #
1682
2048
  # `openssl req -new -config openssl_rsa.cnf -extensions usr_cert
1683
2049
  # -newkey rsa:2048 -days -365 -keyout private/test_cert_priv_key.pem
@@ -1692,7 +2058,8 @@ module Aws::ACMPCA
1692
2058
  # to be issued.
1693
2059
  #
1694
2060
  # This parameter should not be confused with the `SigningAlgorithm`
1695
- # parameter used to sign a CSR.
2061
+ # parameter used to sign a CSR in the `CreateCertificateAuthority`
2062
+ # action.
1696
2063
  # @return [String]
1697
2064
  #
1698
2065
  # @!attribute [rw] template_arn
@@ -1706,77 +2073,85 @@ module Aws::ACMPCA
1706
2073
  # Note: The CA depth configured on a subordinate CA certificate must
1707
2074
  # not exceed the limit set by its parents in the CA hierarchy.
1708
2075
  #
1709
- # The following service-owned `TemplateArn` values are supported by
1710
- # ACM Private CA:
1711
- #
1712
- # * arn:aws:acm-pca:::template/CodeSigningCertificate/V1
2076
+ # For a list of `TemplateArn` values supported by ACM Private CA, see
2077
+ # [Understanding Certificate Templates][2].
1713
2078
  #
1714
- # * arn:aws:acm-pca:::template/CodeSigningCertificate\_CSRPassthrough/V1
1715
2079
  #
1716
- # * arn:aws:acm-pca:::template/EndEntityCertificate/V1
1717
2080
  #
1718
- # * arn:aws:acm-pca:::template/EndEntityCertificate\_CSRPassthrough/V1
1719
- #
1720
- # * arn:aws:acm-pca:::template/EndEntityClientAuthCertificate/V1
1721
- #
1722
- # * arn:aws:acm-pca:::template/EndEntityClientAuthCertificate\_CSRPassthrough/V1
1723
- #
1724
- # * arn:aws:acm-pca:::template/EndEntityServerAuthCertificate/V1
1725
- #
1726
- # * arn:aws:acm-pca:::template/EndEntityServerAuthCertificate\_CSRPassthrough/V1
2081
+ # [1]: https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaTerms.html#terms-cadepth
2082
+ # [2]: https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html
2083
+ # @return [String]
1727
2084
  #
1728
- # * arn:aws:acm-pca:::template/OCSPSigningCertificate/V1
2085
+ # @!attribute [rw] validity
2086
+ # Information describing the end of the validity period of the
2087
+ # certificate. This parameter sets the “Not After” date for the
2088
+ # certificate.
1729
2089
  #
1730
- # * arn:aws:acm-pca:::template/OCSPSigningCertificate\_CSRPassthrough/V1
2090
+ # Certificate validity is the period of time during which a
2091
+ # certificate is valid. Validity can be expressed as an explicit date
2092
+ # and time when the certificate expires, or as a span of time after
2093
+ # issuance, stated in days, months, or years. For more information,
2094
+ # see [Validity][1] in RFC 5280.
1731
2095
  #
1732
- # * arn:aws:acm-pca:::template/RootCACertificate/V1
2096
+ # This value is unaffected when `ValidityNotBefore` is also specified.
2097
+ # For example, if `Validity` is set to 20 days in the future, the
2098
+ # certificate will expire 20 days from issuance time regardless of the
2099
+ # `ValidityNotBefore` value.
1733
2100
  #
1734
- # * arn:aws:acm-pca:::template/SubordinateCACertificate\_PathLen0/V1
2101
+ # The end of the validity period configured on a certificate must not
2102
+ # exceed the limit set on its parents in the CA hierarchy.
1735
2103
  #
1736
- # * arn:aws:acm-pca:::template/SubordinateCACertificate\_PathLen1/V1
1737
2104
  #
1738
- # * arn:aws:acm-pca:::template/SubordinateCACertificate\_PathLen2/V1
1739
2105
  #
1740
- # * arn:aws:acm-pca:::template/SubordinateCACertificate\_PathLen3/V1
2106
+ # [1]: https://tools.ietf.org/html/rfc5280#section-4.1.2.5
2107
+ # @return [Types::Validity]
1741
2108
  #
1742
- # For more information, see [Using Templates][2].
2109
+ # @!attribute [rw] validity_not_before
2110
+ # Information describing the start of the validity period of the
2111
+ # certificate. This parameter sets the “Not Before" date for the
2112
+ # certificate.
1743
2113
  #
2114
+ # By default, when issuing a certificate, ACM Private CA sets the
2115
+ # "Not Before" date to the issuance time minus 60 minutes. This
2116
+ # compensates for clock inconsistencies across computer systems. The
2117
+ # `ValidityNotBefore` parameter can be used to customize the “Not
2118
+ # Before” value.
1744
2119
  #
2120
+ # Unlike the `Validity` parameter, the `ValidityNotBefore` parameter
2121
+ # is optional.
1745
2122
  #
1746
- # [1]: https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaTerms.html#terms-cadepth
1747
- # [2]: https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html
1748
- # @return [String]
2123
+ # The `ValidityNotBefore` value is expressed as an explicit date and
2124
+ # time, using the `Validity` type value `ABSOLUTE`. For more
2125
+ # information, see [Validity][1] in this API reference and
2126
+ # [Validity][2] in RFC 5280.
1749
2127
  #
1750
- # @!attribute [rw] validity
1751
- # Information describing the validity period of the certificate.
1752
2128
  #
1753
- # When issuing a certificate, ACM Private CA sets the "Not Before"
1754
- # date in the validity field to date and time minus 60 minutes. This
1755
- # is intended to compensate for time inconsistencies across systems of
1756
- # 60 minutes or less.
1757
2129
  #
1758
- # The validity period configured on a certificate must not exceed the
1759
- # limit set by its parents in the CA hierarchy.
2130
+ # [1]: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_Validity.html
2131
+ # [2]: https://tools.ietf.org/html/rfc5280#section-4.1.2.5
1760
2132
  # @return [Types::Validity]
1761
2133
  #
1762
2134
  # @!attribute [rw] idempotency_token
1763
- # Custom string that can be used to distinguish between calls to the
1764
- # **IssueCertificate** action. Idempotency tokens time out after one
1765
- # hour. Therefore, if you call **IssueCertificate** multiple times
1766
- # with the same idempotency token within 5 minutes, ACM Private CA
1767
- # recognizes that you are requesting only one certificate and will
1768
- # issue only one. If you change the idempotency token for each call,
1769
- # PCA recognizes that you are requesting multiple certificates.
2135
+ # Alphanumeric string that can be used to distinguish between calls to
2136
+ # the **IssueCertificate** action. Idempotency tokens for
2137
+ # **IssueCertificate** time out after one minute. Therefore, if you
2138
+ # call **IssueCertificate** multiple times with the same idempotency
2139
+ # token within one minute, ACM Private CA recognizes that you are
2140
+ # requesting only one certificate and will issue only one. If you
2141
+ # change the idempotency token for each call, PCA recognizes that you
2142
+ # are requesting multiple certificates.
1770
2143
  # @return [String]
1771
2144
  #
1772
2145
  # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/IssueCertificateRequest AWS API Documentation
1773
2146
  #
1774
2147
  class IssueCertificateRequest < Struct.new(
2148
+ :api_passthrough,
1775
2149
  :certificate_authority_arn,
1776
2150
  :csr,
1777
2151
  :signing_algorithm,
1778
2152
  :template_arn,
1779
2153
  :validity,
2154
+ :validity_not_before,
1780
2155
  :idempotency_token)
1781
2156
  SENSITIVE = []
1782
2157
  include Aws::Structure
@@ -2212,6 +2587,79 @@ module Aws::ACMPCA
2212
2587
  include Aws::Structure
2213
2588
  end
2214
2589
 
2590
+ # Defines the X.509 `CertificatePolicies` extension.
2591
+ #
2592
+ # @note When making an API call, you may pass PolicyInformation
2593
+ # data as a hash:
2594
+ #
2595
+ # {
2596
+ # cert_policy_id: "CustomObjectIdentifier", # required
2597
+ # policy_qualifiers: [
2598
+ # {
2599
+ # policy_qualifier_id: "CPS", # required, accepts CPS
2600
+ # qualifier: { # required
2601
+ # cps_uri: "String256", # required
2602
+ # },
2603
+ # },
2604
+ # ],
2605
+ # }
2606
+ #
2607
+ # @!attribute [rw] cert_policy_id
2608
+ # Specifies the object identifier (OID) of the certificate policy
2609
+ # under which the certificate was issued. For more information, see
2610
+ # NIST's definition of [Object Identifier (OID)][1].
2611
+ #
2612
+ #
2613
+ #
2614
+ # [1]: https://csrc.nist.gov/glossary/term/Object_Identifier
2615
+ # @return [String]
2616
+ #
2617
+ # @!attribute [rw] policy_qualifiers
2618
+ # Modifies the given `CertPolicyId` with a qualifier. ACM Private CA
2619
+ # supports the certification practice statement (CPS) qualifier.
2620
+ # @return [Array<Types::PolicyQualifierInfo>]
2621
+ #
2622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/PolicyInformation AWS API Documentation
2623
+ #
2624
+ class PolicyInformation < Struct.new(
2625
+ :cert_policy_id,
2626
+ :policy_qualifiers)
2627
+ SENSITIVE = []
2628
+ include Aws::Structure
2629
+ end
2630
+
2631
+ # Modifies the `CertPolicyId` of a `PolicyInformation` object with a
2632
+ # qualifier. ACM Private CA supports the certification practice
2633
+ # statement (CPS) qualifier.
2634
+ #
2635
+ # @note When making an API call, you may pass PolicyQualifierInfo
2636
+ # data as a hash:
2637
+ #
2638
+ # {
2639
+ # policy_qualifier_id: "CPS", # required, accepts CPS
2640
+ # qualifier: { # required
2641
+ # cps_uri: "String256", # required
2642
+ # },
2643
+ # }
2644
+ #
2645
+ # @!attribute [rw] policy_qualifier_id
2646
+ # Identifies the qualifier modifying a `CertPolicyId`.
2647
+ # @return [String]
2648
+ #
2649
+ # @!attribute [rw] qualifier
2650
+ # Defines the qualifier type. ACM Private CA supports the use of a URI
2651
+ # for a CPS qualifier in this field.
2652
+ # @return [Types::Qualifier]
2653
+ #
2654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/PolicyQualifierInfo AWS API Documentation
2655
+ #
2656
+ class PolicyQualifierInfo < Struct.new(
2657
+ :policy_qualifier_id,
2658
+ :qualifier)
2659
+ SENSITIVE = []
2660
+ include Aws::Structure
2661
+ end
2662
+
2215
2663
  # @note When making an API call, you may pass PutPolicyRequest
2216
2664
  # data as a hash:
2217
2665
  #
@@ -2233,7 +2681,7 @@ module Aws::ACMPCA
2233
2681
  # @return [String]
2234
2682
  #
2235
2683
  # @!attribute [rw] policy
2236
- # The path and filename of a JSON-formatted IAM policy to attach to
2684
+ # The path and file name of a JSON-formatted IAM policy to attach to
2237
2685
  # the specified private CA resource. If this policy does not contain
2238
2686
  # all required statements or if it includes any statement that is not
2239
2687
  # allowed, the `PutPolicy` action returns an `InvalidPolicyException`.
@@ -2254,6 +2702,34 @@ module Aws::ACMPCA
2254
2702
  include Aws::Structure
2255
2703
  end
2256
2704
 
2705
+ # Defines a `PolicyInformation` qualifier. ACM Private CA supports the
2706
+ # [certification practice statement (CPS) qualifier][1] defined in RFC
2707
+ # 5280.
2708
+ #
2709
+ #
2710
+ #
2711
+ # [1]: https://tools.ietf.org/html/rfc5280#section-4.2.1.4
2712
+ #
2713
+ # @note When making an API call, you may pass Qualifier
2714
+ # data as a hash:
2715
+ #
2716
+ # {
2717
+ # cps_uri: "String256", # required
2718
+ # }
2719
+ #
2720
+ # @!attribute [rw] cps_uri
2721
+ # Contains a pointer to a certification practice statement (CPS)
2722
+ # published by the CA.
2723
+ # @return [String]
2724
+ #
2725
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/Qualifier AWS API Documentation
2726
+ #
2727
+ class Qualifier < Struct.new(
2728
+ :cps_uri)
2729
+ SENSITIVE = []
2730
+ include Aws::Structure
2731
+ end
2732
+
2257
2733
  # Your request has already been completed.
2258
2734
  #
2259
2735
  # @!attribute [rw] message
@@ -2594,17 +3070,20 @@ module Aws::ACMPCA
2594
3070
 
2595
3071
  # Validity specifies the period of time during which a certificate is
2596
3072
  # valid. Validity can be expressed as an explicit date and time when the
2597
- # certificate expires, or as a span of time after issuance, stated in
2598
- # days, months, or years. For more information, see [Validity][1] in RFC
2599
- # 5280.
3073
+ # validity of a certificate starts or expires, or as a span of time
3074
+ # after issuance, stated in days, months, or years. For more
3075
+ # information, see [Validity][1] in RFC 5280.
2600
3076
  #
2601
- # You can issue a certificate by calling the [IssueCertificate][2]
2602
- # action.
3077
+ # ACM Private CA API consumes the `Validity` data type differently in
3078
+ # two distinct parameters of the `IssueCertificate` action. The required
3079
+ # parameter `IssueCertificate`\:`Validity` specifies the end of a
3080
+ # certificate's validity period. The optional parameter
3081
+ # `IssueCertificate`\:`ValidityNotBefore` specifies a customized
3082
+ # starting time for the validity period.
2603
3083
  #
2604
3084
  #
2605
3085
  #
2606
3086
  # [1]: https://tools.ietf.org/html/rfc5280#section-4.1.2.5
2607
- # [2]: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html
2608
3087
  #
2609
3088
  # @note When making an API call, you may pass Validity
2610
3089
  # data as a hash:
@@ -2635,8 +3114,9 @@ module Aws::ACMPCA
2635
3114
  #
2636
3115
  # * Output expiration date/time: 12/31/2049 23:59:59
2637
3116
  #
2638
- # `ABSOLUTE`\: The specific date and time when the certificate will
2639
- # expire, expressed in seconds since the Unix Epoch.
3117
+ # `ABSOLUTE`\: The specific date and time when the validity of a
3118
+ # certificate will start or expire, expressed in seconds since the
3119
+ # Unix Epoch.
2640
3120
  #
2641
3121
  # * Sample input value: 2524608000
2642
3122
  #