Skip to content

Commit 77bbf7a

Browse files
committed
KeyVault: Add support for specifying CeritifcateType in certificate policy.
1 parent cecc059 commit 77bbf7a

File tree

8 files changed

+43
-9
lines changed

8 files changed

+43
-9
lines changed

src/ResourceManager/KeyVault/Commands.KeyVault.Test/Commands.KeyVault.Test.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@
6565
<Reference Include="Microsoft.Azure.Graph.RBAC">
6666
<HintPath>..\..\..\packages\Microsoft.Azure.Graph.RBAC.3.2.0-preview\lib\net45\Microsoft.Azure.Graph.RBAC.dll</HintPath>
6767
</Reference>
68-
<Reference Include="Microsoft.Azure.KeyVault, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
69-
<HintPath>..\..\..\packages\Microsoft.Azure.KeyVault.2.0.1-preview\lib\net45\Microsoft.Azure.KeyVault.dll</HintPath>
68+
<Reference Include="Microsoft.Azure.KeyVault, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
69+
<HintPath>..\..\..\packages\Microsoft.Azure.KeyVault.2.0.2-preview\lib\net45\Microsoft.Azure.KeyVault.dll</HintPath>
7070
<Private>True</Private>
7171
</Reference>
7272
<Reference Include="Microsoft.Azure.KeyVault.WebKey, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">

src/ResourceManager/KeyVault/Commands.KeyVault.Test/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<package id="Microsoft.Azure.Common" version="2.1.0" targetFramework="net45" />
55
<package id="Microsoft.Azure.Common.Dependencies" version="1.0.0" targetFramework="net45" />
66
<package id="Microsoft.Azure.Gallery" version="2.6.2-preview" targetFramework="net45" />
7-
<package id="Microsoft.Azure.KeyVault" version="2.0.1-preview" targetFramework="net45" />
7+
<package id="Microsoft.Azure.KeyVault" version="2.0.2-preview" targetFramework="net45" />
88
<package id="Microsoft.Azure.KeyVault.WebKey" version="2.0.0-preview" targetFramework="net45" />
99
<package id="Microsoft.Azure.Management.Authorization" version="2.0.0" targetFramework="net45" />
1010
<package id="Microsoft.Azure.Management.KeyVault" version="2.0.0-preview" targetFramework="net45" />

src/ResourceManager/KeyVault/Commands.KeyVault/Commands.KeyVault.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@
155155
<Reference Include="Microsoft.Azure.Graph.RBAC">
156156
<HintPath>..\..\..\packages\Microsoft.Azure.Graph.RBAC.3.2.0-preview\lib\net45\Microsoft.Azure.Graph.RBAC.dll</HintPath>
157157
</Reference>
158-
<Reference Include="Microsoft.Azure.KeyVault, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
159-
<HintPath>..\..\..\packages\Microsoft.Azure.KeyVault.2.0.1-preview\lib\net45\Microsoft.Azure.KeyVault.dll</HintPath>
158+
<Reference Include="Microsoft.Azure.KeyVault, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
159+
<HintPath>..\..\..\packages\Microsoft.Azure.KeyVault.2.0.2-preview\lib\net45\Microsoft.Azure.KeyVault.dll</HintPath>
160160
<Private>True</Private>
161161
</Reference>
162162
<Reference Include="Microsoft.Azure.KeyVault.WebKey, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">

src/ResourceManager/KeyVault/Commands.KeyVault/Commands/NewAzureKeyVaultCertificatePolicy.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ public class NewAzureKeyVaultCertificatePolicy : KeyVaultCmdletBase
9898
HelpMessage = "Specifies the name of the issuer for this certificate.")]
9999
public string IssuerName { get; set; }
100100

101+
/// <summary>
102+
/// CertificateType
103+
/// </summary>
104+
[Parameter(ValueFromPipelineByPropertyName = true,
105+
HelpMessage = "Specifies the type of certificate to the issuer.")]
106+
public string CertificateType { get; set; }
107+
101108
/// <summary>
102109
/// RenewAtNumberOfDaysBeforeExpiry
103110
/// </summary>
@@ -165,6 +172,7 @@ protected override void ProcessRecord()
165172
Ekus = Ekus,
166173
Enabled = !Disabled.IsPresent,
167174
IssuerName = IssuerName,
175+
CertificateType = CertificateType,
168176
RenewAtNumberOfDaysBeforeExpiry = RenewAtNumberOfDaysBeforeExpiry,
169177
RenewAtPercentageLifetime = RenewAtPercentageLifetime,
170178
EmailAtNumberOfDaysBeforeExpiry = EmailAtNumberOfDaysBeforeExpiry,

src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultCertificatePolicy.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,14 @@ public class SetAzureKeyVaultCertificatePolicy : KeyVaultCmdletBase
137137
HelpMessage = "Specifies the name of the issuer for this certificate.")]
138138
public string IssuerName { get; set; }
139139

