From 39b9d205abd6d374c22a261b2da13ce566ef45d9 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 15 Jun 2024 08:03:28 +0200 Subject: [PATCH] Moved the Azure auth options to a separate class and share this between AzureKeyVaultCommand and TrustedSigningCommand. --- src/Sign.Cli/AzureAuthOptions.cs | 57 ++++++++++++++++ src/Sign.Cli/AzureKeyVaultCommand.cs | 55 +++------------- .../AzureKeyVaultResources.Designer.cs | 45 ------------- src/Sign.Cli/AzureKeyVaultResources.resx | 16 ----- src/Sign.Cli/Resources.Designer.cs | 45 +++++++++++++ src/Sign.Cli/Resources.resx | 16 +++++ src/Sign.Cli/TrustedSigningCommand.cs | 41 ++---------- .../TrustedSigningResources.Designer.cs | 45 ------------- src/Sign.Cli/TrustedSigningResources.resx | 16 ----- .../xlf/AzureKeyVaultResources.cs.xlf | 25 ------- .../xlf/AzureKeyVaultResources.de.xlf | 25 ------- .../xlf/AzureKeyVaultResources.es.xlf | 25 ------- .../xlf/AzureKeyVaultResources.fr.xlf | 25 ------- .../xlf/AzureKeyVaultResources.it.xlf | 25 ------- .../xlf/AzureKeyVaultResources.ja.xlf | 25 ------- .../xlf/AzureKeyVaultResources.ko.xlf | 25 ------- .../xlf/AzureKeyVaultResources.pl.xlf | 25 ------- .../xlf/AzureKeyVaultResources.pt-BR.xlf | 25 ------- .../xlf/AzureKeyVaultResources.ru.xlf | 25 ------- .../xlf/AzureKeyVaultResources.tr.xlf | 25 ------- .../xlf/AzureKeyVaultResources.zh-Hans.xlf | 25 ------- .../xlf/AzureKeyVaultResources.zh-Hant.xlf | 25 ------- src/Sign.Cli/xlf/Resources.cs.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.de.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.es.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.fr.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.it.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.ja.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.ko.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.pl.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.pt-BR.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.ru.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.tr.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.zh-Hans.xlf | 25 +++++++ src/Sign.Cli/xlf/Resources.zh-Hant.xlf | 25 +++++++ .../xlf/TrustedSigningResources.cs.xlf | 25 ------- .../xlf/TrustedSigningResources.de.xlf | 25 ------- .../xlf/TrustedSigningResources.es.xlf | 25 ------- .../xlf/TrustedSigningResources.fr.xlf | 25 ------- .../xlf/TrustedSigningResources.it.xlf | 25 ------- .../xlf/TrustedSigningResources.ja.xlf | 25 ------- .../xlf/TrustedSigningResources.ko.xlf | 25 ------- .../xlf/TrustedSigningResources.pl.xlf | 25 ------- .../xlf/TrustedSigningResources.pt-BR.xlf | 25 ------- .../xlf/TrustedSigningResources.ru.xlf | 25 ------- .../xlf/TrustedSigningResources.tr.xlf | 25 ------- .../xlf/TrustedSigningResources.zh-Hans.xlf | 25 ------- .../xlf/TrustedSigningResources.zh-Hant.xlf | 25 ------- test/Sign.Cli.Test/AzureAuthOptionsTests.cs | 61 +++++++++++++++++ .../AzureKeyVaultCommandTests.cs | 66 +++---------------- .../SignCommandTests.Globbing.cs | 8 +-- test/Sign.Cli.Test/SignCommandTests.cs | 6 +- .../TrustedSigningCommandTests.cs | 64 +++--------------- 53 files changed, 543 insertions(+), 973 deletions(-) create mode 100644 src/Sign.Cli/AzureAuthOptions.cs create mode 100644 test/Sign.Cli.Test/AzureAuthOptionsTests.cs diff --git a/src/Sign.Cli/AzureAuthOptions.cs b/src/Sign.Cli/AzureAuthOptions.cs new file mode 100644 index 00000000..e217a396 --- /dev/null +++ b/src/Sign.Cli/AzureAuthOptions.cs @@ -0,0 +1,57 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE.txt file in the project root for more information. + +using System.CommandLine; +using System.CommandLine.Invocation; +using Azure.Core; +using Azure.Identity; +using Sign.Core; + +namespace Sign.Cli +{ + internal sealed class AzureAuthOptions + { + internal Option ManagedIdentityOption { get; } = new(["-azm", "--azure-managed-identity"], getDefaultValue: () => false, Resources.ManagedIdentityOptionDescription); + internal Option TenantIdOption { get; } = new(["-azt", "--azure-tenant-id"], Resources.TenantIdOptionDescription); + internal Option ClientIdOption { get; } = new(["-azi", "--azure-client-id"], Resources.ClientIdOptionDescription); + internal Option ClientSecretOption { get; } = new(["-azs", "--azure-client-secret"], Resources.ClientSecretOptionDescription); + + internal void AddOptionsToCommand(Command command) + { + command.AddOption(ManagedIdentityOption); + command.AddOption(TenantIdOption); + command.AddOption(ClientIdOption); + command.AddOption(ClientSecretOption); + } + + internal TokenCredential? CreateTokenCredential(InvocationContext context) + { + bool useManagedIdentity = context.ParseResult.GetValueForOption(ManagedIdentityOption); + + if (useManagedIdentity) + { + return new DefaultAzureCredential(); + } + + string? tenantId = context.ParseResult.GetValueForOption(TenantIdOption); + string? clientId = context.ParseResult.GetValueForOption(ClientIdOption); + string? secret = context.ParseResult.GetValueForOption(ClientSecretOption); + + if (string.IsNullOrEmpty(tenantId) || + string.IsNullOrEmpty(clientId) || + string.IsNullOrEmpty(secret)) + { + context.Console.Error.WriteFormattedLine( + Resources.InvalidClientSecretCredential, + TenantIdOption, + ClientIdOption, + ClientSecretOption); + context.ExitCode = ExitCode.NoInputsFound; + return null; + } + + return new ClientSecretCredential(tenantId, clientId, secret); + } + } +} diff --git a/src/Sign.Cli/AzureKeyVaultCommand.cs b/src/Sign.Cli/AzureKeyVaultCommand.cs index 046080a6..925ead0b 100644 --- a/src/Sign.Cli/AzureKeyVaultCommand.cs +++ b/src/Sign.Cli/AzureKeyVaultCommand.cs @@ -6,7 +6,6 @@ using System.CommandLine.Invocation; using System.CommandLine.IO; using Azure.Core; -using Azure.Identity; using Sign.Core; using Sign.SignatureProviders.KeyVault; @@ -14,14 +13,9 @@ namespace Sign.Cli { internal sealed class AzureKeyVaultCommand : Command { - private readonly CodeCommand _codeCommand; - - internal Option CertificateOption { get; } = new(["-kvc", "--azure-key-vault-certificate"], AzureKeyVaultResources.CertificateOptionDescription); - internal Option ClientIdOption { get; } = new(["-kvi", "--azure-key-vault-client-id"], AzureKeyVaultResources.ClientIdOptionDescription); - internal Option ClientSecretOption { get; } = new(["-kvs", "--azure-key-vault-client-secret"], AzureKeyVaultResources.ClientSecretOptionDescription); - internal Option ManagedIdentityOption { get; } = new(["-kvm", "--azure-key-vault-managed-identity"], getDefaultValue: () => false, AzureKeyVaultResources.ManagedIdentityOptionDescription); - internal Option TenantIdOption { get; } = new(["-kvt", "--azure-key-vault-tenant-id"], AzureKeyVaultResources.TenantIdOptionDescription); internal Option UrlOption { get; } = new(["-kvu", "--azure-key-vault-url"], AzureKeyVaultResources.UrlOptionDescription); + internal Option CertificateOption { get; } = new(["-kvc", "--azure-key-vault-certificate"], AzureKeyVaultResources.CertificateOptionDescription); + internal AzureAuthOptions AzureAuthOptions { get; } = new(); internal Argument FileArgument { get; } = new("file(s)", Resources.FilesArgumentDescription); @@ -31,19 +25,12 @@ internal AzureKeyVaultCommand(CodeCommand codeCommand, IServiceProviderFactory s ArgumentNullException.ThrowIfNull(codeCommand, nameof(codeCommand)); ArgumentNullException.ThrowIfNull(serviceProviderFactory, nameof(serviceProviderFactory)); - _codeCommand = codeCommand; - CertificateOption.IsRequired = true; UrlOption.IsRequired = true; - ManagedIdentityOption.SetDefaultValue(false); - AddOption(UrlOption); - AddOption(TenantIdOption); - AddOption(ClientIdOption); - AddOption(ClientSecretOption); AddOption(CertificateOption); - AddOption(ManagedIdentityOption); + AzureAuthOptions.AddOptionsToCommand(this); AddArgument(FileArgument); @@ -67,41 +54,19 @@ internal AzureKeyVaultCommand(CodeCommand codeCommand, IServiceProviderFactory s return; } + TokenCredential? credential = AzureAuthOptions.CreateTokenCredential(context); + if (credential is null) + { + return; + } + // Some of the options are required and that is why we can safely use // the null-forgiving operator (!) to simplify the code. Uri url = context.ParseResult.GetValueForOption(UrlOption)!; - string? tenantId = context.ParseResult.GetValueForOption(TenantIdOption); - string? clientId = context.ParseResult.GetValueForOption(ClientIdOption); - string? secret = context.ParseResult.GetValueForOption(ClientSecretOption); string certificateId = context.ParseResult.GetValueForOption(CertificateOption)!; - bool useManagedIdentity = context.ParseResult.GetValueForOption(ManagedIdentityOption); - - TokenCredential? credential = null; - - if (useManagedIdentity) - { - credential = new DefaultAzureCredential(); - } - else - { - if (string.IsNullOrEmpty(tenantId) || - string.IsNullOrEmpty(clientId) || - string.IsNullOrEmpty(secret)) - { - context.Console.Error.WriteFormattedLine( - AzureKeyVaultResources.InvalidClientSecretCredential, - TenantIdOption, - ClientIdOption, - ClientSecretOption); - context.ExitCode = ExitCode.NoInputsFound; - return; - } - - credential = new ClientSecretCredential(tenantId, clientId, secret); - } KeyVaultServiceProvider keyVaultServiceProvider = new(credential, url, certificateId); - await _codeCommand.HandleAsync(context, serviceProviderFactory, keyVaultServiceProvider, fileArgument); + await codeCommand.HandleAsync(context, serviceProviderFactory, keyVaultServiceProvider, fileArgument); }); } } diff --git a/src/Sign.Cli/AzureKeyVaultResources.Designer.cs b/src/Sign.Cli/AzureKeyVaultResources.Designer.cs index 6717fe00..ae840eba 100644 --- a/src/Sign.Cli/AzureKeyVaultResources.Designer.cs +++ b/src/Sign.Cli/AzureKeyVaultResources.Designer.cs @@ -78,24 +78,6 @@ internal static string ClickOnceExtensionNotSupported { } } - /// - /// Looks up a localized string similar to Client ID to authenticate to Azure Key Vault.. - /// - internal static string ClientIdOptionDescription { - get { - return ResourceManager.GetString("ClientIdOptionDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Client secret to authenticate to Azure Key Vault.. - /// - internal static string ClientSecretOptionDescription { - get { - return ResourceManager.GetString("ClientSecretOptionDescription", resourceCulture); - } - } - /// /// Looks up a localized string similar to Use Azure Key Vault.. /// @@ -105,33 +87,6 @@ internal static string CommandDescription { } } - /// - /// Looks up a localized string similar to If not using a managed identity, all of these options are required: {0}, {1}, and {2}.. - /// - internal static string InvalidClientSecretCredential { - get { - return ResourceManager.GetString("InvalidClientSecretCredential", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Managed identity to authenticate to Azure Key Vault.. - /// - internal static string ManagedIdentityOptionDescription { - get { - return ResourceManager.GetString("ManagedIdentityOptionDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tenant ID to authenticate to Azure Key Vault.. - /// - internal static string TenantIdOptionDescription { - get { - return ResourceManager.GetString("TenantIdOptionDescription", resourceCulture); - } - } - /// /// Looks up a localized string similar to URL to an Azure Key Vault.. /// diff --git a/src/Sign.Cli/AzureKeyVaultResources.resx b/src/Sign.Cli/AzureKeyVaultResources.resx index 773e45dc..97762b0d 100644 --- a/src/Sign.Cli/AzureKeyVaultResources.resx +++ b/src/Sign.Cli/AzureKeyVaultResources.resx @@ -123,25 +123,9 @@ ClickOnce signing via the legacy .clickonce ZIP workaround is no longer supported. See documentation. - - Client ID to authenticate to Azure Key Vault. - - - Client secret to authenticate to Azure Key Vault. - Use Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - - - Tenant ID to authenticate to Azure Key Vault. - URL to an Azure Key Vault. diff --git a/src/Sign.Cli/Resources.Designer.cs b/src/Sign.Cli/Resources.Designer.cs index c7ecb597..d795f5c1 100644 --- a/src/Sign.Cli/Resources.Designer.cs +++ b/src/Sign.Cli/Resources.Designer.cs @@ -87,6 +87,24 @@ internal static string CertificateStoreCommandDescription { } } + /// + /// Looks up a localized string similar to Client ID to authenticate to Azure Key Vault.. + /// + internal static string ClientIdOptionDescription { + get { + return ResourceManager.GetString("ClientIdOptionDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Client secret to authenticate to Azure Key Vault.. + /// + internal static string ClientSecretOptionDescription { + get { + return ResourceManager.GetString("ClientSecretOptionDescription", resourceCulture); + } + } + /// /// Looks up a localized string similar to Sign binaries and containers.. /// @@ -168,6 +186,15 @@ internal static string InvalidCertificateFingerprintValue { } } + /// + /// Looks up a localized string similar to If not using a managed identity, all of these options are required: {0}, {1}, and {2}.. + /// + internal static string InvalidClientSecretCredential { + get { + return ResourceManager.GetString("InvalidClientSecretCredential", resourceCulture); + } + } + /// /// Looks up a localized string similar to Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'.. /// @@ -204,6 +231,15 @@ internal static string InvalidUrlValue { } } + /// + /// Looks up a localized string similar to Managed identity to authenticate to Azure Key Vault.. + /// + internal static string ManagedIdentityOptionDescription { + get { + return ResourceManager.GetString("ManagedIdentityOptionDescription", resourceCulture); + } + } + /// /// Looks up a localized string similar to Maximum concurrency.. /// @@ -267,6 +303,15 @@ internal static string SomeFilesDoNotExist { } } + /// + /// Looks up a localized string similar to Tenant ID to authenticate to Azure Key Vault.. + /// + internal static string TenantIdOptionDescription { + get { + return ResourceManager.GetString("TenantIdOptionDescription", resourceCulture); + } + } + /// /// Looks up a localized string similar to Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512.. /// diff --git a/src/Sign.Cli/Resources.resx b/src/Sign.Cli/Resources.resx index 6ee99463..229acba1 100644 --- a/src/Sign.Cli/Resources.resx +++ b/src/Sign.Cli/Resources.resx @@ -126,6 +126,12 @@ Use Windows Certificate Store or a local certificate file. + + Client ID to authenticate to Azure Key Vault. + + + Client secret to authenticate to Azure Key Vault. + Sign binaries and containers. @@ -157,6 +163,10 @@ Invalid value for {0}. The value must be the certificate's fingerprint (in hexadecimal). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. {Locked="sha256", "sha384", "sha512"} are cryptographic hash algorithm names and should not be localized. {NumberedPlaceholder="{0}"} is an option name (e.g.: --file-digest) and should not be localized. @@ -172,6 +182,9 @@ Invalid value for {0}. The value must be an absolute HTTP or HTTPS URL. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Maximum concurrency. @@ -195,6 +208,9 @@ Some files do not exist. Try using a different {0} value or a fully qualified file path. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. {Locked="RFC 3161"} is an Internet standard (https://www.rfc-editor.org/info/rfc3161), and {Locked="sha256", "sha384", "sha512"} are cryptographic hash algorithm names should not be localized. diff --git a/src/Sign.Cli/TrustedSigningCommand.cs b/src/Sign.Cli/TrustedSigningCommand.cs index a32cef77..0935551f 100644 --- a/src/Sign.Cli/TrustedSigningCommand.cs +++ b/src/Sign.Cli/TrustedSigningCommand.cs @@ -6,7 +6,6 @@ using System.CommandLine.Invocation; using System.CommandLine.IO; using Azure.Core; -using Azure.Identity; using Sign.Core; using Sign.SignatureProviders.TrustedSigning; @@ -17,10 +16,7 @@ internal sealed class TrustedSigningCommand : Command internal Option EndpointOption { get; } = new(["-tse", "--trusted-signing-endpoint"], TrustedSigningResources.EndpointOptionDescription); internal Option AccountOption { get; } = new(["-tsa", "--trusted-signing-account"], TrustedSigningResources.AccountOptionDescription); internal Option CertificateProfileOption { get; } = new(["-tsc", "--trusted-signing-certificate-profile"], TrustedSigningResources.CertificateProfileOptionDescription); - internal Option ManagedIdentityOption { get; } = new(["-tsm", "--trusted-signing-managed-identity"], getDefaultValue: () => false, TrustedSigningResources.ManagedIdentityOptionDescription); - internal Option TenantIdOption { get; } = new(["-tst", "--trusted-signing-tenant-id"], TrustedSigningResources.TenantIdOptionDescription); - internal Option ClientIdOption { get; } = new(["-tsi", "--trusted-signing-client-id"], TrustedSigningResources.ClientIdOptionDescription); - internal Option ClientSecretOption { get; } = new(["-tss", "--trusted-signing-client-secret"], TrustedSigningResources.ClientSecretOptionDescription); + internal AzureAuthOptions AzureAuthOptions { get; } = new(); internal Argument FileArgument { get; } = new("file(s)", Resources.FilesArgumentDescription); @@ -37,10 +33,7 @@ internal TrustedSigningCommand(CodeCommand codeCommand, IServiceProviderFactory AddOption(EndpointOption); AddOption(AccountOption); AddOption(CertificateProfileOption); - AddOption(ManagedIdentityOption); - AddOption(TenantIdOption); - AddOption(ClientIdOption); - AddOption(ClientSecretOption); + AzureAuthOptions.AddOptionsToCommand(this); AddArgument(FileArgument); @@ -55,34 +48,10 @@ internal TrustedSigningCommand(CodeCommand codeCommand, IServiceProviderFactory return; } - bool useManagedIdentity = context.ParseResult.GetValueForOption(ManagedIdentityOption); - - TokenCredential? credential = null; - - if (useManagedIdentity) - { - credential = new DefaultAzureCredential(); - } - else + TokenCredential? credential = AzureAuthOptions.CreateTokenCredential(context); + if (credential is null) { - string? tenantId = context.ParseResult.GetValueForOption(TenantIdOption); - string? clientId = context.ParseResult.GetValueForOption(ClientIdOption); - string? clientSecret = context.ParseResult.GetValueForOption(ClientSecretOption); - - if (string.IsNullOrEmpty(tenantId) || - string.IsNullOrEmpty(clientId) || - string.IsNullOrEmpty(clientSecret)) - { - context.Console.Error.WriteFormattedLine( - TrustedSigningResources.InvalidClientSecretCredential, - TenantIdOption, - ClientIdOption, - ClientSecretOption); - context.ExitCode = ExitCode.NoInputsFound; - return; - } - - credential = new ClientSecretCredential(tenantId, clientId, clientSecret); + return; } // Some of the options are required and that is why we can safely use diff --git a/src/Sign.Cli/TrustedSigningResources.Designer.cs b/src/Sign.Cli/TrustedSigningResources.Designer.cs index bb83ef8d..c6fd3d14 100644 --- a/src/Sign.Cli/TrustedSigningResources.Designer.cs +++ b/src/Sign.Cli/TrustedSigningResources.Designer.cs @@ -78,24 +78,6 @@ internal static string CertificateProfileOptionDescription { } } - /// - /// Looks up a localized string similar to Client ID to authenticate to Trusted Signing.. - /// - internal static string ClientIdOptionDescription { - get { - return ResourceManager.GetString("ClientIdOptionDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Client secret to authenticate to Trusted Signing.. - /// - internal static string ClientSecretOptionDescription { - get { - return ResourceManager.GetString("ClientSecretOptionDescription", resourceCulture); - } - } - /// /// Looks up a localized string similar to Use Trusted Signing. /// @@ -113,32 +95,5 @@ internal static string EndpointOptionDescription { return ResourceManager.GetString("EndpointOptionDescription", resourceCulture); } } - - /// - /// Looks up a localized string similar to If not using a managed identity, all of these options are required: {0}, {1}, and {2}.. - /// - internal static string InvalidClientSecretCredential { - get { - return ResourceManager.GetString("InvalidClientSecretCredential", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Managed identity to authenticate to Trusted Signing.. - /// - internal static string ManagedIdentityOptionDescription { - get { - return ResourceManager.GetString("ManagedIdentityOptionDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tenant ID to authenticate to Trusted Signing.. - /// - internal static string TenantIdOptionDescription { - get { - return ResourceManager.GetString("TenantIdOptionDescription", resourceCulture); - } - } } } diff --git a/src/Sign.Cli/TrustedSigningResources.resx b/src/Sign.Cli/TrustedSigningResources.resx index c561010d..5226f388 100644 --- a/src/Sign.Cli/TrustedSigningResources.resx +++ b/src/Sign.Cli/TrustedSigningResources.resx @@ -123,26 +123,10 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - - - Client secret to authenticate to Trusted Signing. - Use Trusted Signing The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - - - Tenant ID to authenticate to Trusted Signing. - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.cs.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.cs.xlf index 49bf8943..0c35af0d 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.cs.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.cs.xlf @@ -12,36 +12,11 @@ Podepisování ClickOnce prostřednictvím starší verze alternativního řešení .clickonce ZIP se už nepodporuje. Projděte si dokumentaci. - - Client ID to authenticate to Azure Key Vault. - ID klienta, které se má ověřit pro Azure Key Vault. - - - - Client secret to authenticate to Azure Key Vault. - Tajný kód klienta, který se má ověřit pro Azure Key Vault. - - Use Azure Key Vault. Použijte Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Pokud se nepoužívá spravovaná identita, vyžadují se všechny tyto možnosti: {0}, {1}a {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Spravovaná identita pro ověření pro Azure Key Vault. - - - - Tenant ID to authenticate to Azure Key Vault. - ID tenanta, které se má ověřit pro Azure Key Vault. - - URL to an Azure Key Vault. Adresa URL Azure Key Vault. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.de.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.de.xlf index 17e60980..be16e6c8 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.de.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.de.xlf @@ -12,36 +12,11 @@ Die ClickOnce-Signierung über die Legacy-.clickonce-ZIP-Problemumgehung wird nicht mehr unterstützt. Siehe Dokumentation. - - Client ID to authenticate to Azure Key Vault. - Client-ID für die Authentifizierung bei Azure Key Vault. - - - - Client secret to authenticate to Azure Key Vault. - Geheimer Clientschlüssel für die Authentifizierung bei Azure Key Vault. - - Use Azure Key Vault. Verwenden Sie Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Wenn Sie keine verwaltete Identität verwenden, sind alle diese Optionen erforderlich: {0}, {1} und {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Verwaltete Identität für die Authentifizierung bei Azure Key Vault. - - - - Tenant ID to authenticate to Azure Key Vault. - Mandanten-ID für die Authentifizierung bei Azure Key Vault. - - URL to an Azure Key Vault. URL zu einem Azure Key Vault. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.es.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.es.xlf index e3068538..05cc2178 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.es.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.es.xlf @@ -12,36 +12,11 @@ Ya no se admite la firma ClickOnce a través de la solución zip heredada .clickonce. Consulte la documentación. - - Client ID to authenticate to Azure Key Vault. - Id. de cliente para autenticarse en Azure Key Vault. - - - - Client secret to authenticate to Azure Key Vault. - Secreto de cliente para autenticarse en Azure Key Vault. - - Use Azure Key Vault. Use Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Si no usa una identidad administrada, se requieren todas estas opciones: {0}, {1} y {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Identidad administrada para autenticarse en Azure Key Vault. - - - - Tenant ID to authenticate to Azure Key Vault. - Identificador de inquilino para autenticarse en Azure Key Vault. - - URL to an Azure Key Vault. Dirección URL a un Azure Key Vault. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.fr.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.fr.xlf index 9500cca3..0944b34e 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.fr.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.fr.xlf @@ -12,36 +12,11 @@ La signature ClickOnce via la solution de contournement zip .clickonce héritée n’est plus prise en charge. Consulter la documentation. - - Client ID to authenticate to Azure Key Vault. - ID client à authentifier auprès d’Azure Key Vault. - - - - Client secret to authenticate to Azure Key Vault. - Clé secrète client pour s’authentifier auprès d’Azure Key Vault. - - Use Azure Key Vault. Utilisez Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Si vous n’utilisez pas d’identité managée, toutes ces options sont requises : {0}, {1} et {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Identité managée à authentifier auprès d’Azure Key Vault. - - - - Tenant ID to authenticate to Azure Key Vault. - ID client pour s’authentifier auprès d’Azure Key Vault. - - URL to an Azure Key Vault. URL d’un Azure Key Vault. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.it.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.it.xlf index 3751cdc4..41c944c4 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.it.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.it.xlf @@ -12,36 +12,11 @@ La firma ClickOnce tramite la soluzione alternativa legacy .clickonce ZIP non è più supportata. Vedere la documentazione. - - Client ID to authenticate to Azure Key Vault. - ID client da autenticare in Azure Key Vault. - - - - Client secret to authenticate to Azure Key Vault. - Segreto client da autenticare in Azure Key Vault. - - Use Azure Key Vault. Usare Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Se non si usa un'identità gestita, saranno necessarie tutte le opzioni seguenti: {0}, {1} e {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Identità gestita da autenticare in Azure Key Vault. - - - - Tenant ID to authenticate to Azure Key Vault. - ID tenant da autenticare in Azure Key Vault. - - URL to an Azure Key Vault. URL a un Azure Key Vault. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.ja.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.ja.xlf index 4532f67a..ea8b1e01 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.ja.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.ja.xlf @@ -12,36 +12,11 @@ 従来の .clickonce ZIP 回避策による ClickOnce 署名はサポートされなくなりました。ドキュメントを参照してください。 - - Client ID to authenticate to Azure Key Vault. - Azure Key Vault に対して認証するクライアント ID。 - - - - Client secret to authenticate to Azure Key Vault. - Azure Key Vault に対して認証するクライアント シークレット。 - - Use Azure Key Vault. Azure Key Vault を使用してください。 - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - マネージド ID を使用しない場合は、{0}、{1}、{2} のオプションがすべて必要です。 - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Azure Key Vault に対して認証するマネージド ID。 - - - - Tenant ID to authenticate to Azure Key Vault. - Azure Key Vault に対して認証するテナント ID。 - - URL to an Azure Key Vault. Azure Key Vault への URL。 diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.ko.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.ko.xlf index 7aaf4955..bf448e15 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.ko.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.ko.xlf @@ -12,36 +12,11 @@ 레거시 .clickonce ZIP 해결 방법을 통한 ClickOnce 서명은 더 이상 지원되지 않습니다. 설명서를 참조하세요. - - Client ID to authenticate to Azure Key Vault. - Azure Key Vault에 인증하기 위한 클라이언트 ID입니다. - - - - Client secret to authenticate to Azure Key Vault. - Azure Key Vault에 인증하기 위한 클라이언트 암호입니다. - - Use Azure Key Vault. Azure Key Vault를 사용합니다. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - 관리 ID를 사용하고 있지 않은 경우 {0}, {1} 및 {2} 옵션이 모두 필요합니다. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Azure Key Vault에 인증하기 위한 관리 ID입니다. - - - - Tenant ID to authenticate to Azure Key Vault. - Azure Key Vault에 인증하기 위한 테넌트 ID입니다. - - URL to an Azure Key Vault. Azure Key Vault에 대한 URL입니다. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.pl.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.pl.xlf index f846f13c..ec2a609b 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.pl.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.pl.xlf @@ -12,36 +12,11 @@ Podpisywanie clickOnce za pośrednictwem starszego obejścia .clickonce ZIP nie jest już obsługiwane. Zobacz dokumentację. - - Client ID to authenticate to Azure Key Vault. - Identyfikator klienta do uwierzytelnienia w usłudze Azure Key Vault. - - - - Client secret to authenticate to Azure Key Vault. - Klucz tajny klienta do uwierzytelnienia w usłudze Azure Key Vault. - - Use Azure Key Vault. Użyj usługi Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Jeśli tożsamość zarządzana nie jest używana, wymagane są wszystkie następujące opcje: {0}, {1} i {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Tożsamość zarządzana do uwierzytelnienia w usłudze Azure Key Vault. - - - - Tenant ID to authenticate to Azure Key Vault. - Identyfikator dzierżawy do uwierzytelnienia w usłudze Azure Key Vault. - - URL to an Azure Key Vault. Adres URL do usługi Azure Key Vault. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.pt-BR.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.pt-BR.xlf index bfac1e07..46c29ed6 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.pt-BR.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.pt-BR.xlf @@ -12,36 +12,11 @@ Não há mais suporte para a assinatura do ClickOnce por meio da solução alternativa .clickonce ZIP herdada. Consulte a documentação. - - Client ID to authenticate to Azure Key Vault. - ID do cliente a ser autenticada no Azure Key Vault. - - - - Client secret to authenticate to Azure Key Vault. - Segredo do cliente a ser autenticado no Azure Key Vault. - - Use Azure Key Vault. Use o Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Se não estiver usando uma identidade gerenciada, todas essas opções serão necessárias: {0}, {1} e {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Identidade gerenciada a ser autenticada no Azure Key Vault. - - - - Tenant ID to authenticate to Azure Key Vault. - ID do locatário a ser autenticada no Azure Key Vault. - - URL to an Azure Key Vault. URL para um Azure Key Vault. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.ru.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.ru.xlf index 7fa74c88..e1cc1b47 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.ru.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.ru.xlf @@ -12,36 +12,11 @@ Подписание ClickOnce с помощью устаревшего обходного пути .clickonce ZIP больше не поддерживается. См. документацию. - - Client ID to authenticate to Azure Key Vault. - ИД клиента для проверки подлинности в Azure Key Vault. - - - - Client secret to authenticate to Azure Key Vault. - Секрет клиента для проверки подлинности в Azure Key Vault. - - Use Azure Key Vault. Использование Azure Key Vault. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Если управляемое удостоверение не используется, требуются все следующие параметры: {0}, {1} и {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Управляемое удостоверение для проверки подлинности в Azure Key Vault. - - - - Tenant ID to authenticate to Azure Key Vault. - ИД клиента для проверки подлинности в Azure Key Vault. - - URL to an Azure Key Vault. URL-адрес для Azure Key Vault. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.tr.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.tr.xlf index f4bf097b..60a93955 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.tr.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.tr.xlf @@ -12,36 +12,11 @@ Eski .clickonce ZIP geçici çözümü aracılığıyla ClickOnce imzalama işlemi artık desteklenmiyor. Belgelere bakın. - - Client ID to authenticate to Azure Key Vault. - Azure Key Vault için kimlik doğrulamak amacıyla kullanılan istemci kimliği. - - - - Client secret to authenticate to Azure Key Vault. - Azure Key Vault için kimlik doğrulamak amacıyla kullanılan gizli anahtar. - - Use Azure Key Vault. Azure Key Vault’u kullanın. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - Bir yönetilen kimlik kullanılmıyorsa bu seçeneklerin tümü gereklidir: {0}, {1} ve {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - Azure Key Vault için kimlik doğrulamak amacıyla kullanılan yönetilen kimlik. - - - - Tenant ID to authenticate to Azure Key Vault. - Azure Key Vault için kimlik doğrulamak amacıyla kullanılan kiracı kimliği. - - URL to an Azure Key Vault. Azure Key Vault URL’si. diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.zh-Hans.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.zh-Hans.xlf index 05e0b438..d6ec9934 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.zh-Hans.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.zh-Hans.xlf @@ -12,36 +12,11 @@ 不再支持通过旧版 .clickonce ZIP 解决方法进行 ClickOnce 签名。参阅文档。 - - Client ID to authenticate to Azure Key Vault. - 要向 Azure Key Vault 进行身份验证的客户端 ID。 - - - - Client secret to authenticate to Azure Key Vault. - 要向 Azure Key Vault 进行身份验证的客户端密码。 - - Use Azure Key Vault. 使用 Azure Key Vault。 - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - 如果不使用托管标识,则需要以下所有选项: {0}、{1} 和 {2}。 - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - 要向 Azure Key Vault 进行身份验证的托管标识。 - - - - Tenant ID to authenticate to Azure Key Vault. - 要向 Azure Key Vault 进行身份验证的租户 ID。 - - URL to an Azure Key Vault. 指向 Azure Key Vault 的 URL。 diff --git a/src/Sign.Cli/xlf/AzureKeyVaultResources.zh-Hant.xlf b/src/Sign.Cli/xlf/AzureKeyVaultResources.zh-Hant.xlf index 25b41727..4d51be73 100644 --- a/src/Sign.Cli/xlf/AzureKeyVaultResources.zh-Hant.xlf +++ b/src/Sign.Cli/xlf/AzureKeyVaultResources.zh-Hant.xlf @@ -12,36 +12,11 @@ 已不再支援透過舊版 .clickonce ZIP 因應措施進行 ClickOnce 簽署。請參閱文件。 - - Client ID to authenticate to Azure Key Vault. - 要向 Azure Key Vault 進行驗證的用戶端識別碼。 - - - - Client secret to authenticate to Azure Key Vault. - 要向 Azure Key Vault 進行驗證的用戶端密碼。 - - Use Azure Key Vault. 使用 Azure Key Vault。 - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - 如果未使用受控識別,則需要下列所有選項: {0}、{1} 和 {2}。 - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Azure Key Vault. - 要向 Azure Key Vault 進行驗證的受控識別。 - - - - Tenant ID to authenticate to Azure Key Vault. - 要向 Azure Key Vault 進行驗證的租用戶識別碼。 - - URL to an Azure Key Vault. Azure Key Vault 的 URL。 diff --git a/src/Sign.Cli/xlf/Resources.cs.xlf b/src/Sign.Cli/xlf/Resources.cs.xlf index 481a5818..89052fb9 100644 --- a/src/Sign.Cli/xlf/Resources.cs.xlf +++ b/src/Sign.Cli/xlf/Resources.cs.xlf @@ -17,6 +17,16 @@ Použijte úložiště certifikátů systému Windows nebo místní soubor certifikátu. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. Podepisovat binární soubory a kontejnery. @@ -62,6 +72,11 @@ Neplatná hodnota pro {0}. Hodnota musí být digitální otisk certifikátu (v šestnáctkovém tvaru). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. Neplatná hodnota pro {0}. Hodnota musí být sha256, sha384 nebo sha512. @@ -82,6 +97,11 @@ Neplatná hodnota pro {0}. Hodnota musí být absolutní adresa URL protokolu HTTP nebo HTTPS. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Maximální souběžnost. @@ -117,6 +137,11 @@ Některé soubory neexistují. Zkuste použít jinou hodnotu {0} nebo plně kvalifikovanou cestu k souboru. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. Algoritmus hodnoty hash pro server časového razítka RFC 3161. Povolené hodnoty jsou sha256, sha384 a sha512. diff --git a/src/Sign.Cli/xlf/Resources.de.xlf b/src/Sign.Cli/xlf/Resources.de.xlf index ef22f96a..5fe61397 100644 --- a/src/Sign.Cli/xlf/Resources.de.xlf +++ b/src/Sign.Cli/xlf/Resources.de.xlf @@ -17,6 +17,16 @@ Verwenden Sie den Windows-Zertifikatspeicher oder eine lokale Zertifikatdatei. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. Signieren Sie Binärdateien und Container. @@ -62,6 +72,11 @@ Ungültiger Wert für {0}. Der Wert muss der Fingerabdruck des Zertifikats sein (hexadezimal). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. Ungültiger Wert für {0}. Der Wert muss "sha256", "sha384" oder "sha512" sein. @@ -82,6 +97,11 @@ Ungültiger Wert für {0}. Der Wert muss eine absolute HTTP- oder HTTPS-URL sein. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Maximale Parallelität. @@ -117,6 +137,11 @@ Einige Dateien sind nicht vorhanden. Versuchen Sie, einen anderen {0}-Wert oder einen vollqualifizierten Dateipfad zu verwenden. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. Digest-Algorithmus für den RFC 3161-Zeitstempelserver. Zulässige Werte sind sha256, sha384 und sha512. diff --git a/src/Sign.Cli/xlf/Resources.es.xlf b/src/Sign.Cli/xlf/Resources.es.xlf index 29af5dfe..4d697a73 100644 --- a/src/Sign.Cli/xlf/Resources.es.xlf +++ b/src/Sign.Cli/xlf/Resources.es.xlf @@ -17,6 +17,16 @@ Use el Almacén de certificados de Windows o un archivo de certificados local. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. Firmar archivos binarios y contenedores. @@ -62,6 +72,11 @@ Valor no válido para {0}. El valor debe ser la huella digital del certificado (en hexadecimal). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. Valor no válido para {0}. El valor debe ser 'sha256', 'sha384' o 'sha512'. @@ -82,6 +97,11 @@ Valor no válido para {0}. El valor debe ser una dirección URL HTTP o HTTPS absoluta. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Simultaneidad máxima. @@ -117,6 +137,11 @@ Algunos archivos no existen. Pruebe a usar otro valor {0} o una ruta de acceso de archivo completa. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. Algoritmo de resumen para el servidor de marca de tiempo RFC 3161. Los valores permitidos son sha256, sha384 y sha512. diff --git a/src/Sign.Cli/xlf/Resources.fr.xlf b/src/Sign.Cli/xlf/Resources.fr.xlf index 20d92fba..56809524 100644 --- a/src/Sign.Cli/xlf/Resources.fr.xlf +++ b/src/Sign.Cli/xlf/Resources.fr.xlf @@ -17,6 +17,16 @@ Utilisez le magasin de certificats Windows ou un fichier local du certificat. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. Signer les fichiers binaires et les conteneurs. @@ -62,6 +72,11 @@ Valeur non valide pour {0}. La valeur doit être l’empreinte digitale du certificat (hexadécimal). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. Valeur invalide pour {0}. La valeur doit être 'sha256', 'sha384' ou 'sha512'. @@ -82,6 +97,11 @@ Valeur non valide pour {0}. La valeur doit être une URL HTTP ou HTTPS absolue. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Concurrence maximale. @@ -117,6 +137,11 @@ Certains fichiers n’existent pas. Essayez d’utiliser une autre valeur {0} ou un chemin de fichier complet. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. Algorithme de hachage pour le serveur d’horodatage RFC 3161. Les valeurs autorisées sont sha256, sha384 et sha512. diff --git a/src/Sign.Cli/xlf/Resources.it.xlf b/src/Sign.Cli/xlf/Resources.it.xlf index 68508da8..4708e082 100644 --- a/src/Sign.Cli/xlf/Resources.it.xlf +++ b/src/Sign.Cli/xlf/Resources.it.xlf @@ -17,6 +17,16 @@ Utilizzare l'archivio certificati di Windows o un file di certificato locale. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. Consente di firmare file binari e contenitori. @@ -62,6 +72,11 @@ Valore non valido per {0}. Il valore deve essere l'impronta digitale del certificato (in formato esadecimale). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. Valore non valido per {0}. Il valore deve essere 'sha256', 'sha384' o 'sha512'. @@ -82,6 +97,11 @@ Valore non valido per {0}. Il valore deve essere un URL HTTP o HTTPS assoluto. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Concorrenza massima. @@ -117,6 +137,11 @@ Alcuni file non esistono. Provare a usare un valore di {0} diverso o un percorso di file completo. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. Algoritmo di digest per il server di timestamp RFC 3161. I valori consentiti sono sha256, sha384 e sha512. diff --git a/src/Sign.Cli/xlf/Resources.ja.xlf b/src/Sign.Cli/xlf/Resources.ja.xlf index c281cf0e..6edd3b40 100644 --- a/src/Sign.Cli/xlf/Resources.ja.xlf +++ b/src/Sign.Cli/xlf/Resources.ja.xlf @@ -17,6 +17,16 @@ Windows 証明書ストアまたはローカル証明書ファイルを使用します。 + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. バイナリとコンテナーに署名します。 @@ -62,6 +72,11 @@ {0} の値が無効です。値は証明書のフィンガープリント (16 進数) である必要があります。 {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. {0} の値が無効です。値は 'sha256'、'sha384'、または 'sha512' である必要があります。 @@ -82,6 +97,11 @@ {0}の値が無効です。値は HTTP または HTTPS の絶対 URL である必要があります。 {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. 最大コンカレンシー。 @@ -117,6 +137,11 @@ 一部のファイルが存在しません。別の {0} 値または完全修飾ファイル パスを使用してみてください。 {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. RFC 3161 タイムスタンプ サーバーのダイジェスト アルゴリズム。使用できる値は、sha256、sha384、および sha512 です。 diff --git a/src/Sign.Cli/xlf/Resources.ko.xlf b/src/Sign.Cli/xlf/Resources.ko.xlf index 6417d01d..02316180 100644 --- a/src/Sign.Cli/xlf/Resources.ko.xlf +++ b/src/Sign.Cli/xlf/Resources.ko.xlf @@ -17,6 +17,16 @@ Windows 인증서 저장소 또는 로컬 인증서 파일을 사용합니다. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. 이진 파일 및 컨테이너에 서명합니다. @@ -62,6 +72,11 @@ {0}의 값이 잘못되었습니다. 값은 인증서의 지문(16진수)이어야 합니다. {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. {0}에 대한 값이 잘못되었습니다. 값은 'sha256', 'sha384' 또는 'sha512'.여야 합니다. @@ -82,6 +97,11 @@ {0}에 대한 값이 잘못되었습니다. 값은 절대 HTTP 또는 HTTPS URL이어야 합니다. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. 최대 동시성입니다. @@ -117,6 +137,11 @@ 일부 파일이 존재하지 않습니다. 다른 {0} 값 또는 정규화된 파일 경로를 사용해 보세요. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. RFC 3161 타임스탬프 서버용 다이제스트 알고리즘입니다. 허용되는 값은 sha256, sha384 및 sha512입니다. diff --git a/src/Sign.Cli/xlf/Resources.pl.xlf b/src/Sign.Cli/xlf/Resources.pl.xlf index f69d7968..42076d94 100644 --- a/src/Sign.Cli/xlf/Resources.pl.xlf +++ b/src/Sign.Cli/xlf/Resources.pl.xlf @@ -17,6 +17,16 @@ Użyj magazynu certyfikatów systemu Windows lub lokalnego pliku certyfikatów. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. Podpisz pliki binarne i kontenery. @@ -62,6 +72,11 @@ Nieprawidłowa wartość dla opcji {0}. Wartość musi być odciskiem palca certyfikatu (w systemie szesnastkowym). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. Nieprawidłowa wartość dla {0}. Wartością musi być „sha256”, „sha384”, lub „sha512”. @@ -82,6 +97,11 @@ Nieprawidłowa wartość dla {0}. Wartość musi być bezwzględnym adresem URL protokołu HTTP lub HTTPS. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Maksymalna współbieżność. @@ -117,6 +137,11 @@ Niektóre pliki nie istnieją. Spróbuj użyć innej wartości {0} lub w pełni kwalifikowanej ścieżki pliku. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. Algorytm skrótu dla serwera znacznika czasu RFC 3161. Dozwolonymi wartościami są: sha256, sha384 i sha512. diff --git a/src/Sign.Cli/xlf/Resources.pt-BR.xlf b/src/Sign.Cli/xlf/Resources.pt-BR.xlf index e816235d..7dd140c4 100644 --- a/src/Sign.Cli/xlf/Resources.pt-BR.xlf +++ b/src/Sign.Cli/xlf/Resources.pt-BR.xlf @@ -17,6 +17,16 @@ Use o Repositório de Certificados do Windows ou um arquivo de certificado local. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. Autenticar contêineres e binários. @@ -62,6 +72,11 @@ Valor inválido para {0}. O valor deve ser a impressão digital do certificado (em hexadecimal). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. Valor inválido para {0}. O valor deve ser 'sha256', 'sha384' ou 'sha512'. @@ -82,6 +97,11 @@ Valor inválido para {0}. O valor deve ser uma URL HTTP ou HTTPS absoluta. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Simultaneidade máxima. @@ -117,6 +137,11 @@ Alguns arquivos não existem. Tente usar um valor diferente de {0} ou um caminho de arquivo totalmente qualificado. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. Resumo do algoritmo para o servidor de carimbo de data/hora RFC 3161. Os valores permitidos são sha256, sha384 e sha512. diff --git a/src/Sign.Cli/xlf/Resources.ru.xlf b/src/Sign.Cli/xlf/Resources.ru.xlf index 280d0fc4..8e3cccd3 100644 --- a/src/Sign.Cli/xlf/Resources.ru.xlf +++ b/src/Sign.Cli/xlf/Resources.ru.xlf @@ -17,6 +17,16 @@ Используйте хранилище сертификатов Windows или локальный файл сертификата. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. Подписывание двоичных файлов и контейнеров. @@ -62,6 +72,11 @@ Недопустимое значение для {0}. Значение должно быть отпечатком сертификата (в шестнадцатеричном формате). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. Недопустимое значение для {0}. Необходимо использовать "sha256", "sha384" или "sha512". @@ -82,6 +97,11 @@ Недопустимое значение для {0}. Значение должно быть абсолютным URL-адресом HTTP или HTTPS. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Максимальный параллелизм. @@ -117,6 +137,11 @@ Некоторые файлы не существуют. Попробуйте использовать другое значение {0} или полный путь к файлу. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. Алгоритм дайджеста для сервера меток времени RFC 3161. Допустимые значения: sha256, sha384 и sha512. diff --git a/src/Sign.Cli/xlf/Resources.tr.xlf b/src/Sign.Cli/xlf/Resources.tr.xlf index 6dfb7d44..9bce0da7 100644 --- a/src/Sign.Cli/xlf/Resources.tr.xlf +++ b/src/Sign.Cli/xlf/Resources.tr.xlf @@ -17,6 +17,16 @@ Windows Sertifika Deposu veya yerel bir sertifika dosyası kullanın. + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. İkili dosyaları ve kapsayıcıları imzalayın. @@ -62,6 +72,11 @@ {0} için geçersiz değer. Değer, sertifikanın parmak izi olmalıdır (onaltılık). {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. {0} için geçersiz değer. Değer 'sha256', 'sha384' veya 'sha512' olmalıdır. @@ -82,6 +97,11 @@ {0} için geçersiz değer. Değer mutlak bir HTTP veya HTTPS URL’si olmalıdır. {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. Maksimum eşzamanlılık. @@ -117,6 +137,11 @@ Bazı dosyalar mevcut değil. Farklı bir {0} değeri veya tam bir dosya yolu kullanmayı deneyin. {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. RFC 3161 zaman damgası sunucusu için karma algoritması. İzin verilen değerler şunlardır. sha256, sha384 ve sha512. diff --git a/src/Sign.Cli/xlf/Resources.zh-Hans.xlf b/src/Sign.Cli/xlf/Resources.zh-Hans.xlf index 6155594b..eedd5916 100644 --- a/src/Sign.Cli/xlf/Resources.zh-Hans.xlf +++ b/src/Sign.Cli/xlf/Resources.zh-Hans.xlf @@ -17,6 +17,16 @@ 使用 Windows 证书存储或本地证书文件。 + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. 对二进制文件和容器进行签名。 @@ -62,6 +72,11 @@ {0} 的值无效。该值必须是证书的指纹(十六进制)。 {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. {0} 的值无效。值必须为 "sha256"、"sha384" 或 "sha512"。 @@ -82,6 +97,11 @@ {0} 的值无效。值必须是绝对 HTTP 或 HTTPS URL。 {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. 最大并发。 @@ -117,6 +137,11 @@ 某些文件不存在。请尝试使用其他 {0} 值或完全限定的文件路径。 {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. RFC 3161 时间戳服务器的摘要算法。允许的值为 sha256、sha384 和 sha512。 diff --git a/src/Sign.Cli/xlf/Resources.zh-Hant.xlf b/src/Sign.Cli/xlf/Resources.zh-Hant.xlf index 37c2f764..df774bec 100644 --- a/src/Sign.Cli/xlf/Resources.zh-Hant.xlf +++ b/src/Sign.Cli/xlf/Resources.zh-Hant.xlf @@ -17,6 +17,16 @@ 使用 Windows 憑證存放區或本機憑證檔案。 + + Client ID to authenticate to Azure Key Vault. + Client ID to authenticate to Azure Key Vault. + + + + Client secret to authenticate to Azure Key Vault. + Client secret to authenticate to Azure Key Vault. + + Sign binaries and containers. 簽署二進位檔和容器。 @@ -62,6 +72,11 @@ {0} 的無效值。該值必須是憑證的指紋 (十六進位)。 {NumberedPlaceholder="{0}"} is the option name (e.g.: --certificate-fingerprint) and should not be localized. + + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + If not using a managed identity, all of these options are required: {0}, {1}, and {2}. + {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. + Invalid value for {0}. The value must be 'sha256', 'sha384', or 'sha512'. {0} 的值無效。值必須是 'sha256'、'sha384' 或 'sha512'。 @@ -82,6 +97,11 @@ {0} 的值無效。值必須是絕對 HTTP 或 HTTPS URL。 {NumberedPlaceholder="{0}"} is an option name (e.g.: --timestamp-url) and should not be localized. + + Managed identity to authenticate to Azure Key Vault. + Managed identity to authenticate to Azure Key Vault. + + Maximum concurrency. 並行最大值。 @@ -117,6 +137,11 @@ 某些檔案不存在。請嘗試使用不同的 {0} 值或完整檔案路徑。 {NumberedPlaceholder="{0}"} is an option name (e.g.: --base-directory) and should not be localized. + + Tenant ID to authenticate to Azure Key Vault. + Tenant ID to authenticate to Azure Key Vault. + + Digest algorithm for the RFC 3161 timestamp server. Allowed values are sha256, sha384, and sha512. RFC 3161 時間戳記伺服器的摘要演算法。允許的值為 sha256、sha384 和 sha512。 diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.cs.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.cs.xlf index 60055953..3a1efdef 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.cs.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.cs.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.de.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.de.xlf index b509a8ee..f529142c 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.de.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.de.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.es.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.es.xlf index 6c3ee824..c10a72e2 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.es.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.es.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.fr.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.fr.xlf index e7ab7de6..0baec48c 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.fr.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.fr.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.it.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.it.xlf index 9cc34f71..60483744 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.it.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.it.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.ja.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.ja.xlf index b350db7a..31145fa7 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.ja.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.ja.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.ko.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.ko.xlf index 6d1e1b17..85317288 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.ko.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.ko.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.pl.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.pl.xlf index f70d470f..dbad6e6e 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.pl.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.pl.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.pt-BR.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.pt-BR.xlf index c8382898..ae5787f6 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.pt-BR.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.pt-BR.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.ru.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.ru.xlf index d770d712..72e96ab9 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.ru.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.ru.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.tr.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.tr.xlf index 08e308eb..6a610f02 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.tr.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.tr.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.zh-Hans.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.zh-Hans.xlf index 9ae6cda8..9a2520a0 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.zh-Hans.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.zh-Hans.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/src/Sign.Cli/xlf/TrustedSigningResources.zh-Hant.xlf b/src/Sign.Cli/xlf/TrustedSigningResources.zh-Hant.xlf index 4451f442..ee7ccd9e 100644 --- a/src/Sign.Cli/xlf/TrustedSigningResources.zh-Hant.xlf +++ b/src/Sign.Cli/xlf/TrustedSigningResources.zh-Hant.xlf @@ -12,16 +12,6 @@ The Certificate Profile name. - - Client ID to authenticate to Trusted Signing. - Client ID to authenticate to Trusted Signing. - - - - Client secret to authenticate to Trusted Signing. - Client secret to authenticate to Trusted Signing. - - Use Trusted Signing Use Trusted Signing @@ -32,21 +22,6 @@ The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the region your Trusted Signing Account and Certificate Profile you are specifying were created in during the setup of these resources. - - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - If not using a managed identity, all of these options are required: {0}, {1}, and {2}. - {NumberedPlaceholder="{0}", "{1}", "{2}"} are option names and should not be localized. - - - Managed identity to authenticate to Trusted Signing. - Managed identity to authenticate to Trusted Signing. - - - - Tenant ID to authenticate to Trusted Signing. - Tenant ID to authenticate to Trusted Signing. - - \ No newline at end of file diff --git a/test/Sign.Cli.Test/AzureAuthOptionsTests.cs b/test/Sign.Cli.Test/AzureAuthOptionsTests.cs new file mode 100644 index 00000000..97218b10 --- /dev/null +++ b/test/Sign.Cli.Test/AzureAuthOptionsTests.cs @@ -0,0 +1,61 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE.txt file in the project root for more information. + +using System.CommandLine; + +namespace Sign.Cli.Test +{ + public class AzureAuthOptionsTests + { + private readonly AzureAuthOptions _options = new(); + + [Fact] + public void ManagedIdentityOption_Always_HasArityOfZeroOrOne() + { + Assert.Equal(ArgumentArity.ZeroOrOne, _options.ManagedIdentityOption.Arity); + } + + [Fact] + public void ManagedIdentityOption_Always_IsNotRequired() + { + Assert.False(_options.ManagedIdentityOption.IsRequired); + } + + [Fact] + public void TenantIdOption_Always_HasArityOfExactlyOne() + { + Assert.Equal(ArgumentArity.ExactlyOne, _options.TenantIdOption.Arity); + } + + [Fact] + public void TenantIdOption_Always_IsNotRequired() + { + Assert.False(_options.TenantIdOption.IsRequired); + } + + [Fact] + public void ClientIdOption_Always_HasArityOfExactlyOne() + { + Assert.Equal(ArgumentArity.ExactlyOne, _options.ClientIdOption.Arity); + } + + [Fact] + public void ClientIdOption_Always_IsNotRequired() + { + Assert.False(_options.ClientIdOption.IsRequired); + } + + [Fact] + public void ClientSecretOption_Always_HasArityOfExactlyOne() + { + Assert.Equal(ArgumentArity.ExactlyOne, _options.ClientSecretOption.Arity); + } + + [Fact] + public void ClientSecretOption_Always_IsNotRequired() + { + Assert.False(_options.ClientSecretOption.IsRequired); + } + } +} diff --git a/test/Sign.Cli.Test/AzureKeyVaultCommandTests.cs b/test/Sign.Cli.Test/AzureKeyVaultCommandTests.cs index 8dd507d4..ad9ef79e 100644 --- a/test/Sign.Cli.Test/AzureKeyVaultCommandTests.cs +++ b/test/Sign.Cli.Test/AzureKeyVaultCommandTests.cs @@ -44,54 +44,6 @@ public void CertificateOption_Always_IsRequired() Assert.True(_command.CertificateOption.IsRequired); } - [Fact] - public void ClientIdOption_Always_HasArityOfExactlyOne() - { - Assert.Equal(ArgumentArity.ExactlyOne, _command.ClientIdOption.Arity); - } - - [Fact] - public void ClientIdOption_Always_IsNotRequired() - { - Assert.False(_command.ClientIdOption.IsRequired); - } - - [Fact] - public void ClientSecretOption_Always_HasArityOfExactlyOne() - { - Assert.Equal(ArgumentArity.ExactlyOne, _command.ClientSecretOption.Arity); - } - - [Fact] - public void ClientSecretOption_Always_IsNotRequired() - { - Assert.False(_command.ClientSecretOption.IsRequired); - } - - [Fact] - public void ManagedIdentityOption_Always_HasArityOfZeroOrOne() - { - Assert.Equal(ArgumentArity.ZeroOrOne, _command.ManagedIdentityOption.Arity); - } - - [Fact] - public void ManagedIdentityOption_Always_IsNotRequired() - { - Assert.False(_command.ManagedIdentityOption.IsRequired); - } - - [Fact] - public void TenantIdOption_Always_HasArityOfExactlyOne() - { - Assert.Equal(ArgumentArity.ExactlyOne, _command.TenantIdOption.Arity); - } - - [Fact] - public void TenantIdOption_Always_IsNotRequired() - { - Assert.False(_command.TenantIdOption.IsRequired); - } - [Fact] public void UrlOption_Always_HasArityOfExactlyOne() { @@ -123,12 +75,12 @@ public ParserTests() [InlineData("azure-key-vault -kvu https://keyvault.test a")] [InlineData("azure-key-vault -kvu https://keyvault.test -kvc")] [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a")] - [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -kvt")] - [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -kvt b")] - [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -kvt b -kvi")] - [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -kvt b -kvi c")] - [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -kvt b -kvi c -kvs")] - [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -kvt b -kvi c -kvs d")] + [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -azt")] + [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -azt b")] + [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -azt b -azi")] + [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -azt b -azi c")] + [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -azt b -azi c -azs")] + [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -azt b -azi c -azs d")] public void Command_WhenRequiredArgumentOrOptionsAreMissing_HasError(string command) { ParseResult result = _parser.Parse(command); @@ -137,8 +89,8 @@ public void Command_WhenRequiredArgumentOrOptionsAreMissing_HasError(string comm } [Theory] - [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -kvm b")] - [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -kvt b -kvi c -kvs d e")] + [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -azm b")] + [InlineData("azure-key-vault -kvu https://keyvault.test -kvc a -azt b -azi c -azs d e")] public void Command_WhenRequiredArgumentsArePresent_HasNoError(string command) { ParseResult result = _parser.Parse(command); @@ -147,4 +99,4 @@ public void Command_WhenRequiredArgumentsArePresent_HasNoError(string command) } } } -} \ No newline at end of file +} diff --git a/test/Sign.Cli.Test/SignCommandTests.Globbing.cs b/test/Sign.Cli.Test/SignCommandTests.Globbing.cs index 74c4a65b..c9e4fd61 100644 --- a/test/Sign.Cli.Test/SignCommandTests.Globbing.cs +++ b/test/Sign.Cli.Test/SignCommandTests.Globbing.cs @@ -60,7 +60,7 @@ public void Dispose() public async Task Command_WhenFileIsGlobPattern_SignsOnlyMatches() { string commandText = $"code azure-key-vault --description {Description} --description-url {DescriptionUrl} " - + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -kvm --timestamp-url {TimestampUrl} " + + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -azm --timestamp-url {TimestampUrl} " + $"-b \"{_temporaryDirectory.Directory.FullName}\" **/*.dll"; int exitCode = await _parser.InvokeAsync(commandText); @@ -78,7 +78,7 @@ public async Task Command_WhenFileIsGlobPattern_SignsOnlyMatches() public async Task Command_WhenFileIsGlobPatternWithSubdirectory_SignsOnlyMatches() { string commandText = $"code azure-key-vault --description {Description} --description-url {DescriptionUrl} " - + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -kvm --timestamp-url {TimestampUrl} " + + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -azm --timestamp-url {TimestampUrl} " + $"-b \"{_temporaryDirectory.Directory.FullName}\" **/e/*.dll"; int exitCode = await _parser.InvokeAsync(commandText); @@ -94,7 +94,7 @@ public async Task Command_WhenFileIsGlobPatternWithSubdirectory_SignsOnlyMatches public async Task Command_WhenFileIsGlobPatternWithBracedExpansion_SignsOnlyMatches() { string commandText = $"code azure-key-vault --description {Description} --description-url {DescriptionUrl} " - + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -kvm --timestamp-url {TimestampUrl} " + + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -azm --timestamp-url {TimestampUrl} " + $"-b \"{_temporaryDirectory.Directory.FullName}\" **/*.{{dll,exe}}"; int exitCode = await _parser.InvokeAsync(commandText); @@ -181,4 +181,4 @@ private static void EnsureParentDirectoriesExist(DirectoryInfo directory) } } } -} \ No newline at end of file +} diff --git a/test/Sign.Cli.Test/SignCommandTests.cs b/test/Sign.Cli.Test/SignCommandTests.cs index d13467fa..180a1088 100644 --- a/test/Sign.Cli.Test/SignCommandTests.cs +++ b/test/Sign.Cli.Test/SignCommandTests.cs @@ -73,7 +73,7 @@ public void Command_WhenArgumentAndOptionsAreMissing_HasError(string command) public void Command_WhenRequiredArgumentIsMissing_HasError() { string command = $"code azure-key-vault --description {Description} --description-url {DescriptionUrl} " - + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -kvm --timestamp-url {TimestampUrl}"; + + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -azm --timestamp-url {TimestampUrl}"; ParseResult result = _parser.Parse(command); Assert.NotEmpty(result.Errors); @@ -83,7 +83,7 @@ public void Command_WhenRequiredArgumentIsMissing_HasError() public void Command_WhenAllOptionsAndArgumentAreValid_HasNoError() { string command = $"code azure-key-vault --description {Description} --description-url {DescriptionUrl} " - + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -kvm --timestamp-url {TimestampUrl} {File}"; + + $"-kvu {KeyVaultUrl} -kvc {CertificateName} -azm --timestamp-url {TimestampUrl} {File}"; ParseResult result = _parser.Parse(command); Assert.Empty(result.Errors); @@ -96,4 +96,4 @@ public void Command_WhenAllOptionsAndArgumentAreValid_HasNoError() Assert.Equal(File, result.GetValueForArgument(_azureKeyVaultCommand.FileArgument)); } } -} \ No newline at end of file +} diff --git a/test/Sign.Cli.Test/TrustedSigningCommandTests.cs b/test/Sign.Cli.Test/TrustedSigningCommandTests.cs index 49e4b4ec..9060a72a 100644 --- a/test/Sign.Cli.Test/TrustedSigningCommandTests.cs +++ b/test/Sign.Cli.Test/TrustedSigningCommandTests.cs @@ -68,54 +68,6 @@ public void CertificateProfileOption_Always_IsRequired() Assert.True(_command.CertificateProfileOption.IsRequired); } - [Fact] - public void ManagedIdentityOption_Always_HasArityOfZeroOrOne() - { - Assert.Equal(ArgumentArity.ZeroOrOne, _command.ManagedIdentityOption.Arity); - } - - [Fact] - public void ManagedIdentityOption_Always_IsNotRequired() - { - Assert.False(_command.ManagedIdentityOption.IsRequired); - } - - [Fact] - public void TenantIdOption_Always_HasArityOfExactlyOne() - { - Assert.Equal(ArgumentArity.ExactlyOne, _command.TenantIdOption.Arity); - } - - [Fact] - public void TenantIdOption_Always_IsNotRequired() - { - Assert.False(_command.TenantIdOption.IsRequired); - } - - [Fact] - public void ClientIdOption_Always_HasArityOfExactlyOne() - { - Assert.Equal(ArgumentArity.ExactlyOne, _command.ClientIdOption.Arity); - } - - [Fact] - public void ClientIdOption_Always_IsNotRequired() - { - Assert.False(_command.ClientIdOption.IsRequired); - } - - [Fact] - public void ClientSecretOption_Always_HasArityOfExactlyOne() - { - Assert.Equal(ArgumentArity.ExactlyOne, _command.ClientSecretOption.Arity); - } - - [Fact] - public void ClientSecretOption_Always_IsNotRequired() - { - Assert.False(_command.ClientSecretOption.IsRequired); - } - public class ParserTests { private readonly TrustedSigningCommand _command; @@ -135,12 +87,12 @@ public ParserTests() [InlineData("trusted-signing -tse https://trustedsigning.test -tsa")] [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a")] [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b")] - [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -tst")] - [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -tst c")] - [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -tst c -tsi")] - [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -tst c -tsi d")] - [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -tst c -tsi d -tss")] - [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -tst c -tsi d -tss e")] + [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -azt")] + [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -azt c")] + [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -azt c -azi")] + [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -azt c -azi d")] + [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -azt c -azi d -azs")] + [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -azt c -azi d -azs e")] public void Command_WhenRequiredArgumentOrOptionsAreMissing_HasError(string command) { ParseResult result = _parser.Parse(command); @@ -149,8 +101,8 @@ public void Command_WhenRequiredArgumentOrOptionsAreMissing_HasError(string comm } [Theory] - [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -tsm c")] - [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -tst c -tsi d -tss e f")] + [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -azm c")] + [InlineData("trusted-signing -tse https://trustedsigning.test -tsa a -tsc b -azt c -azi d -azs e f")] public void Command_WhenRequiredArgumentsArePresent_HasNoError(string command) { ParseResult result = _parser.Parse(command);