Skip to content

Commit 3aa5c2c

Browse files
authored
Fixed certificate policy bugs if DnsName is null. (#22646)
1 parent 456fadb commit 3aa5c2c

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

src/KeyVault/KeyVault/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- Additional information about change #1
1919
-->
2020
## Upcoming Release
21+
* Fixed certificate policy bugs if DnsName is null. [#22642]
2122
* Supported multi-regions for Managed Hsm: Added `Add/Get/Remove-AzAzKeyVaultManagedHsmRegion`.
2223
* Added `Test-AzKeyVaultNameAvailability` and `Test-AzKeyVaultManagedHsmNameAvailability`.
2324
* Formatted the table view of `*-AzKeyVault`, `*-AzKeyVaultKey` and `*-AzKeyVaultSecret`

src/KeyVault/KeyVault/Models/Certificate/PSKeyVaultCertificatePolicy.cs

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -411,28 +411,27 @@ internal static PSKeyVaultCertificatePolicy FromCertificatePolicy(CertificatePol
411411
{
412412
return new PSKeyVaultCertificatePolicy
413413
{
414-
SecretContentType = certificatePolicy.SecretProperties == null ? null : certificatePolicy.SecretProperties.ContentType,
415-
Kty = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.KeyType,
416-
KeySize = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.KeySize,
417-
Curve = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.Curve,
418-
Exportable = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.Exportable,
419-
ReuseKeyOnRenewal = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.ReuseKey,
420-
SubjectName = certificatePolicy.X509CertificateProperties == null ? null : certificatePolicy.X509CertificateProperties.Subject,
421-
DnsNames = certificatePolicy.X509CertificateProperties == null || certificatePolicy.X509CertificateProperties.SubjectAlternativeNames == null ?
422-
null : new List<string>(certificatePolicy.X509CertificateProperties.SubjectAlternativeNames.DnsNames),
423-
KeyUsage = certificatePolicy.X509CertificateProperties == null ? null : certificatePolicy.X509CertificateProperties.KeyUsage == null ? null : new List<string>(certificatePolicy.X509CertificateProperties.KeyUsage),
424-
Ekus = certificatePolicy.X509CertificateProperties == null ? null : certificatePolicy.X509CertificateProperties.Ekus == null ? null : new List<string>(certificatePolicy.X509CertificateProperties.Ekus),
425-
ValidityInMonths = certificatePolicy.X509CertificateProperties == null ? null : certificatePolicy.X509CertificateProperties.ValidityInMonths,
426-
CertificateTransparency = certificatePolicy.IssuerParameters == null ? null : certificatePolicy.IssuerParameters.CertificateTransparency,
427-
IssuerName = certificatePolicy.IssuerParameters == null ? null : certificatePolicy.IssuerParameters.Name,
428-
CertificateType = certificatePolicy.IssuerParameters == null ? null : certificatePolicy.IssuerParameters.CertificateType,
414+
SecretContentType = certificatePolicy?.SecretProperties?.ContentType,
415+
Kty = certificatePolicy?.KeyProperties?.KeyType,
416+
KeySize = certificatePolicy?.KeyProperties?.KeySize,
417+
Curve = certificatePolicy?.KeyProperties?.Curve,
418+
Exportable = certificatePolicy?.KeyProperties?.Exportable,
419+
ReuseKeyOnRenewal = certificatePolicy?.KeyProperties?.ReuseKey,
420+
SubjectName = certificatePolicy?.X509CertificateProperties?.Subject,
421+
DnsNames = certificatePolicy?.X509CertificateProperties?.SubjectAlternativeNames?.DnsNames?.ToList(),
422+
KeyUsage = certificatePolicy?.X509CertificateProperties?.KeyUsage?.ToList(),
423+
Ekus = certificatePolicy?.X509CertificateProperties?.Ekus?.ToList(),
424+
ValidityInMonths = certificatePolicy?.X509CertificateProperties?.ValidityInMonths,
425+
CertificateTransparency = certificatePolicy?.IssuerParameters?.CertificateTransparency,
426+
IssuerName = certificatePolicy?.IssuerParameters?.Name,
427+
CertificateType = certificatePolicy?.IssuerParameters? .CertificateType,
429428
RenewAtNumberOfDaysBeforeExpiry = certificatePolicy.LifetimeActions == null ? null : FindIntValueForAutoRenewAction(certificatePolicy.LifetimeActions, (trigger) => trigger.DaysBeforeExpiry),
430429
RenewAtPercentageLifetime = certificatePolicy.LifetimeActions == null ? null : FindIntValueForAutoRenewAction(certificatePolicy.LifetimeActions, (trigger) => trigger.LifetimePercentage),
431430
EmailAtNumberOfDaysBeforeExpiry = certificatePolicy.LifetimeActions == null ? null : FindIntValueForEmailAction(certificatePolicy.LifetimeActions, (trigger) => trigger.DaysBeforeExpiry),
432431
EmailAtPercentageLifetime = certificatePolicy.LifetimeActions == null ? null : FindIntValueForEmailAction(certificatePolicy.LifetimeActions, (trigger) => trigger.LifetimePercentage),
433-
Enabled = certificatePolicy.Attributes == null ? null : certificatePolicy.Attributes.Enabled,
434-
Created = certificatePolicy.Attributes == null ? null : certificatePolicy.Attributes.Created,
435-
Updated = certificatePolicy.Attributes == null ? null : certificatePolicy.Attributes.Updated,
432+
Enabled = certificatePolicy?.Attributes?.Enabled,
433+
Created = certificatePolicy?.Attributes?.Created,
434+
Updated = certificatePolicy?.Attributes?.Updated,
436435
};
437436
}
438437

@@ -450,8 +449,8 @@ internal static PSKeyVaultCertificatePolicy FromTrack2CertificatePolicy(Track2Ce
450449
DnsNames = certificatePolicy.SubjectAlternativeNames?.DnsNames?.ToList(),
451450
Emails = certificatePolicy.SubjectAlternativeNames?.Emails?.ToList(),
452451
UserPrincipalNames = certificatePolicy.SubjectAlternativeNames?.UserPrincipalNames?.ToList(),
453-
KeyUsage = certificatePolicy.KeyUsage == null ? null : certificatePolicy.KeyUsage == null ? null : certificatePolicy.KeyUsage.Select(keyUsage => keyUsage.ToString()).ToList(),
454-
Ekus = certificatePolicy.EnhancedKeyUsage == null ? null : new List<string>(certificatePolicy.EnhancedKeyUsage),
452+
KeyUsage = certificatePolicy?.KeyUsage?.Select(keyUsage => keyUsage.ToString())?.ToList(),
453+
Ekus = certificatePolicy?.EnhancedKeyUsage?.ToList(),
455454
ValidityInMonths = certificatePolicy.ValidityInMonths,
456455
CertificateTransparency = certificatePolicy.CertificateTransparency,
457456
IssuerName = certificatePolicy.IssuerName,

0 commit comments

Comments
 (0)