@@ -17,7 +17,7 @@ public class TestApplication : CommandLineApplication
1717 public CommandOption Help { get ; }
1818
1919 public CommandOption KeyVaultName { get ; }
20-
20+ public CommandOption KeyVaultManaged { get ; }
2121 public CommandOption KeyVaultTenantId { get ; }
2222
2323 public CommandOption KeyVaultClientId { get ; }
@@ -43,6 +43,7 @@ public TestApplication()
4343 Help = HelpOption ( "-? | -h | --help" ) ;
4444
4545 KeyVaultName = Option ( "-kv | --keyVaultName" , "KeyVault name" , CommandOptionType . SingleValue ) ;
46+ KeyVaultManaged = Option ( "-kvm | --keyVaultUseMsi" , "Use managed identity for KV authentication" , CommandOptionType . NoValue ) ;
4647 KeyVaultTenantId = Option ( "-kvtid | --keyVaultTenantId" , "KeyVault tenant id" , CommandOptionType . SingleValue ) ;
4748 KeyVaultClientId = Option ( "-kvcid | --keyVaultClientId" , "KeyVault client id" , CommandOptionType . SingleValue ) ;
4849 KeyVaultCertificateThumbprint = Option ( "-kvct | --keyVaultCertThumbprint" , "KeyVault certificate thumbprint" , CommandOptionType . SingleValue ) ;
@@ -77,16 +78,25 @@ public async Task<int> ExecuteAsync()
7778 var useAdalOnly = UseAdalOnly . HasValue ( ) ;
7879
7980 if ( KeyVaultName . HasValue ( )
80- && KeyVaultClientId . HasValue ( )
81- && KeyVaultCertificateThumbprint . HasValue ( ) )
81+ && ( ( KeyVaultClientId . HasValue ( )
82+ && KeyVaultCertificateThumbprint . HasValue ( ) ) || KeyVaultManaged . HasValue ( ) ) )
8283 {
83- using ( var kvCertificate = GetKeyVaultCertificate ( KeyVaultCertificateThumbprint . Value ( ) ) )
84+ using ( var kvCertificate = KeyVaultManaged . HasValue ( ) ? null : GetKeyVaultCertificate ( KeyVaultCertificateThumbprint . Value ( ) ) )
8485 {
85- var keyVaultConfig = new KeyVaultConfiguration (
86- KeyVaultName . Value ( ) ,
87- KeyVaultTenantId . Value ( ) ,
88- KeyVaultClientId . Value ( ) ,
89- kvCertificate ) ;
86+ KeyVaultConfiguration keyVaultConfig ;
87+ if ( KeyVaultManaged . HasValue ( ) )
88+ {
89+ keyVaultConfig = new KeyVaultConfiguration ( KeyVaultName . Value ( ) ) ;
90+ }
91+ else
92+ {
93+ keyVaultConfig = new KeyVaultConfiguration (
94+ KeyVaultName . Value ( ) ,
95+ KeyVaultTenantId . Value ( ) ,
96+ KeyVaultClientId . Value ( ) ,
97+ kvCertificate ,
98+ sendX5c : true ) ;
99+ }
90100
91101 var runner = new TestRunner (
92102 ConnectionString . Value ( ) ,
0 commit comments