140+
/// <summary>
141+
/// CertificateType
142+
/// </summary>
143+
[Parameter(ValueFromPipelineByPropertyName = true,
144+
ParameterSetName = ExpandedParameterSet,
145+
HelpMessage = "Specifies the type of certificate to the issuer.")]
146+
public string CertificateType { get; set; }
147+
140148
/// <summary>
141149
/// RenewAtNumberOfDaysBeforeExpiry
142150
/// </summary>
@@ -228,6 +236,7 @@ protected override void ProcessRecord()
228236
Ekus = Ekus,
229237
Enabled = !Disabled.IsPresent,
230238
IssuerName = IssuerName,
239+
CertificateType = CertificateType,
231240
RenewAtNumberOfDaysBeforeExpiry = RenewAtNumberOfDaysBeforeExpiry,
232241
RenewAtPercentageLifetime = RenewAtPercentageLifetime,
233242
EmailAtNumberOfDaysBeforeExpiry = EmailAtNumberOfDaysBeforeExpiry,

src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultCertificateOperation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ internal static KeyVaultCertificateOperation FromCertificateOperation(Certificat
4444
StatusDetails = certificateOperation.StatusDetails,
4545
RequestId = certificateOperation.RequestId,
4646
Target = certificateOperation.Target,
47-
Issuer = certificateOperation.IssuerReference.Name,
47+
Issuer = certificateOperation.IssuerParameters.Name,
4848
CancellationRequested = certificateOperation.CancellationRequested,
4949
};
5050

src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultCertificatePolicy.cs

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public class KeyVaultCertificatePolicy
3232
public List<string> Ekus { get; set; }
3333
public int? ValidityInMonths { get; set; }
3434
public string IssuerName { get; set; }
35+
public string CertificateType { get; set; }
3536
public int? RenewAtNumberOfDaysBeforeExpiry { get; set; }
3637
public int? RenewAtPercentageLifetime { get; set; }
3738
public int? EmailAtNumberOfDaysBeforeExpiry { get; set; }
@@ -74,7 +75,22 @@ internal CertificatePolicy ToCertificatePolicy()
7475

7576
if (!string.IsNullOrWhiteSpace(IssuerName))
7677
{
77-
certificatePolicy.IssuerReference = new IssuerReference { Name = IssuerName };
78+
if (certificatePolicy.IssuerParameters == null)
79+
{
80+
certificatePolicy.IssuerParameters = new IssuerParameters();
81+
}
82+
83+
certificatePolicy.IssuerParameters.Name = IssuerName;
84+
}
85+
86+
if (!string.IsNullOrWhiteSpace(CertificateType))
87+
{
88+
if (certificatePolicy.IssuerParameters == null)
89+
{
90+
certificatePolicy.IssuerParameters = new IssuerParameters();
91+
}
92+
93+
certificatePolicy.IssuerParameters.CertificateType = CertificateType;
7894
}
7995

8096
if (Enabled.HasValue)
@@ -204,7 +220,8 @@ internal static KeyVaultCertificatePolicy FromCertificatePolicy(CertificatePolic
204220
KeyUsage = certificatePolicy.X509CertificateProperties == null ? null : certificatePolicy.X509CertificateProperties.KeyUsage == null ? null : new List<string>(certificatePolicy.X509CertificateProperties.KeyUsage),
205221
Ekus = certificatePolicy.X509CertificateProperties == null ? null : certificatePolicy.X509CertificateProperties.Ekus == null ? null : new List<string>(certificatePolicy.X509CertificateProperties.Ekus),
206222
ValidityInMonths = certificatePolicy.X509CertificateProperties == null ? null : certificatePolicy.X509CertificateProperties.ValidityInMonths,
207-
IssuerName = certificatePolicy.IssuerReference == null ? null : certificatePolicy.IssuerReference.Name,
223+
IssuerName = certificatePolicy.IssuerParameters == null ? null : certificatePolicy.IssuerParameters.Name,
224+
CertificateType = certificatePolicy.IssuerParameters == null ? null : certificatePolicy.IssuerParameters.CertificateType,
208225
RenewAtNumberOfDaysBeforeExpiry = certificatePolicy.LifetimeActions == null ? null : FindIntValueForAutoRenewAction(certificatePolicy.LifetimeActions, (trigger) => trigger.DaysBeforeExpiry),
209226
RenewAtPercentageLifetime = certificatePolicy.LifetimeActions == null ? null : FindIntValueForAutoRenewAction(certificatePolicy.LifetimeActions, (trigger) => trigger.LifetimePercentage),
210227
EmailAtNumberOfDaysBeforeExpiry = certificatePolicy.LifetimeActions == null ? null : FindIntValueForEmailAction(certificatePolicy.LifetimeActions, (trigger) => trigger.DaysBeforeExpiry),

src/ResourceManager/KeyVault/Commands.KeyVault/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<package id="Microsoft.Azure.Common" version="2.1.0" targetFramework="net45" />
66
<package id="Microsoft.Azure.Common.Dependencies" version="1.0.0" targetFramework="net45" />
77
<package id="Microsoft.Azure.Graph.RBAC" version="3.2.0-preview" targetFramework="net45" />
8-
<package id="Microsoft.Azure.KeyVault" version="2.0.1-preview" targetFramework="net45" />
8+
<package id="Microsoft.Azure.KeyVault" version="2.0.2-preview" targetFramework="net45" />
99
<package id="Microsoft.Azure.KeyVault.WebKey" version="2.0.0-preview" targetFramework="net45" />
1010
<package id="Microsoft.Azure.Management.Authorization" version="2.0.0" targetFramework="net45" />
1111
<package id="Microsoft.Azure.Management.KeyVault" version="2.0.0-preview" targetFramework="net45" />

0 commit comments

Comments
 (0)