diff --git a/Activities/.pipelines/docker/docker-compose.yml b/Activities/.pipelines/docker/docker-compose.yml new file mode 100644 index 000000000..b642bb66e --- /dev/null +++ b/Activities/.pipelines/docker/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.9" +services: + robot: + image: robotdevregistry.azurecr.io/robot/uiautomation-runtime:23.10.81.43986-robot24.4.0-s137 + volumes: + - ./mount/input:/input + - ${MOUNT_OUTPUT}:/output + - ./mount/application/EnableOfflineExecution.txt:/application/EnableOfflineExecution.txt + - ./mount/application/NuGet.config:/application/NuGet.config + environment: + OFFLINE: 'true' + LICENSE_AGREEMENT: 'accept' + SQL_SERVER_HOST: ${SQL_SERVER_HOST} + entrypoint: "/bin/sh /input/startup.sh" diff --git a/Activities/.pipelines/docker/mount/application/EnableOfflineExecution.txt b/Activities/.pipelines/docker/mount/application/EnableOfflineExecution.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Activities/.pipelines/docker/mount/application/NuGet.config b/Activities/.pipelines/docker/mount/application/NuGet.config new file mode 100644 index 000000000..898421cea --- /dev/null +++ b/Activities/.pipelines/docker/mount/application/NuGet.config @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Activities/.pipelines/docker/mount/input/README.md b/Activities/.pipelines/docker/mount/input/README.md new file mode 100644 index 000000000..85abec6d6 --- /dev/null +++ b/Activities/.pipelines/docker/mount/input/README.md @@ -0,0 +1 @@ +# place here things that you want in container \ No newline at end of file diff --git a/Activities/.pipelines/docker/mount/input/UiPath.settings b/Activities/.pipelines/docker/mount/input/UiPath.settings new file mode 100644 index 000000000..ae2a5f888 --- /dev/null +++ b/Activities/.pipelines/docker/mount/input/UiPath.settings @@ -0,0 +1,16 @@ +{ + "SecureLicenseKey": "", + "TracingLevel": "Information", + "UiPathServerUrl": "", + "ConnectionString": "", + "ActivitiesFeed": "", + "NuGetApiKey": "", + "NuGetServerUrl": "/home/robotuser/.local/share/UiPath/Packages", + "LowLevelTracing": false, + "LoginToConsole": true, + "ResolutionWidth": 0, + "ResolutionHeight": 0, + "ResolutionDepth": 0, + "FontSmoothing": false, + "UiPathServerUrl": "https://alabala.com/" +} \ No newline at end of file diff --git a/Activities/.pipelines/docker/mount/input/startup.sh b/Activities/.pipelines/docker/mount/input/startup.sh new file mode 100644 index 000000000..c7ca316a3 --- /dev/null +++ b/Activities/.pipelines/docker/mount/input/startup.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +mkdir -p /home/robotuser/.local/share/UiPath/ +cp -vf /input/UiPath.settings /home/robotuser/.local/share/UiPath/ +/application/startup.sh \ No newline at end of file diff --git a/Activities/.pipelines/jobs/stage.build.runtime.tests.yml b/Activities/.pipelines/jobs/stage.build.runtime.tests.yml new file mode 100644 index 000000000..771e4ef16 --- /dev/null +++ b/Activities/.pipelines/jobs/stage.build.runtime.tests.yml @@ -0,0 +1,113 @@ +parameters: + robotVersion: "23.10.6" + studioProjectPath: "" + buildForWindows: true + buildForPortable: true + packageUnderTestName: '' + +jobs: +- job: "BuildRuntimeTests" + displayName: "Build Runtime Tests" + variables: + IntegrationTestStudioPackPath: '$(System.ArtifactsDirectory)/Packages' + timeoutInMinutes: 90 + pool: + vmImage: windows-2022 + workspace: + clean: outputs | resources | all + + steps: + - template: Testing/Automation/install.studio.steps.template.yml@automationTests + parameters: + installType: 'machine' + studioVersion: ${{ parameters.robotVersion }} + license: "7445-1270-1408-6250" + studioCustomNugetFeeds: 'UiPath-Internal,https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-Internal/nuget/v3/index.json' + + - powershell: | + echo "##vso[task.setvariable variable=studioPackagesPath]$env:ProgramFiles/UiPath/Studio/Packages" + & "C:/Program Files/UiPath/Studio/UiRobot.exe" trace --enableLowLevel + displayName: "Enable robot low level" + failOnStderr: false + + - task: DownloadPipelineArtifact@2 + displayName: "Download Packages" + inputs: + artifact: "Packages" + path: "$(studioPackagesPath)" + + - powershell: | + if (Test-Path -Path "$(IntegrationTestStudioPackPath)") { + Remove-Item -Path $(IntegrationTestStudioPackPath) -Force -Recurse + Write-Host "Removed old packages" + } + + $packageUnderTest = "${{ parameters.packageUnderTestName }}" + $path = "$(studioPackagesPath)/" + $packageUnderTest + ".*.nupkg" + $file = (Get-Item -Path "$path" | select Name).Name + $null = $file -match '(?[^\d]+)(?.*).nupkg' + $pkgName, $pkgVersion = $Matches['name'].TrimEnd('.'), $Matches['version'] + + Write-Host "Will build against $pkgName with version $pkgVersion" + + mkdir $(IntegrationTestStudioPackPath) + $seconds = ([System.DateTime]::Now - [System.DateTime]::Today).TotalSeconds -as [int] + & "C:/Program Files/UiPath/Studio/UIRobot.exe" --version + Write-Host " " + + $projectPath = Join-Path -Path "$(Build.SourcesDirectory)" -ChildPath "${{ parameters.studioProjectPath }}" + Write-Host "Project Path = $projectPath" + $project = (get-content "$projectPath" | ConvertFrom-Json) + $project.name = $project.name.Replace("_portable", "").Replace("_windows", "") + "_portable" + $project.dependencies.$packageUnderTest = "[$pkgVersion]" + + if ("${{ parameters.buildForPortable }}" -eq "true") { + Write-Host "Pack for portable " + $project.name + echo $project.name + $project.targetFramework = "Portable" + $project | ConvertTo-JSon | Out-File "$projectPath" + + $output = (& "C:/Program Files/UiPath/Studio/UiPath.Studio.CommandLine.exe" publish -p "$projectPath" -f "$(IntegrationTestStudioPackPath)" -v "$env:BUILD_BUILDID.0.$seconds") + + if (-Not $output.Contains("Project published successfully.")) + { + echo "Sleep 1 minute" + Start-Sleep -Seconds 60 + $output = (& "C:/Program Files/UiPath/Studio/UiPath.Studio.CommandLine.exe" publish -p "$projectPath" -f "$(IntegrationTestStudioPackPath)" -v "$env:BUILD_BUILDID.0.$seconds") + if (-Not $output.Contains("Project published successfully.")) + { + throw "Pack failed: " + $output + } + } + } + + if ("${{ parameters.buildForWindows }}" -eq "true") + { + $project = (get-content "$projectPath" | ConvertFrom-Json) + $project.name = $project.name.Replace("_portable", "").Replace("_windows", "") + "_windows" + Write-Host "Pack for windows " + $project.name + $project.targetFramework = "Windows" + $project | ConvertTo-JSon | Out-File "$projectPath" + + $output = (& "C:/Program Files/UiPath/Studio/UiPath.Studio.CommandLine.exe" publish -p "$projectPath" -f "$(IntegrationTestStudioPackPath)" -v "$env:BUILD_BUILDID.0.$seconds") + + if (-Not $output.Contains("Project published successfully.")) + { + echo "Sleep 1 minute" + Start-Sleep -Seconds 60 + $output = (& "C:/Program Files/UiPath/Studio/UiPath.Studio.CommandLine.exe" publish -p "$projectPath" -f "$(IntegrationTestStudioPackPath)" -v "$env:BUILD_BUILDID.0.$seconds") + if (-Not $output.Contains("Project published successfully.")) + { + throw "Pack failed: " + $output + } + } + } + displayName: "Pack runtime tests project using UiPath.Studio.CommandLine.exe" + failOnStderr: true + + - task: PublishBuildArtifacts@1 + displayName: "Publish packed tests" + inputs: + PathToPublish: "$(IntegrationTestStudioPackPath)" + ArtifactName: "Packages" + ArtifactType: "Container" diff --git a/Activities/.pipelines/jobs/stage.run.runtime.tests.portable.yml b/Activities/.pipelines/jobs/stage.run.runtime.tests.portable.yml new file mode 100644 index 000000000..05c7f8d8b --- /dev/null +++ b/Activities/.pipelines/jobs/stage.run.runtime.tests.portable.yml @@ -0,0 +1,76 @@ +parameters: + robotVersion: '' + beforeTestsCustomSteps: [] + afterTestsCustomSteps: [] + environment: {} + +jobs: +- job: "RunDatabaseRuntimeTestsPortable" + displayName: "Run Database Runtime Tests Portable" + variables: + IntegrationTestStudioPackPath: '$(System.ArtifactsDirectory)/Packages' + timeoutInMinutes: 90 + pool: + vmImage: ubuntu-latest + workspace: + clean: outputs | resources | all + + steps: + - task: UniversalPackages@0 + displayName: "Download TestRunner" + inputs: + command: 'download' + downloadDirectory: "$(Build.ArtifactStagingDirectory)/TestRunner" + vstsFeed: "UiPath-DevPackages" + vstsFeedPackage: "uipath.testrunner" + vstsPackageVersion: $(TestRunnerVersion) + verbosity: 'Trace' + + - task: Docker@2 + displayName: Login to container registry + inputs: + command: login + containerRegistry: 'robotdevregistry' + + - ${{ each step in parameters.beforeTestsCustomSteps }}: + - ${{ step }} + + - task: DownloadPipelineArtifact@2 + displayName: "Download Packages" + inputs: + artifact: "Packages" + path: "$(IntegrationTestStudioPackPath)" + + - bash: | + which docker + docker ps + cp -rvf $(Build.ArtifactStagingDirectory)/TestRunner $(Build.SourcesDirectory)/Activities/.pipelines/docker/mount/input/ + cp -vf $(IntegrationTestStudioPackPath)/*nupkg $(Build.SourcesDirectory)/Activities/.pipelines/docker/mount/input/ + PACKAGE=$(basename $(ls $(Build.SourcesDirectory)/Activities/.pipelines/docker/mount/input/*_portable*.nupkg)) + echo "package = $PACKAGE" + echo "##vso[task.setvariable variable=pkgPath]/input/$PACKAGE" + displayName: 'Prepare tests' + + - bash: | + cd $(Build.SourcesDirectory)/Activities/.pipelines/docker + export MOUNT_OUTPUT=$(System.ArtifactsDirectory) + export PATH=/usr/libexec/docker/cli-plugins:$PATH + chmod -R 777 $(System.ArtifactsDirectory) + docker-compose up -d robot + docker-compose exec robot dotnet /input/TestRunner/uipath.studio.codedwf.tests.runner.dll run --package $(pkgPath) --robotPath /application/UiRobot.dll --output /output + displayName: 'Run tests' + env: ${{ parameters.environment }} + + - ${{ each step in parameters.afterTestsCustomSteps }}: + - ${{ step }} + + - task: PublishTestResults@2 + inputs: + testResultsFormat: 'VSTest' + testRunTitle: "Portable Runtime Tests" + testResultsFiles: '$(System.ArtifactsDirectory)/results*.trx' + publishRunAttachments: true + failTaskOnFailedTests: true + mergeTestResults: true + displayName: 'Publish Tests Results' + condition: always() diff --git a/Activities/.pipelines/jobs/stage.run.runtime.tests.windows.yml b/Activities/.pipelines/jobs/stage.run.runtime.tests.windows.yml new file mode 100644 index 000000000..38d029c53 --- /dev/null +++ b/Activities/.pipelines/jobs/stage.run.runtime.tests.windows.yml @@ -0,0 +1,103 @@ +parameters: + robotVersion: '' + beforeTestsCustomSteps: [] + afterTestsCustomSteps: [] + environment: {} + +jobs: +- job: "RunDatabaseRuntimeTestsWindows" + displayName: "Run Database Runtime Tests Windows" + variables: + IntegrationTestStudioPackPath: '$(System.ArtifactsDirectory)/Packages' + StudioProjectPath: 'Activities/Database/UiPath.Database.Runtime.Tests/project.json' + timeoutInMinutes: 90 + pool: + vmImage: windows-2022 + workspace: + clean: outputs | resources | all + + steps: + - task: UniversalPackages@0 + displayName: "Download TestRunner" + inputs: + command: 'download' + downloadDirectory: "$(Build.ArtifactStagingDirectory)/TestRunner" + vstsFeed: "UiPath-DevPackages" + vstsFeedPackage: "uipath.testrunner" + vstsPackageVersion: $(TestRunnerVersion) + verbosity: 'Trace' + + - task: BuildProcessCleaner@0 + + - task: ms-autotest.screen-resolution-utility-task.screen-resolution-utlity-task.ScreenResolutionUtility@1 + displayName: 'Set Screen Resolution' + inputs: + displaySettings: specific + width: 1920 + height: 1080 + + - task: Docker@2 + displayName: Login to container registry + inputs: + command: login + containerRegistry: 'codedwfdemoregistry' + + - task: UseDotNet@2 + displayName: 'Use .NET SDK 6.0.x' + inputs: + packageType: 'sdk' + version: '6.0.x' + + - task: UseDotNet@2 + displayName: 'Use .NET SDK 8.0.x' + inputs: + packageType: 'sdk' + version: '8.0.x' + + - task: DownloadPipelineArtifact@2 + displayName: "Download Packages" + inputs: + artifact: "Packages" + path: "$(IntegrationTestStudioPackPath)" + + - ${{ each step in parameters.beforeTestsCustomSteps }}: + - ${{ step }} + + # install robot + - template: Testing/Automation/install.msi.steps.template.yml@automationTests + parameters: + installType: 'machine' + msiType: 'robot' + msiVersion: ${{ parameters.robotVersion }} + license: "7445-1270-1408-6250" + installComponents: 'Robot' + + - powershell: | + & "C:/Program Files/UiPath/Robot/UiRobot.exe" trace --enableLowLevel + displayName: "Enable robot low level" + failOnStderr: false + + - powershell: | + Write-Host "Listing environment" + gci env:* | sort-object name + Write-Host "==============================================================================" + $filepath = Get-ChildItem $(IntegrationTestStudioPackPath)/*_windows* + $fullPath = $filepath.FullName + $env:MOUNT_OUTPUT="$(System.ArtifactsDirectory)" + $(Build.ArtifactStagingDirectory)/TestRunner/uipath.studio.codedwf.tests.runner.exe run --package $fullPath --output $(System.ArtifactsDirectory) --robotPath "C:/Program Files/UiPath/Robot/UiRobot.exe" + displayName: 'Execute tests' + env: ${{ parameters.environment }} + + - ${{ each step in parameters.afterTestsCustomSteps }}: + - ${{ step }} + + - task: PublishTestResults@2 + inputs: + testResultsFormat: 'VSTest' + testRunTitle: "Windows Runtime Tests" + testResultsFiles: '$(System.ArtifactsDirectory)/results*.trx' + publishRunAttachments: true + failTaskOnFailedTests: true + mergeTestResults: true + displayName: 'Publish Tests Results' + condition: always() \ No newline at end of file diff --git a/Activities/.pipelines/tests/steps/run_python.yml b/Activities/.pipelines/tests/steps/run_python.yml index 2749070a4..4b75b7865 100644 --- a/Activities/.pipelines/tests/steps/run_python.yml +++ b/Activities/.pipelines/tests/steps/run_python.yml @@ -39,8 +39,6 @@ steps: - template: run_python2.yml parameters: versions: - - "2.7" - - "3.6" - "3.7" - "3.8" - "3.9" diff --git a/Activities/.pipelines/variables/variables.yml b/Activities/.pipelines/variables/variables.yml index 2e230aab2..645ad0a52 100644 --- a/Activities/.pipelines/variables/variables.yml +++ b/Activities/.pipelines/variables/variables.yml @@ -4,4 +4,6 @@ variables: OutputTestsPath: "$(Build.SourcesDirectory)\\Activities\\OutputTests" RunSettingsFilePath: "$(Build.SourcesDirectory)\\Activities\\CodeCoverage.runsettings" SolutionsPath: "$(Build.SourcesDirectory)\\Activities" - ToolsPath: "$(Build.SourcesDirectory)\\Activities\\Tools" \ No newline at end of file + ToolsPath: "$(Build.SourcesDirectory)\\Activities\\Tools" + TestRunnerVersion: "1.594.543" + TestsStudioVersion: "23.10.6" \ No newline at end of file diff --git a/Activities/Activities.Cryptography.sln b/Activities/Activities.Cryptography.sln index 9e4e26afc..6591acb9a 100644 --- a/Activities/Activities.Cryptography.sln +++ b/Activities/Activities.Cryptography.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30621.155 +# Visual Studio Version 17 +VisualStudioVersion = 17.4.33110.190 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UiPath.Cryptography", "Cryptography\UiPath.Cryptography\UiPath.Cryptography.csproj", "{92E8345E-2CA1-439D-926D-D979893840F5}" EndProject @@ -10,6 +10,9 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UiPath.Cryptography.Activities.Design", "Cryptography\UiPath.Cryptography.Activities.Design\UiPath.Cryptography.Activities.Design.csproj", "{2629567D-4737-4A1B-9876-F00C948270E3}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UiPath.Cryptography.Activities.Tests", "Cryptography\UiPath.Cryptography.Activities.Tests\UiPath.Cryptography.Activities.Tests.csproj", "{32563B0E-C9B0-468F-85CC-04BB4802FE37}" + ProjectSection(ProjectDependencies) = postProject + {2629567D-4737-4A1B-9876-F00C948270E3} = {2629567D-4737-4A1B-9876-F00C948270E3} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UiPath.Cryptography.Activities.Packaging", "Cryptography\UiPath.Cryptography.Activities.Packaging\UiPath.Cryptography.Activities.Packaging.csproj", "{1076731A-DBFD-4E86-A1DF-EA8EBA7569C5}" EndProject @@ -19,10 +22,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Directory.build.targets = Directory.build.targets EndProjectSection EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "UiPath.Shared.Activities", "Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.shproj", "{4E20C041-2F59-408E-ADB3-0BCFAB48DE61}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "UiPath.Shared", "Shared\UiPath.Shared\UiPath.Shared.shproj", "{2E040804-8ED9-4FB8-BB8A-4A38479E2A9E}" +EndProject Global - GlobalSection(SharedMSBuildProjectFiles) = preSolution - Shared\UiPath.Shared\UiPath.Shared.projitems*{92e8345e-2ca1-439d-926d-d979893840f5}*SharedItemsImports = 5 - EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU @@ -55,4 +59,12 @@ Global GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {5AC55779-EA32-41AD-BAAD-1808F8A412CB} EndGlobalSection + GlobalSection(SharedMSBuildProjectFiles) = preSolution + Shared\UiPath.Shared\UiPath.Shared.projitems*{2629567d-4737-4a1b-9876-f00c948270e3}*SharedItemsImports = 5 + Shared\UiPath.Shared\UiPath.Shared.projitems*{2e040804-8ed9-4fb8-bb8a-4a38479e2a9e}*SharedItemsImports = 13 + Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{4e20c041-2f59-408e-adb3-0bcfab48de61}*SharedItemsImports = 13 + Shared\UiPath.Shared\UiPath.Shared.projitems*{92e8345e-2ca1-439d-926d-d979893840f5}*SharedItemsImports = 5 + Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{f6a198c8-1940-4cae-a0d3-d4e707f3b0a3}*SharedItemsImports = 5 + Shared\UiPath.Shared\UiPath.Shared.projitems*{f6a198c8-1940-4cae-a0d3-d4e707f3b0a3}*SharedItemsImports = 5 + EndGlobalSection EndGlobal diff --git a/Activities/Activities.Database.sln b/Activities/Activities.Database.sln index fb81cc28c..b843af324 100644 --- a/Activities/Activities.Database.sln +++ b/Activities/Activities.Database.sln @@ -24,6 +24,9 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UiPath.Data.ConnectionUI.Dialog", "Database\ConnectionDialog\UiPath.Data.ConnectionUI.Dialog\UiPath.Data.ConnectionUI.Dialog.csproj", "{BA22A083-23F5-46B5-A037-9618D2E2D185}" EndProject Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{e6d45fa7-57a7-4136-99c6-6ee89851f4cd}*SharedItemsImports = 5 + EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 diff --git a/Activities/Activities.FTP.sln b/Activities/Activities.FTP.sln index 3bb4e6a3a..b91e2dfb4 100644 --- a/Activities/Activities.FTP.sln +++ b/Activities/Activities.FTP.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30621.155 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35327.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UiPath.FTP", "FTP\UiPath.FTP\UiPath.FTP.csproj", "{E9137637-B657-4C22-85A5-2E30ADF82566}" EndProject @@ -19,10 +19,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution FTP\FTP.build.props = FTP\FTP.build.props EndProjectSection EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "UiPath.Shared.Activities", "Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.shproj", "{4E20C041-2F59-408E-ADB3-0BCFAB48DE61}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "UiPath.Shared", "Shared\UiPath.Shared\UiPath.Shared.shproj", "{2E040804-8ED9-4FB8-BB8A-4A38479E2A9E}" +EndProject Global - GlobalSection(SharedMSBuildProjectFiles) = preSolution - Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{fdfc92ee-090c-4e23-9422-f90eb94c43dd}*SharedItemsImports = 5 - EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU @@ -55,4 +56,10 @@ Global GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {5AC55779-EA32-41AD-BAAD-1808F8A412CB} EndGlobalSection + GlobalSection(SharedMSBuildProjectFiles) = preSolution + Shared\UiPath.Shared\UiPath.Shared.projitems*{2e040804-8ed9-4fb8-bb8a-4a38479e2a9e}*SharedItemsImports = 13 + Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{4e20c041-2f59-408e-adb3-0bcfab48de61}*SharedItemsImports = 13 + Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{fdfc92ee-090c-4e23-9422-f90eb94c43dd}*SharedItemsImports = 5 + Shared\UiPath.Shared\UiPath.Shared.projitems*{fdfc92ee-090c-4e23-9422-f90eb94c43dd}*SharedItemsImports = 5 + EndGlobalSection EndGlobal diff --git a/Activities/Activities.Python.sln b/Activities/Activities.Python.sln index c1108c1cf..7193d6ccb 100644 --- a/Activities/Activities.Python.sln +++ b/Activities/Activities.Python.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30621.155 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35327.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UiPath.Python", "Python\UiPath.Python\UiPath.Python.csproj", "{A1783EAB-5BAF-49F1-8372-B467B57063CC}" EndProject @@ -29,19 +29,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Python\Python.build.props = Python\Python.build.props EndProjectSection EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "UiPath.Shared", "Shared\UiPath.Shared\UiPath.Shared.shproj", "{2E040804-8ED9-4FB8-BB8A-4A38479E2A9E}" +EndProject Global - GlobalSection(SharedMSBuildProjectFiles) = preSolution - Python\UiPath.Python.Host.Shared\UiPath.Python.Host.Shared.projitems*{0fbf5f7e-2ae4-4f4a-84cb-26b3a9e3119c}*SharedItemsImports = 5 - Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{0fbf5f7e-2ae4-4f4a-84cb-26b3a9e3119c}*SharedItemsImports = 5 - Python\UiPath.Python.Host.Shared\UiPath.Python.Host.Shared.projitems*{25ff4279-6ee6-441e-9d40-a40db81cb57c}*SharedItemsImports = 13 - Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{a1783eab-5baf-49f1-8372-b467b57063cc}*SharedItemsImports = 5 - Shared\UiPath.Shared\UiPath.Shared.projitems*{a1783eab-5baf-49f1-8372-b467b57063cc}*SharedItemsImports = 5 - Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{a6a27646-4889-4f95-a0df-dd78d287388f}*SharedItemsImports = 13 - Python\UiPath.Python.Host.Shared\UiPath.Python.Host.Shared.projitems*{bcba78df-1513-44d3-83b3-37655a7f3887}*SharedItemsImports = 5 - Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{bcba78df-1513-44d3-83b3-37655a7f3887}*SharedItemsImports = 5 - Shared\UiPath.Shared.Activities.Design\UiPath.Shared.Activities.Design.projitems*{e116c90e-c6a0-4292-b1ff-e0746ffe95d5}*SharedItemsImports = 5 - Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{e270608b-ba9e-4972-a18e-34b93e6552b4}*SharedItemsImports = 5 - EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU @@ -86,4 +76,20 @@ Global GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {5AC55779-EA32-41AD-BAAD-1808F8A412CB} EndGlobalSection + GlobalSection(SharedMSBuildProjectFiles) = preSolution + Python\UiPath.Python.Host.Shared\UiPath.Python.Host.Shared.projitems*{0fbf5f7e-2ae4-4f4a-84cb-26b3a9e3119c}*SharedItemsImports = 5 + Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{0fbf5f7e-2ae4-4f4a-84cb-26b3a9e3119c}*SharedItemsImports = 5 + Shared\UiPath.Shared\UiPath.Shared.projitems*{0fbf5f7e-2ae4-4f4a-84cb-26b3a9e3119c}*SharedItemsImports = 5 + Python\UiPath.Python.Host.Shared\UiPath.Python.Host.Shared.projitems*{25ff4279-6ee6-441e-9d40-a40db81cb57c}*SharedItemsImports = 13 + Shared\UiPath.Shared\UiPath.Shared.projitems*{2e040804-8ed9-4fb8-bb8a-4a38479e2a9e}*SharedItemsImports = 13 + Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{a1783eab-5baf-49f1-8372-b467b57063cc}*SharedItemsImports = 5 + Shared\UiPath.Shared\UiPath.Shared.projitems*{a1783eab-5baf-49f1-8372-b467b57063cc}*SharedItemsImports = 5 + Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{a6a27646-4889-4f95-a0df-dd78d287388f}*SharedItemsImports = 13 + Python\UiPath.Python.Host.Shared\UiPath.Python.Host.Shared.projitems*{bcba78df-1513-44d3-83b3-37655a7f3887}*SharedItemsImports = 5 + Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{bcba78df-1513-44d3-83b3-37655a7f3887}*SharedItemsImports = 5 + Shared\UiPath.Shared\UiPath.Shared.projitems*{bcba78df-1513-44d3-83b3-37655a7f3887}*SharedItemsImports = 5 + Shared\UiPath.Shared.Activities.Design\UiPath.Shared.Activities.Design.projitems*{e116c90e-c6a0-4292-b1ff-e0746ffe95d5}*SharedItemsImports = 5 + Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{e270608b-ba9e-4972-a18e-34b93e6552b4}*SharedItemsImports = 5 + Shared\UiPath.Shared\UiPath.Shared.projitems*{e270608b-ba9e-4972-a18e-34b93e6552b4}*SharedItemsImports = 5 + EndGlobalSection EndGlobal diff --git a/Activities/Community.Activities.sln b/Activities/Community.Activities.sln index 4bcd10982..0add1fa43 100644 --- a/Activities/Community.Activities.sln +++ b/Activities/Community.Activities.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31912.275 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32002.261 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{92E6CB4E-6542-419B-B674-7D8B9FB02BD2}" ProjectSection(SolutionItems) = preProject @@ -128,6 +128,7 @@ Global Shared\UiPath.Shared.Service\UiPath.Shared.Service.projitems*{bcba78df-1513-44d3-83b3-37655a7f3887}*SharedItemsImports = 5 Shared\UiPath.Shared.Activities.Design\UiPath.Shared.Activities.Design.projitems*{e116c90e-c6a0-4292-b1ff-e0746ffe95d5}*SharedItemsImports = 5 Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{e270608b-ba9e-4972-a18e-34b93e6552b4}*SharedItemsImports = 5 + Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{e6d45fa7-57a7-4136-99c6-6ee89851f4cd}*SharedItemsImports = 5 Shared\UiPath.Shared.Activities\UiPath.Shared.Activities.projitems*{fdfc92ee-090c-4e23-9422-f90eb94c43dd}*SharedItemsImports = 5 EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/Activities/Credentials/Credentials.build.props b/Activities/Credentials/Credentials.build.props index eb18f99eb..2cb1c0e9b 100644 --- a/Activities/Credentials/Credentials.build.props +++ b/Activities/Credentials/Credentials.build.props @@ -2,6 +2,6 @@ UiPath © UiPath - 2.0.0 + 2.2.0 \ No newline at end of file diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.de.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.de.resx index 8fb676a42..46bbdf239 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.de.resx +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.de.resx @@ -121,7 +121,7 @@ Anmeldeinformationen hinzufügen - Add Credentials + Anmeldeinformationen hinzufügen Attribute Name @@ -134,7 +134,7 @@ Anmeldeinformationen löschen - Delete Credentials + Anmeldeinformationen löschen Attribute Name @@ -153,14 +153,14 @@ Sichere Anmeldedaten erhalten - Get Secure Credentials + Sichere Anmeldeinformationen erhalten Attribute Name Anmeldedaten anfordern - Request Credentials + Anmeldeinformationen anfordern Attribute Name @@ -176,13 +176,13 @@ Nachricht - Message + Nachricht Ausgabe - Output + Ausgabe Entweder das Kennwort oder das Kennwort der sicheren Zeichenfolge muss NULL sein. @@ -194,7 +194,7 @@ Kennwort - Password + Kennwort Kennwort der sicheren Zeichenfolge @@ -215,7 +215,7 @@ Ziel - Target + Ziel Titel @@ -227,7 +227,7 @@ Benutzername - Username + Benutzername Die einzigen zulässigen Werte für den Anmeldeinformationstyp sind „Generic“ oder „DomainPassword“. diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.es-MX.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.es-MX.resx index d9f49d51f..c79913bca 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.es-MX.resx +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.es-MX.resx @@ -125,7 +125,7 @@ Attribute Name - Tipo de credencial: los únicos valores admitidos para el tipo de credencial son "Generic" o "DomainPassword" + Tipo de credencial: los únicos valores admitidos para el tipo de credencial son "Genéricos" o "ContraseñaDeDominio" Tipo de credencial @@ -176,13 +176,13 @@ Mensaje - Message + Mensaje Salida - Output + Salida La contraseña y la contraseña de cadena segura no pueden ser no nulas @@ -194,7 +194,7 @@ Contraseña - Password + Contraseña Contraseña de cadena segura @@ -215,7 +215,7 @@ Objetivo - Target + Destino Título @@ -227,9 +227,9 @@ Nombre de usuario - Username + Nombre de usuario - Los únicos valores permitidos para el tipo de credencial son "Generic" o "DomainPassword" + Los únicos valores admitidos para el tipo de credencial son "Genéricos" o "ContraseñaDeDominio" \ No newline at end of file diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.fr.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.fr.resx index 79a33d4bb..d9be4fdf7 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.fr.resx +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.fr.resx @@ -121,7 +121,7 @@ Ajouter des identifiants - Add Credentials + Ajouter des identifiants Attribute Name @@ -134,7 +134,7 @@ Supprimer les identifiants - Delete Credentials + Supprimer les identifiants Attribute Name @@ -153,21 +153,21 @@ Obtenir l'identifiant sécurisé - Get Secure Credentials + Obtenir l’identifiant sécurisé Attribute Name Demander un identifiant - Request Credentials + Demander un identifiant Attribute Name Identifiants - Système + System Entrée @@ -182,7 +182,7 @@ Sortie - Output + Sortie Le mot de passe et le mot de passe de la chaîne sécurisée ne peuvent pas être tous les deux non nuls @@ -194,7 +194,7 @@ Mot de passe - Password + Mot de passe Mot de passe de chaîne sécurisée @@ -209,13 +209,13 @@ Typedepersistance - Result + Résultat Cible - Target + Cible Titre @@ -227,7 +227,7 @@ Nom d'utilisateur - Username + Nom d'utilisateur Les seules valeurs prises en charge pour le type d’informations d’identification sont « Generic » ou « DomainPassword » diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.ko.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.ko.resx index 30f5b7900..a2a114108 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.ko.resx +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.ko.resx @@ -176,13 +176,13 @@ 메시지 - Message + 메시지 출력 - Output + 출력 암호와 보안 문자열 암호는 모두 null이 될 수 없습니다. @@ -194,7 +194,7 @@ 암호 - Password + 암호 보안 문자열 암호 @@ -215,7 +215,7 @@ 타겟 - Target + 타겟 제목 @@ -227,7 +227,7 @@ 사용자 이름 - Username + 사용자 이름 자격 증명 형식에서는 'Generic' 또는 'DomainPassword' 값만 허용됩니다. diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.pt-BR.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.pt-BR.resx index e5fb30a59..c9cfacd38 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.pt-BR.resx +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.pt-BR.resx @@ -121,7 +121,7 @@ Adicionar Credenciais - Add Credentials + Adicionar Credenciais Attribute Name @@ -134,7 +134,7 @@ Excluir Credenciais - Delete Credentials + Excluir Credenciais Attribute Name @@ -153,14 +153,14 @@ Obtenha Credenciais Seguras - Get Secure Credentials + Obter Credenciais Seguras Attribute Name Solicite Credenciais - Request Credentials + Solicitar Credenciais Attribute Name @@ -176,13 +176,13 @@ Mensagem - Message + Mensagem Saída - Output + Saída A senha e a senha de string segura têm que ter valor @@ -194,7 +194,7 @@ Senha - Password + Senha Senha de String Segura @@ -215,19 +215,19 @@ Destino - Target + Destino Título - Title + Título Nome de Usuário - Username + Nome de Usuário Os únicos valores permitidos para Tipo de Credencial são "Generic" ou "DomainPassword" diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.pt.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.pt.resx index e6879d387..324a926f0 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.pt.resx +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.pt.resx @@ -128,7 +128,7 @@ Tipo de Credencial - Os únicos valores suportados para Credential Type são "Generic" ou DomainPassword" - Credential Type + Tipo de Credencial Eliminar Credenciais @@ -141,13 +141,13 @@ Tipo de Credencial - Credential Type + Tipo de Credencial Tipo de Credencial - Credential Type + Tipo de Credencial Obter Credenciais Seguras @@ -176,13 +176,13 @@ Mensagem - Message + Mensagem Saída - Output + Saída A palavra-passe e a palavra-passe da cadeia segura não podem ser ambas não nulas @@ -194,7 +194,7 @@ Palavra-passe - Password + Palavra-passe Palavra-passe da cadeia segura @@ -215,19 +215,19 @@ Target - Target + Destino Title - Title + Título Nome de utilizador - Username + Nome de utilizador Os únicos valores permitidos para Credential Type são "Generic" ou DomainPassword" diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.ru.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.ru.resx index ab0283358..05dca1f6b 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.ru.resx +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.ru.resx @@ -176,13 +176,13 @@ Сообщение - Message + Сообщение Вывод - Output + Вывод Пароль и пароль защищенной строки не должны одновременно иметь не нулевое значение @@ -194,7 +194,7 @@ Пароль - Password + Пароль Пароль защищенной строки @@ -215,7 +215,7 @@ Целевой объект - Target + Целевой объект Название @@ -227,7 +227,7 @@ Пользователь - Username + Имя пользователя Единственные допустимые значения для типа учетных данных: "Generic" и "DomainPassword" diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.tr.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.tr.resx index c1f70f1ab..0a243fe11 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.tr.resx +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.tr.resx @@ -176,13 +176,13 @@ İleti - Message + İleti Çıkış - Output + Çıkış Hem parola hem de güvenli dize parolası null olamaz @@ -194,7 +194,7 @@ Parola - Password + Parola Güvenli Dize Parolası @@ -215,7 +215,7 @@ Hedef - Target + Hedef Başlık @@ -227,7 +227,7 @@ Kullanıcı adı - Username + Kullanıcı adı Kimlik Bilgisi Türü için izin verilen değerler sadece 'Genel' veya 'Etki Alanı Parolası'dır diff --git a/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.zh-TW.resx b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.zh-TW.resx new file mode 100644 index 000000000..5883ca9c3 --- /dev/null +++ b/Activities/Credentials/UiPath.Credentials.Activities/Properties/UiPath.Credentials.Activities.zh-TW.resx @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 新增憑證 + + + 新增憑證 + Attribute Name + + + 憑證類型 - 憑證類型唯一支援的值為「通用」或「網域密碼」 + + + 憑證類型 + + + 刪除憑證 + + + 刪除憑證 + Attribute Name + + + 憑證類型 + + + 憑證類型 + + + 憑證類型 + + + 憑證類型 + + + 取得安全憑證 + + + 取得安全憑證 + Attribute Name + + + 請求憑證 + + + 請求憑證 + Attribute Name + + + 憑證 + + + 系統 + + + 輸入 + + + 訊息 + + + 訊息 + + + 輸出 + + + 輸出 + + + 密碼和安全字串密碼不可同時為非 null + + + 密碼和安全字串密碼不可同時為 null + + + 密碼 + + + 密碼 + + + 安全字串密碼 + + + 安全字串密碼 + + + 持續性類型 + + + 持續性類型 + + + 結果 + + + 目標 + + + 目標 + + + 標題 + + + 標題 + + + 使用者名稱 + + + 使用者名稱 + + + 憑證類型唯一允許使用的值為「通用」或「網域密碼」 + + \ No newline at end of file diff --git a/Activities/Credentials/UiPath.Credentials.Activities/UiPath.Credentials.Activities.csproj b/Activities/Credentials/UiPath.Credentials.Activities/UiPath.Credentials.Activities.csproj index 60246a626..a85419466 100644 --- a/Activities/Credentials/UiPath.Credentials.Activities/UiPath.Credentials.Activities.csproj +++ b/Activities/Credentials/UiPath.Credentials.Activities/UiPath.Credentials.Activities.csproj @@ -1,11 +1,14 @@  + + net461;net5.0-windows ..\..\Output\Activities\Credentials\ false true + @@ -21,16 +24,28 @@ + + + + + + + - - - - + + + + + + + + + True @@ -38,10 +53,11 @@ UiPath.Credentials.Activities.resx + PublicResXFileCodeGenerator UiPath.Credentials.Activities.Designer.cs - \ No newline at end of file + diff --git a/Activities/Credentials/UiPath.Credentials.Packages/UiPath.Credentials.Packages.csproj b/Activities/Credentials/UiPath.Credentials.Packages/UiPath.Credentials.Packages.csproj index 458ff9e78..6b132e06b 100644 --- a/Activities/Credentials/UiPath.Credentials.Packages/UiPath.Credentials.Packages.csproj +++ b/Activities/Credentials/UiPath.Credentials.Packages/UiPath.Credentials.Packages.csproj @@ -41,6 +41,7 @@ + @@ -48,6 +49,7 @@ + diff --git a/Activities/Credentials/UiPath.Credentials.Tests/Properties/AssemblyInfo.cs b/Activities/Credentials/UiPath.Credentials.Tests/Properties/AssemblyInfo.cs index c4f8a98aa..a3116acb1 100644 --- a/Activities/Credentials/UiPath.Credentials.Tests/Properties/AssemblyInfo.cs +++ b/Activities/Credentials/UiPath.Credentials.Tests/Properties/AssemblyInfo.cs @@ -2,19 +2,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -[assembly: AssemblyTitle("UiPath.Credentials.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("UiPath.Credentials.Tests")] -[assembly: AssemblyCopyright("Copyright © 2021")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - [assembly: ComVisible(false)] [assembly: Guid("d8b0d0d4-494a-4f82-9c73-d2e99f4228ab")] -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Activities/Credentials/UiPath.Credentials.Tests/UiPath.Credentials.Tests.csproj b/Activities/Credentials/UiPath.Credentials.Tests/UiPath.Credentials.Tests.csproj index 8b25becc2..e16046cd0 100644 --- a/Activities/Credentials/UiPath.Credentials.Tests/UiPath.Credentials.Tests.csproj +++ b/Activities/Credentials/UiPath.Credentials.Tests/UiPath.Credentials.Tests.csproj @@ -1,63 +1,37 @@ - - - + + - Debug - AnyCPU + Any CPU {D8B0D0D4-494A-4F82-9C73-D2E99F4228AB} - Library - Properties - UiPath.Credentials.Tests - UiPath.Credentials.Tests - v4.6.1 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 15.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - - - true - full - false - ..\..\OutputTests\Credentials\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true + net461;net5.0-windows + UiPath.Credentials.Tests + UiPath.Credentials.Tests ..\..\OutputTests\Credentials\ - TRACE - prompt - 4 - - - ..\..\packages\MSTest.TestFramework.2.1.1\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll - - - ..\..\packages\MSTest.TestFramework.2.1.1\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll - - - + + + + + + + + + + + + + + + + + - + + - - 2.1.1 - - - 2.1.1 - + + - - \ No newline at end of file diff --git a/Activities/Credentials/azure-pipelines.yml b/Activities/Credentials/azure-pipelines.yml index a204b0045..1b37d6109 100644 --- a/Activities/Credentials/azure-pipelines.yml +++ b/Activities/Credentials/azure-pipelines.yml @@ -3,7 +3,7 @@ resources: - repository: common type: github name: UiPath/AzurePipelinesTemplates - ref: feature/activities_templates + ref: refs/tags/uipath.community.activities.1.3.0 endpoint: "GitHub connection" trigger: @@ -48,4 +48,5 @@ stages: sonarKeyPrefix: 'CommunityActivities' sdkBuild: true enableCDStages: false - hasQaPackages: false \ No newline at end of file + hasQaPackages: false + diff --git a/Activities/Cryptography/Cryptography.build.props b/Activities/Cryptography/Cryptography.build.props index 3d77e19d2..95426269b 100644 --- a/Activities/Cryptography/Cryptography.build.props +++ b/Activities/Cryptography/Cryptography.build.props @@ -4,12 +4,11 @@ UiPath UiPath © UiPath - 1.3.0 - $([System.DateTime]::UtcNow.DayOfYear.ToString("F0")) + $([System.DateTime]::UtcNow.ToString("yy"))$([System.DateTime]::UtcNow.DayOfYear.ToString("F0")) $([System.DateTime]::UtcNow.TimeOfDay.TotalMinutes.ToString("F0")) - 1.3.0 - 1.3.$(VersionBuild)-dev.$(VersionRevision) - 1.3.$(VersionBuild).$(VersionRevision) + 1.7.0 + 1.7.$(VersionBuild)-dev.$(VersionRevision) + 1.7.$(VersionBuild).$(VersionRevision) $(MSBuildThisFileDirectory) diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.Designer.cs b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.Designer.cs index 3c5641e2c..f7db00b75 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.Designer.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.Designer.cs @@ -19,7 +19,7 @@ namespace UiPath.Cryptography.Activities.Design.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class UiPath_Cryptography_Activities_Design { @@ -269,7 +269,7 @@ public static string EncryptTextResultDescription { } /// - /// Looks up a localized string similar to File Path. + /// Looks up a localized string similar to File path. /// public static string FilePath { get { @@ -278,7 +278,7 @@ public static string FilePath { } /// - /// Looks up a localized string similar to File Path. + /// Looks up a localized string similar to File path. /// public static string FilePathDialogTitle { get { @@ -323,7 +323,7 @@ public static string HashTextResultDescription { } /// - /// Looks up a localized string similar to Input Path. + /// Looks up a localized string similar to Input path. /// public static string InputFilePath { get { diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.de.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.de.resx index ffca21f25..d15e9a3b7 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.de.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.de.resx @@ -145,7 +145,7 @@ Die entschlüsselte Zeichenfolge. - Encoding + Codierung Die Codierung, die zum Interpretieren der Eingabezeichenfolge verwendet wird. @@ -175,7 +175,7 @@ Die Base64-Zeichenfolgendarstellung der verschlüsselten Eingabezeichenfolge. - File Path + Dateipfad property name @@ -202,7 +202,7 @@ property name - Schlüssel + Taste Die Codierung, die zum Interpretieren der Eingabezeichenfolge und des Schlüssels verwendet wird. @@ -223,11 +223,11 @@ Schlüsselcodierung - Output Path + Ausgabepfad property name - Overwrite + Überschreiben Ergebnis @@ -239,10 +239,10 @@ System - DisplayName + Anzeigename property name - ContinueOnError + BeiFehlerFortsetzen \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.es-MX.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.es-MX.resx index d7d7ce6e9..71a30d501 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.es-MX.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.es-MX.resx @@ -145,7 +145,7 @@ La cadena descifrada. - Encoding + Codificación La codificación utilizada para interpretar la cadena de entrada. @@ -175,11 +175,11 @@ La representación de cadena base64 de la cadena de entrada cifrada. - File Path + Ruta del archivo property name - Ruta de archivo + Ruta del archivo Ruta de acceso al archivo en el que esta actividad utilizó un hash. @@ -194,11 +194,11 @@ La representación de cadena hexadecimal de la cadena de entrada donde se utilizó un hash. - Input Path + Ruta de entrada property name - Text + Texto property name @@ -223,11 +223,11 @@ Codificación clave - Output Path + Ruta de salida property name - Overwrite + Sobrescribir Resultado @@ -239,10 +239,10 @@ Sistema - DisplayName + NombreParaMostrar property name - ContinueOnError + ContinuarConElError \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.fr.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.fr.resx index d91ca6ae0..fdfdb25d3 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.fr.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.fr.resx @@ -145,7 +145,7 @@ Chaîne déchiffrée. - Encoding + Encodage Encodage utilisé pour l’interprétation de la chaîne d’entrée. @@ -175,11 +175,11 @@ Représentation de la chaîne Base64 de la chaîne d’entrée chiffrée. - File Path + Chemin du fichier property name - Chemin d’accès au fichier + Chemin du fichier Chemin d’accès du fichier qui sera déchiffré par cette activité. @@ -194,15 +194,15 @@ Représentation de la chaîne hexadécimale de la chaîne d’entrée hachée. - Chemin d’accès d’entrée + Chemin d'entrée property name - Text + Texte property name - Touche + Clé Encodage utilisé pour l’interprétation de la clé et la chaîne d’entrée. @@ -227,22 +227,22 @@ property name - Overwrite + Écraser - Result + Résultat Cryptographie - Système + System - DisplayName + NomComplet property name - ContinueOnError + ContinuerSurErreur \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.ko.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.ko.resx index d20010de7..2e6cf2e79 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.ko.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.ko.resx @@ -145,7 +145,7 @@ 암호가 해독된 문자열입니다. - Encoding + 인코딩 입력 문자열을 해석하기 위해 사용되는 인코딩입니다. @@ -175,7 +175,7 @@ 암호화된 입력 문자열의 base64 문자열 표현입니다. - File Path + 파일 경로 property name @@ -194,11 +194,11 @@ 해시된 입력 문자열의 16진수 문자열 표현입니다. - Input Path + 입력 경로 property name - Text + 텍스트 property name @@ -227,7 +227,7 @@ property name - Overwrite + 덮어쓰기 결과 @@ -239,10 +239,10 @@ 시스템 - DisplayName + 표시 이름 property name - ContinueOnError + 오류 발생 시 계속 진행 \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.pt-BR.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.pt-BR.resx index 9c9527421..b1e64a37e 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.pt-BR.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.pt-BR.resx @@ -145,7 +145,7 @@ A string descriptografada. - Encoding + Codificação A codificação usada para interpretar a string de entrada. @@ -175,11 +175,11 @@ A representação da string base64 da string de entrada criptografada. - File Path + Caminho do arquivo property name - Caminho do Arquivo + Caminho do arquivo Caminho para o arquivo cujo hash será feito por esta atividade. @@ -194,11 +194,11 @@ A representação de string hexadecimal da string de entrada com hash. - Input Path + Caminho de Entrada property name - Text + Texto property name @@ -223,11 +223,11 @@ Codificação de chave - Output Path + Caminho de Saída property name - Overwrite + Substituir Resultado @@ -239,10 +239,10 @@ Sistema - DisplayName + NomeDeExibição property name - ContinueOnError + ContinuarComErro \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.pt.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.pt.resx index 60c013da5..1be77309c 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.pt.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.pt.resx @@ -145,7 +145,7 @@ A cadeia desencriptada. - Encoding + Codificação A codificação utilizada para interpretar a cadeia de entrada. @@ -175,11 +175,11 @@ A representação da cadeia base64 da cadeia de entrada encriptada. - File Path + Caminho do ficheiro property name - Caminho de ficheiro + Caminho do ficheiro Caminho para o ficheiro ao qual será aplicado hash através desta atividade. @@ -194,11 +194,11 @@ A representação da cadeia hexadecimal da cadeia de entrada com hash. - Input Path + Caminho de Entrada property name - Text + Texto property name @@ -223,7 +223,7 @@ Codificação de chave - Output Path + Caminho de Saída property name @@ -239,10 +239,10 @@ Sistema - DisplayName + NomeApresentar property name - ContinueOnError + ContinueNoErro \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.resx index d08a2b96f..ab4705270 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.resx @@ -175,11 +175,11 @@ The base64 string representation of the encrypted input string. - File Path + File path property name - File Path + File path Path to the file that will be hashed by this activity. @@ -194,7 +194,7 @@ The hexadecimal string representation of the hashed input string. - Input Path + Input path property name diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.ru.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.ru.resx index a4914a366..90b03f548 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.ru.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.ru.resx @@ -145,7 +145,7 @@ Расшифрованная строка. - Encoding + Кодировка Кодировка, используемая для интерпретации строки ввода. @@ -175,11 +175,11 @@ Представление строки base64 зашифрованной строки ввода. - File Path + File path property name - Путь к файлу + File path Путь к файлу, который будет хэширован этим действием. @@ -194,11 +194,11 @@ Представление шестнадцатеричной строки хэшированной строки ввода. - Input Path + Input path property name - Text + Текст property name @@ -223,11 +223,11 @@ Кодировка ключей - Output Path + Путь к файлу с выходными данными property name - Overwrite + Перезаписать Результат @@ -239,10 +239,10 @@ Система - DisplayName + ОтображаемоеИмя property name - ContinueOnError + ПродолжитьПриОшибке \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.tr.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.tr.resx index ad9ae34bb..b347c2bc1 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.tr.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.tr.resx @@ -145,7 +145,7 @@ Şifresi çözülmüş dize. - Encoding + Kodlama Giriş dizesini yorumlamak için kullanılan kodlama. @@ -175,11 +175,11 @@ Şifrelenmiş giriş dizesinin base64 dize gösterimi. - File Path + Dosya yolu property name - Dosya Yolu + Dosya yolu Bu etkinlik tarafından karma hale getirilecek dosyanın yolu. @@ -194,11 +194,11 @@ Karma giriş dizesinin on altılık dize gösterimi. - Input Path + Giriş Yolu property name - Text + Metin property name @@ -223,11 +223,11 @@ Anahtar kodlama - Output Path + Çıkış Yolu property name - Overwrite + Üzerine yaz Sonuç @@ -239,10 +239,10 @@ Sistem - DisplayName + GörünenAd property name - ContinueOnError + HataOlduğundaDevamEt \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.zh-TW.resx b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.zh-TW.resx new file mode 100644 index 000000000..3ee6108bd --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/Properties/UiPath.Cryptography.Activities.Design.zh-TW.resx @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 演算法 + + + 用於解譯金鑰的編碼。 + + + 此活動將解密的檔案的路徑。 + + + 用於解密輸入檔的金鑰。 + + + 用於儲存解密檔案的路徑。 + + + 用於解譯輸入字串和金鑰的編碼。 + + + 此活動將解密的字串。 + + + 用於解密輸入字串的金鑰。 + + + 解密的字串。 + + + 編碼中 + + + 用於解譯輸入字串的編碼。 + + + 用於解譯金鑰的編碼。 + + + 此活動將加密的檔案的路徑。 + + + 用於加密輸入檔的金鑰。 + + + 用於儲存加密檔案的路徑。 + + + 用於解譯輸入字串和金鑰的編碼。 + + + 此活動將加密的字串。 + + + 用於加密輸入字串的金鑰。 + + + 經加密的輸入字串的 Base64 字串表示。 + + + 檔路徑 + property name + + + 檔路徑 + + + 此活動將雜湊處理的檔案的路徑。 + + + 雜湊檔案的十六進位字串表示。 + + + 此活動將進行雜湊處理的字串。 + + + 經雜湊處理的輸入字串的十六進位字串表示。 + + + 輸入路徑 + property name + + + 文字 + property name + + + 金鑰 + + + 用於解譯輸入字串和金鑰的編碼。 + + + 用於解譯金鑰的編碼。 + + + 用於雜湊處理提供的檔案的金鑰。 + + + 雜湊檔案的十六進位字串表示。 + + + 用於雜湊處理輸入字串的金鑰。 + + + 金鑰編碼 + + + 輸出路徑 + property name + + + 覆寫 + + + 結果 + + + 密碼編譯 + + + 系統 + + + 顯示名稱 + property name + + + 錯誤時繼續 + + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/UiPath.Cryptography.Activities.Design.csproj b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/UiPath.Cryptography.Activities.Design.csproj index cdf8416c4..d35901792 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Design/UiPath.Cryptography.Activities.Design.csproj +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Design/UiPath.Cryptography.Activities.Design.csproj @@ -1,65 +1,66 @@  - - - net461;net5.0-windows - $(ProjectDir)..\..\Output\Activities\Cryptography\ - true - - - - - - - - - - - - - - - - - - - - FilePathControl.xaml - - - - True - True - UiPath.Cryptography.Activities.Design.resx - - - - - - - - - Controls\FilePathControl.xaml - MSBuild:Compile - Designer - - - Themes\Generic.xaml - MSBuild:Compile - Designer - + + + + net461;net6.0-windows + $(ProjectDir)..\..\Output\Activities\Cryptography\ + true + + + + + + + + + + + + + + + + + + + + FilePathControl.xaml + - - UiPath.Cryptography.Activities.Design.resx - - - UiPath.Cryptography.Activities.Design.resx - - - UiPath.Cryptography.Activities.Design.resx - - - PublicResXFileCodeGenerator - UiPath.Cryptography.Activities.Design.Designer.cs - - + + True + True + UiPath.Cryptography.Activities.Design.resx + + + + + + + + + Controls\FilePathControl.xaml + MSBuild:Compile + Designer + + + Themes\Generic.xaml + MSBuild:Compile + Designer + + + + UiPath.Cryptography.Activities.Design.resx + + + UiPath.Cryptography.Activities.Design.resx + + + UiPath.Cryptography.Activities.Design.resx + + + PublicResXFileCodeGenerator + UiPath.Cryptography.Activities.Design.Designer.cs + + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Packaging/UiPath.Cryptography.Activities.Packaging.csproj b/Activities/Cryptography/UiPath.Cryptography.Activities.Packaging/UiPath.Cryptography.Activities.Packaging.csproj index 9b3ec2df0..0e853e932 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Packaging/UiPath.Cryptography.Activities.Packaging.csproj +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Packaging/UiPath.Cryptography.Activities.Packaging.csproj @@ -1,7 +1,7 @@  - net461;net5.0-windows;net5.0 + net461;net6.0-windows;net6.0 ..\..\Output\Activities\Cryptography\ @@ -23,6 +23,35 @@ OnBuildSuccess + + + All + + + + + + All + + + + + + + + + + + + + + + + + + + + @@ -50,6 +79,7 @@ + @@ -62,8 +92,9 @@ + - + @@ -77,28 +108,15 @@ + + - - - - - + + + + + - - - - All - - - - - All - - - - - - \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.objects/.metadata b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.objects/.metadata new file mode 100644 index 000000000..f14fb06df --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.objects/.metadata @@ -0,0 +1,9 @@ +{ + "Type": "Library", + "Id": "d6JZwcL_u069vw4ZTdXcMg", + "Created": "2024-06-03T11:18:55.1738682Z", + "Updated": "2024-06-03T11:18:55.1738682Z", + "CreatedBy": [ + "UiPath.Platform, Version=24.2.0.0, Culture=neutral, PublicKeyToken=null" + ] +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.objects/.type b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.objects/.type new file mode 100644 index 000000000..729bdde6f --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.objects/.type @@ -0,0 +1 @@ +Library \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.project/PackageBindingsMetadata.json b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.project/PackageBindingsMetadata.json new file mode 100644 index 000000000..0e6e47307 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.project/PackageBindingsMetadata.json @@ -0,0 +1,589 @@ +{ + "ActivityBindings": { + "UiPath.Core.Activities.AddAndProcessQueueItem": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "QueueType", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.AddQueueItem": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "QueueType", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.AddTransactionItem": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "QueueType", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.BulkAddQueueItems": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "QueueName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.DeleteQueueItems": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.GetJobs": [ + { + "Type": "process", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.GetQueueItem": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "QueueType", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.GetQueueItems": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "QueueName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.GetRobotAsset": [ + { + "Type": "asset", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "AssetName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.GetRobotCredential": [ + { + "Type": "asset", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "AssetName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.InvokeProcess": [ + { + "Type": "process", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "ProcessName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.PostponeTransactionItem": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.QueueTrigger": [ + { + "Type": "QueueTrigger", + "PublishNullValues": false, + "Key": { + "Value": "BindingsKey", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "QueueName", + "ValueSource": "Property" + } + }, + "Arguments": { + "ItemsActivationThreshold": { + "Value": "ItemsActivationThreshold", + "ValueSource": "Property" + }, + "ItemsPerJobActivationTarget": { + "Value": "ItemsPerJobActivationTarget", + "ValueSource": "Property" + }, + "MaxJobsForActivation": { + "Value": "MaxJobsForActivation", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.SetAsset": [ + { + "Type": "asset", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "AssetName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.SetCredential": [ + { + "Type": "asset", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "CredentialName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.SetTransactionProgress": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.SetTransactionStatus": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.StartJob": [ + { + "Type": "process", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "ProcessName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.StopJob": [ + { + "Type": "process", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.Storage.DeleteStorageFile": [ + { + "Type": "bucket", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "StorageBucketName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.Storage.DownloadStorageFile": [ + { + "Type": "bucket", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "StorageBucketName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.Storage.ListStorageFiles": [ + { + "Type": "bucket", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "StorageBucketName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.Storage.ReadStorageText": [ + { + "Type": "bucket", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "StorageBucketName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.Storage.UploadStorageFile": [ + { + "Type": "bucket", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "StorageBucketName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.Storage.WriteStorageText": [ + { + "Type": "bucket", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "StorageBucketName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.TimeTrigger": [ + { + "Type": "TimeTrigger", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": {}, + "Arguments": { + "TimeZone": { + "Value": "TimeZone", + "ValueSource": "Property" + }, + "CronExpression": { + "Value": "CronExpression", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ], + "UiPath.Core.Activities.WaitQueueItem": [ + { + "Type": "queue", + "PublishNullValues": false, + "Key": { + "Value": "N/A", + "ValueSource": "Property" + }, + "Values": { + "folderPath": { + "Value": "FolderPath", + "ValueSource": "Property" + }, + "name": { + "Value": "QueueName", + "ValueSource": "Property" + } + }, + "SubBindings": [], + "DefaultValueSource": "Property" + } + ] + } +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.project/design.json b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.project/design.json new file mode 100644 index 000000000..fab683570 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.project/design.json @@ -0,0 +1,5 @@ +{ + "Tags": [], + "SeparateRuntimeDependencies": true, + "IncludeSources": true +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.settings/Design/settings-a1b2dac1.json b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.settings/Design/settings-a1b2dac1.json new file mode 100644 index 000000000..b3d79bae0 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.settings/Design/settings-a1b2dac1.json @@ -0,0 +1,13 @@ +{ + "UiPath.UIAutomationNext.Activities.Generic.CaptureScreenshots": "True", + "UiPath.UIAutomationNext.Activities.SearchStepsWeb.EdgeInteractionMode": "DebuggerApi", + "UiPath.UIAutomationNext.Activities.SearchStepsWeb.FullSelector": "False", + "UiPath.UIAutomationNext.Activities.SearchStepsWeb.FuzzySelector": "True", + "UiPath.UIAutomationNext.Activities.SearchStepsWeb.ComputerVision": "True", + "UiPath.UIAutomationNext.Activities.SearchStepsWeb.IgnoreSelectorsWithIdx": "True", + "UiPath.UIAutomationNext.Activities.SearchStepsSAP.InteractionMode": "Simulate", + "UiPath.UIAutomationNext.Activities.SearchStepsSAP.FullSelector": "True", + "UiPath.UIAutomationNext.Activities.SearchStepsSAP.FuzzySelector": "False", + "UiPath.UIAutomationNext.Activities.SearchStepsSAP.ComputerVision": "False", + "UiPath.UIAutomationNext.Activities.SearchStepsSAP.IgnoreSelectorsWithIdx": "True" +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.tmh/config.json b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.tmh/config.json new file mode 100644 index 000000000..a7e2266af --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/.tmh/config.json @@ -0,0 +1,3 @@ +{ + "issueKeyTestcaseValues": {} +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/Tests/SampleTest.xaml b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/Tests/SampleTest.xaml new file mode 100644 index 000000000..47ef22254 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/Tests/SampleTest.xaml @@ -0,0 +1,143 @@ + + + + System.Activities + System.Activities.Statements + System.Activities.Expressions + System.Activities.Validation + System.Activities.XamlIntegration + Microsoft.VisualBasic + Microsoft.VisualBasic.Activities + System + System.Collections + System.Collections.Generic + System.Collections.ObjectModel + System.Data + System.Diagnostics + System.Linq + System.Net.Mail + System.Xml + System.Text + System.Xml.Linq + UiPath.Core + UiPath.Core.Activities + System.Windows.Markup + GlobalVariablesNamespace + GlobalConstantsNamespace + UiPath.Cryptography + UiPath.Cryptography.Enums + System.Security + System.Reflection + UiPath.Cryptography.Activities + System.Linq.Expressions + System.Runtime.Serialization + + + + + Microsoft.CSharp + Microsoft.VisualBasic + System + System.Activities + System.ComponentModel.TypeConverter + System.Core + System.Data + System.Data.Common + System.Linq + System.Net.Mail + System.ObjectModel + System.Private.CoreLib + System.Runtime.Serialization + System.ServiceModel + System.ServiceModel.Activities + System.Xaml + System.Xml + System.Xml.Linq + UiPath.System.Activities + UiPath.UiAutomation.Activities + UiPath.Studio.Constants + UiPath.Cryptography + System.Runtime.InteropServices + System.Reflection.DispatchProxy + System.Reflection.TypeExtensions + System.Reflection.Metadata + UiPath.Cryptography.Activities + System.Console + System.ComponentModel + System.Memory + System.Private.Uri + System.Collections + System.Collections.NonGeneric + System.Linq.Expressions + System.Runtime.Serialization.Formatters + System.Private.DataContractSerialization + System.Runtime.Serialization.Primitives + + + + + + + + + True + + + + + + generatedHash + + + + + + + UiPath.Core.Activities.LogLevel.Warn + + + + + "Generated hash: " + generatedHash + + + + + + + generatedHash.ToString() != "9A61F66E5A68C217390B7C2191AD97277C7FB736D5B60EA8C5B338E506DB117B" + + + + + False + False + + + + + + + True + + + + + new Exception("Hashes don't match!") + + + + + + + + + False + False + + + + + + + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/Tests/SampleTest.xaml.json b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/Tests/SampleTest.xaml.json new file mode 100644 index 000000000..abd844aad --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/Tests/SampleTest.xaml.json @@ -0,0 +1,8 @@ +{ + "DisplayName": "SampleTest", + "Tooltip": null, + "HelpLink": null, + "Color": null, + "OriginalIconFileName": null, + "Arguments": [] +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/project.json b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/project.json new file mode 100644 index 000000000..3095b7e7a --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/project.json @@ -0,0 +1,59 @@ +{ + "name": "UiPath.Cryptography.Activities.RuntimeTests", + "projectId": "beaf7bb8-edd7-4c0d-af97-9f2fd788eba3", + "description": "Project containing runtime tests for Cryptography activities.", + "main": "Tests\\SampleTest.xaml", + "dependencies": { + "UiPath.Cryptography.Activities": "[1.5.0]", + "UiPath.System.Activities": "[24.2.0-preview]" + }, + "webServices": [], + "entitiesStores": [], + "schemaVersion": "4.0", + "studioVersion": "24.2.1.0", + "projectVersion": "1.0.0", + "runtimeOptions": { + "autoDispose": false, + "netFrameworkLazyLoading": false, + "isPausable": true, + "isAttended": false, + "requiresUserInteraction": false, + "supportsPersistence": false, + "workflowSerialization": "DataContract", + "excludedLoggedData": [ + "Private:*", + "*password*" + ], + "executionType": "Workflow", + "readyForPiP": false, + "startsInPiP": false, + "mustRestoreAllDependencies": true, + "pipType": "ChildSession" + }, + "designOptions": { + "projectProfile": "Developement", + "outputType": "Process", + "libraryOptions": { + "includeOriginalXaml": false, + "privateWorkflows": [] + }, + "processOptions": { + "ignoredFiles": [] + }, + "fileInfoCollection": [], + "saveToCloud": false + }, + "expressionLanguage": "CSharp", + "entryPoints": [ + { + "filePath": "Tests\\SampleTest.xaml", + "uniqueId": "7d4e4ba5-4eb3-42b0-acb3-25aac76f58a2", + "input": [], + "output": [] + } + ], + "isTemplate": false, + "templateProjectData": {}, + "publishData": {}, + "targetFramework": "Portable" +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/CryptographyTests.cs b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/CryptographyTests.cs index 1a9c60fe6..e0749e838 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/CryptographyTests.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/CryptographyTests.cs @@ -1,12 +1,14 @@ -using Microsoft.Activities.UnitTesting; -using System; +using System; using System.Activities; using System.Activities.Expressions; using System.Collections.Generic; using System.Security; using System.Text; +using UiPath.Cryptography.Enums; using Xunit; +#pragma warning disable CS0618 + namespace UiPath.Cryptography.Activities.Tests { public class CryptographyTests @@ -32,8 +34,8 @@ public void HashAlgorithmsMatch(HashAlgorithms enumValue) Dictionary arguments = new Dictionary(); arguments.Add(nameof(HashText.Input), toHash); - WorkflowInvokerTest invoker = new WorkflowInvokerTest(hash); - string activityString = (string)invoker.TestActivity(arguments)[nameof(hash.Result)]; + WorkflowInvoker invoker = new WorkflowInvoker(hash); + string activityString = (string)invoker.Invoke(arguments)[nameof(hash.Result)]; byte[] algorithmBytes = CryptographyHelper.HashData(enumValue, Encoding.Unicode.GetBytes(toHash)); @@ -60,7 +62,8 @@ public void KeyedHashAlgorithmsMatch(KeyedHashAlgorithms enumValue) KeyedHashText keyedHash = new KeyedHashText { Algorithm = enumValue, - Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)) + Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)), + KeyEncodingString = null // see the ctor of KeyedHashText }; Dictionary arguments = new Dictionary(); arguments.Add(nameof(KeyedHashText.Input), toHash); @@ -89,7 +92,8 @@ public void SymmetricAlgorithmsEncryptionMatches(SymmetricAlgorithms enumValue) EncryptText symmetricAlgorithm = new EncryptText { Algorithm = enumValue, - Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)) + Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)), + KeyEncodingString = null // see the ctor of EncryptText }; Dictionary arguments = new Dictionary(); arguments.Add(nameof(EncryptText.Input), toProcess); @@ -120,7 +124,8 @@ public void SymmetricAlgorithmsDecryptionMatches(SymmetricAlgorithms enumValue) DecryptText symmetricAlgorithm = new DecryptText { Algorithm = enumValue, - Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)) + Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)), + KeyEncodingString = null // see the ctor of DecryptText }; Dictionary arguments = new Dictionary(); @@ -162,7 +167,9 @@ public void KeyedHashAlgorithmsMatchWithSecureString(KeyedHashAlgorithms enumVal KeyedHashText keyedHash = new KeyedHashText { Algorithm = enumValue, - Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)) + Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)), + KeyInputModeSwitch = KeyInputMode.SecureKey, + KeyEncodingString = null // see ctor for KeyedHashText }; Dictionary arguments = new Dictionary(); arguments.Add(nameof(KeyedHashText.Input), toHash); @@ -192,7 +199,9 @@ public void SymmetricAlgorithmsEncryptionMatchesWithSecureString(SymmetricAlgori EncryptText symmetricAlgorithm = new EncryptText { Algorithm = enumValue, - Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)) + Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)), + KeyInputModeSwitch = KeyInputMode.SecureKey, + KeyEncodingString = null // see the ctor of EncryptText }; Dictionary arguments = new Dictionary(); arguments.Add(nameof(EncryptText.Input), toProcess); @@ -223,7 +232,9 @@ public void SymmetricAlgorithmsDecryptionMatchesWithSecureString(SymmetricAlgori DecryptText symmetricAlgorithm = new DecryptText { Algorithm = enumValue, - Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)) + Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.Unicode)), + KeyInputModeSwitch = KeyInputMode.SecureKey, + KeyEncodingString = null // see the ctor of DecryptText }; Dictionary arguments = new Dictionary(); diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/DecryptFileTests.cs b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/DecryptFileTests.cs new file mode 100644 index 000000000..eaafbc911 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/DecryptFileTests.cs @@ -0,0 +1,70 @@ +using Shouldly; +using System; +using System.Activities; +using System.Security; +using Xunit; + +namespace UiPath.Cryptography.Activities.Tests +{ + public class DecryptFileTests + { + [Fact] + public void DecryptFile_WithBothFileAndFilePath_Throws() + { + // Arrange + var decryptFile = new DecryptFile + { + InputFile = new InArgument(), + InputFilePath = new InArgument("file"), + Key = new InArgument("key") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(decryptFile), typeof(ArgumentException)); + } + + [Fact] + public void DecryptFile_WithoutFileAndFilePath_Throws() + { + // Arrange + var decryptFile = new DecryptFile + { + Key = new InArgument("key") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(decryptFile), typeof(ArgumentException)); + } + + [Fact] + public void DecryptFile_WithBothKeyAndSecureKey_Throws() + { + // Arrange + var secureString = new SecureString(); + secureString.AppendChar('k'); + + var decryptFile = new DecryptFile + { + InputFilePath = new InArgument("file"), + Key = new InArgument("key"), + KeySecureString = new InArgument((_) => secureString) + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(decryptFile), typeof(ArgumentException)); + } + + [Fact] + public void DecryptFile_WithoutKeyAndSecureKey_Throws() + { + // Arrange + var decryptFile = new DecryptFile + { + InputFilePath = new InArgument("file") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(decryptFile), typeof(ArgumentNullException)); + } + } +} diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/EncryptFileTests.cs b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/EncryptFileTests.cs new file mode 100644 index 000000000..ff5aa9dbd --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/EncryptFileTests.cs @@ -0,0 +1,137 @@ +using Shouldly; +using System; +using System.Activities; +using System.Activities.Statements; +using System.IO; +using System.Security; +using UiPath.Cryptography.Enums; +using Xunit; + +namespace UiPath.Cryptography.Activities.Tests +{ + public class EncryptFileTests + { + [Theory] + [InlineData(false)] + [InlineData(true)] + public void EncryptDecryptFile_HappyPath_Works(bool withOutputOverwrite) + { + var tempInputFile = Path.GetTempFileName(); + var tempOutputFile = Path.GetTempFileName(); + var tempOutputFile2 = Path.GetTempFileName(); + + try + { + // Arrange + var message = "Hello cryptography world"; + File.WriteAllText(tempInputFile, message); + if (!withOutputOverwrite) + { + File.Delete(tempOutputFile); // should not exist yet + File.Delete(tempOutputFile2); // should not exist yet + } + + var encryptFile = new EncryptFile + { + InputFilePath = new InArgument(tempInputFile), + Key = new InArgument("key"), + Algorithm = SymmetricAlgorithms.AESGCM, + OutputFilePath = new InArgument(tempOutputFile), + KeyInputModeSwitch = KeyInputMode.Key, + Overwrite = withOutputOverwrite + }; + + var decryptFile = new DecryptFile + { + InputFilePath = new InArgument(tempOutputFile), + Key = new InArgument("key"), + Algorithm = SymmetricAlgorithms.AESGCM, + OutputFilePath = new InArgument(tempOutputFile2), + KeyInputModeSwitch = KeyInputMode.Key, + Overwrite = withOutputOverwrite + }; + + var sequence = new Sequence(); + sequence.Activities.Add(encryptFile); + sequence.Activities.Add(decryptFile); + + // Act + WorkflowInvoker.Invoke(sequence); + + // Assert + var outputMessage = File.ReadAllText(tempOutputFile2); + outputMessage.ShouldBe(message); + } + catch (Exception ex) + { + Assert.True(false, ex.ToString()); + } + finally + { + // Cleanup + File.Delete(tempInputFile); + File.Delete(tempOutputFile); + File.Delete(tempOutputFile2); + } + } + + [Fact] + public void EncryptFile_WithBothFileAndFilePath_Throws() + { + // Arrange + var encryptFile = new EncryptFile + { + InputFile = new InArgument(), + InputFilePath = new InArgument("file"), + Key = new InArgument("key") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(encryptFile), typeof(ArgumentException)); + } + + [Fact] + public void EncryptFile_WithoutFileAndFilePath_Throws() + { + // Arrange + var encryptFile = new EncryptFile + { + Key = new InArgument("key") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(encryptFile), typeof(ArgumentException)); + } + + [Fact] + public void EncryptFile_WithBothKeyAndSecureKey_Throws() + { + // Arrange + var secureString = new SecureString(); + secureString.AppendChar('k'); + + var encryptFile = new EncryptFile + { + InputFilePath = new InArgument("file"), + Key = new InArgument("key"), + KeySecureString = new InArgument((_) => secureString) + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(encryptFile), typeof(ArgumentException)); + } + + [Fact] + public void EncryptFile_WithoutKeyAndSecureKey_Throws() + { + // Arrange + var encryptFile = new EncryptFile + { + InputFilePath = new InArgument("file") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(encryptFile), typeof(ArgumentNullException)); + } + } +} diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/KeyedHashFileTests.cs b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/KeyedHashFileTests.cs new file mode 100644 index 000000000..77a841f0d --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/KeyedHashFileTests.cs @@ -0,0 +1,70 @@ +using Shouldly; +using System; +using System.Activities; +using System.Security; +using Xunit; + +namespace UiPath.Cryptography.Activities.Tests +{ + public class KeyedHashFileTests + { + [Fact] + public void KeyedHashFile_WithBothFileAndFilePath_Throws() + { + // Arrange + var decryptFile = new KeyedHashFile + { + InputFile = new InArgument(), + FilePath = new InArgument("file"), + Key = new InArgument("key") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(decryptFile), typeof(ArgumentException)); + } + + [Fact] + public void KeyedHashFile_WithoutFileAndFilePath_Throws() + { + // Arrange + var decryptFile = new KeyedHashFile + { + Key = new InArgument("key") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(decryptFile), typeof(ArgumentException)); + } + + [Fact] + public void KeyedHashFile_WithBothKeyAndSecureKey_Throws() + { + // Arrange + var secureString = new SecureString(); + secureString.AppendChar('k'); + + var decryptFile = new KeyedHashFile + { + FilePath = new InArgument("file"), + Key = new InArgument("key"), + KeySecureString = new InArgument((_) => secureString) + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(decryptFile), typeof(ArgumentException)); + } + + [Fact] + public void KeyedHashFile_WithoutKeyAndSecureKey_Throws() + { + // Arrange + var decryptFile = new KeyedHashFile + { + FilePath = new InArgument("file") + }; + + // Act + Assert + Should.Throw(() => WorkflowInvoker.Invoke(decryptFile), typeof(ArgumentNullException)); + } + } +} diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/UiPath.Cryptography.Activities.Tests.csproj b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/UiPath.Cryptography.Activities.Tests.csproj index a9ef97de7..a215c7c72 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/UiPath.Cryptography.Activities.Tests.csproj +++ b/Activities/Cryptography/UiPath.Cryptography.Activities.Tests/UiPath.Cryptography.Activities.Tests.csproj @@ -1,39 +1,39 @@  - - Any CPU - {32563B0E-C9B0-468F-85CC-04BB4802FE37} - net461;net5.0-windows - UiPath.Cryptography.Activities.Tests - UiPath.Cryptography.Activities.Tests - Copyright © 2018 - ..\..\OutputTests\Cryptography\ - - - - - - - - - - - - - - - - - - - - - - - - - - - all - - + + Any CPU + {32563B0E-C9B0-468F-85CC-04BB4802FE37} + net461;net6.0-windows + UiPath.Cryptography.Activities.Tests + UiPath.Cryptography.Activities.Tests + Copyright © 2018 + ..\..\OutputTests\Cryptography\ + true + + + + + + + + + + + + + + + + + + + + + + + + + + all + + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/DecryptFile.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/DecryptFile.cs index af5810e8e..4a6ba6382 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/DecryptFile.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/DecryptFile.cs @@ -8,22 +8,29 @@ using System.Security; using System.Security.Cryptography; using System.Text; +using UiPath.Cryptography.Activities.Helpers; +using UiPath.Cryptography.Activities.Models; using UiPath.Cryptography.Activities.Properties; using UiPath.Cryptography.Enums; +using UiPath.Platform.ResourceHandling; + +#pragma warning disable CS0618 // obsolete encryption algorithm namespace UiPath.Cryptography.Activities { [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Name))] [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Description))] - public partial class DecryptFile : CodeActivity + public class DecryptFile : CodeActivity { + private const string Decrypted = "_Decrypted"; + [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_Algorithm_Name))] [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_Algorithm_Description))] public SymmetricAlgorithms Algorithm { get; set; } - [RequiredArgument] + [OverloadGroup(nameof(InputFilePath))] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_InputFilePath_Name))] [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_InputFilePath_Description))] @@ -45,18 +52,30 @@ public partial class DecryptFile : CodeActivity [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_KeySecureString_Description))] public InArgument KeySecureString { get; set; } - [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_KeyEncoding_Name))] [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_KeyEncoding_Description))] public InArgument KeyEncoding { get; set; } - [RequiredArgument] + [Browsable(false)] + public InArgument KeyEncodingString { get; set; } + + [Browsable(false)] + [LocalizedCategory(nameof(Resources.Input))] + [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_FileInputModeSwitch_Name))] + [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_FileInputModeSwitch_Description))] + public FileInputMode FileInputModeSwitch { get; set; } + [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_OutputFilePath_Name))] [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_OutputFilePath_Description))] public InArgument OutputFilePath { get; set; } + [LocalizedCategory(nameof(Resources.Input))] + [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_OutputFileName_Name))] + [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_OutputFileName_Description))] + public InArgument OutputFileName { get; set; } + [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_Overwrite_Name))] @@ -69,10 +88,33 @@ public partial class DecryptFile : CodeActivity [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_ContinueOnError_Description))] public InArgument ContinueOnError { get; set; } + [Browsable(false)] + [RequiredArgument] + [OverloadGroup(nameof(InputFile))] + [DefaultValue(null)] + [LocalizedCategory(nameof(Resources.Input))] + [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_InputFile_Name))] + [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_InputFile_Description))] + public InArgument InputFile { get; set; } + + [Browsable(false)] + [DefaultValue(null)] + [LocalizedCategory(nameof(Resources.Output))] + [LocalizedDisplayName(nameof(Resources.Activity_DecryptFile_Property_DecryptedFile_Name))] + [LocalizedDescription(nameof(Resources.Activity_DecryptFile_Property_DecryptedFile_Description))] + public OutArgument DecryptedFile { get; set; } + public DecryptFile() { Algorithm = SymmetricAlgorithms.AESGCM; +#if NET461 + //we only use this on legacy KeyEncoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.UTF8)); +#endif +#if NET + //for modern and cross projects + KeyEncodingString = Encoding.UTF8.CodePage.ToString(); +#endif } protected override void CacheMetadata(CodeActivityMetadata metadata) @@ -81,52 +123,69 @@ protected override void CacheMetadata(CodeActivityMetadata metadata) if (!CryptographyHelper.IsFipsCompliant(Algorithm)) { - ValidationError error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + var error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + metadata.AddValidationError(error); + } +#if NET + if (Key == null && KeyInputModeSwitch == KeyInputMode.Key) + { + var error = new ValidationError(Resources.KeyNullError, false, nameof(Key)); + metadata.AddValidationError(error); + } + if (KeySecureString == null && KeyInputModeSwitch == KeyInputMode.SecureKey) + { + var error = new ValidationError(Resources.KeySecureStringNullError, false, nameof(KeySecureString)); metadata.AddValidationError(error); } +#endif } protected override void Execute(CodeActivityContext context) { try { - string inputFilePath = InputFilePath.Get(context); - string outputFilePath = OutputFilePath.Get(context); - string key = Key.Get(context); - SecureString keySecureString = KeySecureString.Get(context); - Encoding keyEncoding = KeyEncoding.Get(context); - - if (string.IsNullOrWhiteSpace(inputFilePath)) + var inputFilePath = InputFilePath.Get(context); + var inputFile = InputFile.Get(context); + var outputFilePath = OutputFilePath.Get(context); + var outputFileName = OutputFileName.Get(context); + var key = Key.Get(context); + var keySecureString = KeySecureString.Get(context); + var keyEncoding = KeyEncoding.Get(context); + var keyEncodingString = KeyEncodingString.Get(context); +#if NET + if (string.IsNullOrWhiteSpace(key) && KeyInputModeSwitch == KeyInputMode.Key) { - throw new ArgumentNullException(Resources.InputFilePathDisplayName); + throw new ArgumentNullException(Resources.Activity_DecryptFile_Property_Key_Name); } - if (string.IsNullOrWhiteSpace(outputFilePath)) + if ((keySecureString == null || keySecureString?.Length == 0) && KeyInputModeSwitch == KeyInputMode.SecureKey) { - throw new ArgumentNullException(Resources.OutputFilePathDisplayName); + throw new ArgumentNullException(Resources.Activity_DecryptFile_Property_KeySecureString_Name); } - if (string.IsNullOrWhiteSpace(key) && keySecureString == null) +#endif + +#if NET461 + if (string.IsNullOrWhiteSpace(key) && (keySecureString == null || keySecureString?.Length == 0)) { throw new ArgumentNullException(Resources.KeyAndSecureStringNull); } - if (key != null && keySecureString != null) - { - throw new ArgumentNullException(Resources.KeyAndSecureStringNotNull); - } - if (keyEncoding == null) - { - throw new ArgumentNullException(Resources.Encoding); - } - if (!File.Exists(inputFilePath)) - { +#endif + if (keyEncoding == null && string.IsNullOrEmpty(keyEncodingString)) throw new ArgumentNullException(Resources.Encoding); + + if (!File.Exists(inputFilePath) && inputFile == null) throw new ArgumentException(Resources.FileDoesNotExistsException, Resources.InputFilePathDisplayName); - } + // Because we use File.WriteAllText below, we don't need to delete the file now. if (File.Exists(outputFilePath) && !Overwrite) - { throw new ArgumentException(Resources.FileAlreadyExistsException, Resources.OutputFilePathDisplayName); - } - byte[] encrypted = File.ReadAllBytes(inputFilePath); + if (inputFile != null && inputFile.IsFolder) + throw new ArgumentException(Resources.Exception_UseOnlyFilesNotFolders); + + var result = FilePathHelpers.GetDefaultFileNameAndLocation(inputFile, inputFilePath, outputFileName, Overwrite, outputFilePath, Decrypted); + + keyEncoding = EncodingHelpers.KeyEncodingOrString(keyEncoding, keyEncodingString); + + var encrypted = File.ReadAllBytes(result.Item3); byte[] decrypted = null; try @@ -138,8 +197,31 @@ protected override void Execute(CodeActivityContext context) throw new InvalidOperationException(Resources.GenericCryptographicException, ex); } + if (string.IsNullOrEmpty(outputFilePath)) + { + var item = new CryptographyLocalItem(decrypted, result.Item1, result.Item2); + + DecryptedFile.Set(context, item); + + outputFilePath = item.LocalPath; + } + else + { + var directory = Path.GetDirectoryName(outputFilePath); + + if (!string.IsNullOrEmpty(directory)) + { + Directory.CreateDirectory(directory); + } + + var item = new CryptographyLocalItem(decrypted, Path.GetFileName(outputFilePath), outputFilePath); + + DecryptedFile.Set(context, item); + } + // This overwrites the file if it already exists. File.WriteAllBytes(outputFilePath, decrypted); + } catch (Exception ex) { diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/DecryptText.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/DecryptText.cs index aabe20ca0..9dd178cab 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/DecryptText.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/DecryptText.cs @@ -4,13 +4,15 @@ using System.Activities.Validation; using System.ComponentModel; using System.Diagnostics; -using System.Net; using System.Security; using System.Security.Cryptography; using System.Text; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Activities.Properties; using UiPath.Cryptography.Enums; +#pragma warning disable CS0618 // obsolete encryption algorithm + namespace UiPath.Cryptography.Activities { [LocalizedDisplayName(nameof(Resources.Activity_DecryptText_Name))] @@ -45,12 +47,14 @@ public partial class DecryptText : CodeActivity [LocalizedDescription(nameof(Resources.Activity_DecryptText_Property_KeySecureString_Description))] public InArgument KeySecureString { get; set; } - [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_DecryptText_Property_Encoding_Name))] [LocalizedDescription(nameof(Resources.Activity_DecryptText_Property_Encoding_Description))] public InArgument Encoding { get; set; } + [Browsable(false)] + public InArgument KeyEncodingString { get; set; } + [LocalizedCategory(nameof(Resources.Output))] [LocalizedDisplayName(nameof(Resources.Activity_DecryptText_Property_Result_Name))] [LocalizedDescription(nameof(Resources.Activity_DecryptText_Property_Result_Description))] @@ -65,7 +69,15 @@ public partial class DecryptText : CodeActivity public DecryptText() { Algorithm = SymmetricAlgorithms.AESGCM; +#if NET461 + //we only use this on legacy Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.UTF8)); +#endif +#if NET + //for modern and cross projects + KeyEncodingString = System.Text.Encoding.UTF8.CodePage.ToString(); +#endif + } protected override void CacheMetadata(CodeActivityMetadata metadata) @@ -76,13 +88,25 @@ protected override void CacheMetadata(CodeActivityMetadata metadata) { case SymmetricAlgorithms.RC2: case SymmetricAlgorithms.Rijndael: - ValidationError error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + var error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); metadata.AddValidationError(error); break; default: break; } +#if NET + if (Key == null && KeyInputModeSwitch == KeyInputMode.Key) + { + var error = new ValidationError(Resources.KeyNullError, false, nameof(Key)); + metadata.AddValidationError(error); + } + if (KeySecureString == null && KeyInputModeSwitch == KeyInputMode.SecureKey) + { + var error = new ValidationError(Resources.KeySecureStringNullError, false, nameof(KeySecureString)); + metadata.AddValidationError(error); + } +#endif } protected override string Execute(CodeActivityContext context) @@ -91,27 +115,35 @@ protected override string Execute(CodeActivityContext context) try { - string input = Input.Get(context); - string key = Key.Get(context); - SecureString keySecureString = KeySecureString.Get(context); - Encoding keyEncoding = Encoding.Get(context); + var input = Input.Get(context); + var key = Key.Get(context); + var keySecureString = KeySecureString.Get(context); + var keyEncoding = Encoding.Get(context); + var keyEncodingString = KeyEncodingString.Get(context); if (string.IsNullOrWhiteSpace(input)) - { throw new ArgumentNullException(Resources.InputStringDisplayName); - } - if (string.IsNullOrWhiteSpace(key) && keySecureString == null) +#if NET + if (string.IsNullOrWhiteSpace(key) && KeyInputModeSwitch == KeyInputMode.Key) { - throw new ArgumentNullException(Resources.KeyAndSecureStringNull); + throw new ArgumentNullException(Resources.Activity_KeyedHashText_Property_Key_Name); } - if (key != null && keySecureString != null) + if ((keySecureString == null || keySecureString?.Length == 0) && KeyInputModeSwitch == KeyInputMode.SecureKey) { - throw new ArgumentNullException(Resources.KeyAndSecureStringNotNull); + throw new ArgumentNullException(Resources.Activity_KeyedHashText_Property_KeySecureString_Name); } - if (keyEncoding == null) +#endif + +#if NET461 + if (string.IsNullOrWhiteSpace(key) && (keySecureString == null || keySecureString?.Length == 0)) { - throw new ArgumentNullException(Resources.Encoding); + throw new ArgumentNullException(Resources.KeyAndSecureStringNull); } +#endif + if (keyEncoding == null && string.IsNullOrEmpty(keyEncodingString)) + throw new ArgumentNullException(Resources.Encoding); + + keyEncoding = EncodingHelpers.KeyEncodingOrString(keyEncoding, keyEncodingString); byte[] decrypted = null; try diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/EncryptFile.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/EncryptFile.cs index 2fca5b9e0..08935f5ac 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/EncryptFile.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/EncryptFile.cs @@ -5,25 +5,44 @@ using System.ComponentModel; using System.Diagnostics; using System.IO; -using System.Net; using System.Security; using System.Text; +using UiPath.Cryptography.Activities.Helpers; +using UiPath.Cryptography.Activities.Models; using UiPath.Cryptography.Activities.Properties; using UiPath.Cryptography.Enums; +using UiPath.Platform.ResourceHandling; + +#pragma warning disable CS0618 // obsolete encryption algorithm namespace UiPath.Cryptography.Activities { [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Name))] [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Description))] - public partial class EncryptFile : CodeActivity + public class EncryptFile : CodeActivity { + private const string Encrypted = "_Encrypted"; + + public EncryptFile() + { + Algorithm = SymmetricAlgorithms.AESGCM; +#if NET461 + //we only use this on legacy + KeyEncoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.UTF8)); +#endif +#if NET + //for modern and cross projects + KeyEncodingString = Encoding.UTF8.CodePage.ToString(); +#endif + } + [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_Algorithm_Name))] [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_Algorithm_Description))] public SymmetricAlgorithms Algorithm { get; set; } - [RequiredArgument] + [OverloadGroup(nameof(InputFilePath))] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_InputFilePath_Name))] [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_InputFilePath_Description))] @@ -34,6 +53,12 @@ public partial class EncryptFile : CodeActivity [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_Key_Description))] public InArgument Key { get; set; } + [Browsable(false)] + [LocalizedCategory(nameof(Resources.Input))] + [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_FileInputModeSwitch_Name))] + [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_FileInputModeSwitch_Description))] + public FileInputMode FileInputModeSwitch { get; set; } + [Browsable(false)] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_KeyInputModeSwitch_Name))] @@ -45,18 +70,24 @@ public partial class EncryptFile : CodeActivity [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_KeySecureString_Description))] public InArgument KeySecureString { get; set; } - [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_KeyEncoding_Name))] [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_KeyEncoding_Description))] public InArgument KeyEncoding { get; set; } - [RequiredArgument] + [Browsable(false)] + public InArgument KeyEncodingString { get; set; } + [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_OutputFilePath_Name))] [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_OutputFilePath_Description))] public InArgument OutputFilePath { get; set; } + [LocalizedCategory(nameof(Resources.Input))] + [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_OutputFileName_Name))] + [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_OutputFileName_Description))] + public InArgument OutputFileName { get; set; } + [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_Overwrite_Name))] @@ -69,11 +100,21 @@ public partial class EncryptFile : CodeActivity [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_ContinueOnError_Description))] public InArgument ContinueOnError { get; set; } - public EncryptFile() - { - Algorithm = SymmetricAlgorithms.AESGCM; - KeyEncoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.UTF8)); - } + [Browsable(false)] + [RequiredArgument] + [OverloadGroup(nameof(InputFile))] + [DefaultValue(null)] + [LocalizedCategory(nameof(Resources.Input))] + [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_InputFile_Name))] + [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_InputFile_Description))] + public InArgument InputFile { get; set; } + + [Browsable(false)] + [DefaultValue(null)] + [LocalizedCategory(nameof(Resources.Output))] + [LocalizedDisplayName(nameof(Resources.Activity_EncryptFile_Property_EncryptedFile_Name))] + [LocalizedDescription(nameof(Resources.Activity_EncryptFile_Property_EncryptedFile_Description))] + public OutArgument EncryptedFile { get; set; } protected override void CacheMetadata(CodeActivityMetadata metadata) { @@ -81,53 +122,95 @@ protected override void CacheMetadata(CodeActivityMetadata metadata) if (!CryptographyHelper.IsFipsCompliant(Algorithm)) { - ValidationError error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + var error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + + metadata.AddValidationError(error); + } +#if NET + if (Key == null && KeyInputModeSwitch == KeyInputMode.Key) + { + var error = new ValidationError(Resources.KeyNullError, false, nameof(Key)); metadata.AddValidationError(error); } + if (KeySecureString == null && KeyInputModeSwitch == KeyInputMode.SecureKey) + { + var error = new ValidationError(Resources.KeySecureStringNullError, false, nameof(KeySecureString)); + metadata.AddValidationError(error); + } +#endif } protected override void Execute(CodeActivityContext context) { try { - string inputFilePath = InputFilePath.Get(context); - string outputFilePath = OutputFilePath.Get(context); - string key = Key.Get(context); - SecureString keySecureString = KeySecureString.Get(context); - Encoding keyEncoding = KeyEncoding.Get(context); - - if (string.IsNullOrWhiteSpace(inputFilePath)) + var inputFilePath = InputFilePath.Get(context); + var inputFile = InputFile.Get(context); + var outputFilePath = OutputFilePath.Get(context); + var outputFileName = OutputFileName.Get(context); + var key = Key.Get(context); + var keySecureString = KeySecureString.Get(context); + var keyEncoding = KeyEncoding.Get(context); + var keyEncodingString = KeyEncodingString.Get(context); +#if NET + if (string.IsNullOrWhiteSpace(key) && KeyInputModeSwitch == KeyInputMode.Key) { - throw new ArgumentNullException(Resources.InputFilePathDisplayName); + throw new ArgumentNullException(Resources.Activity_EncryptFile_Property_Key_Name); } - if (string.IsNullOrWhiteSpace(outputFilePath)) + if ((keySecureString == null || keySecureString?.Length == 0) && KeyInputModeSwitch == KeyInputMode.SecureKey) { - throw new ArgumentNullException(Resources.OutputFilePathDisplayName); + throw new ArgumentNullException(Resources.Activity_EncryptFile_Property_KeySecureString_Name); } - if (string.IsNullOrWhiteSpace(key) && keySecureString == null) +#endif + +#if NET461 + if (string.IsNullOrWhiteSpace(key) && (keySecureString == null || keySecureString?.Length == 0)) { throw new ArgumentNullException(Resources.KeyAndSecureStringNull); } - if (key != null && keySecureString != null) - { - throw new ArgumentNullException(Resources.KeyAndSecureStringNotNull); - } - if (keyEncoding == null) - { - throw new ArgumentNullException(Resources.Encoding); - } - if (!File.Exists(inputFilePath)) - { - throw new ArgumentException(Resources.FileDoesNotExistsException, Resources.InputFilePathDisplayName); - } +#endif + if (keyEncoding == null && string.IsNullOrEmpty(keyEncodingString)) throw new ArgumentNullException(Resources.Encoding); + + if (!File.Exists(inputFilePath) && inputFile == null) + throw new ArgumentException(Resources.FileDoesNotExistsException, + Resources.InputFilePathDisplayName); + // Because we use File.WriteAllText below, we don't need to delete the file now. if (File.Exists(outputFilePath) && !Overwrite) + throw new ArgumentException(Resources.FileAlreadyExistsException, + Resources.OutputFilePathDisplayName); + + if (inputFile != null && inputFile.IsFolder) + throw new ArgumentException(Resources.Exception_UseOnlyFilesNotFolders); + + var result = FilePathHelpers.GetDefaultFileNameAndLocation(inputFile, inputFilePath, outputFileName, Overwrite, outputFilePath, Encrypted); + + keyEncoding = EncodingHelpers.KeyEncodingOrString(keyEncoding, keyEncodingString); + + var encrypted = CryptographyHelper.EncryptData(Algorithm, File.ReadAllBytes(result.Item3), + CryptographyHelper.KeyEncoding(keyEncoding, key, keySecureString)); + + if (string.IsNullOrEmpty(outputFilePath)) { - throw new ArgumentException(Resources.FileAlreadyExistsException, Resources.OutputFilePathDisplayName); + var item = new CryptographyLocalItem(encrypted, result.Item1, result.Item2); + + EncryptedFile.Set(context, item); + + outputFilePath = item.LocalPath; } + else + { + var directory = Path.GetDirectoryName(outputFilePath); - byte[] encrypted = CryptographyHelper.EncryptData(Algorithm, File.ReadAllBytes(inputFilePath), CryptographyHelper.KeyEncoding(keyEncoding, key, keySecureString)); + if (!string.IsNullOrEmpty(directory)) + { + Directory.CreateDirectory(directory); + } + var item = new CryptographyLocalItem(encrypted, Path.GetFileName(outputFilePath), outputFilePath); + + EncryptedFile.Set(context, item); + } // This overwrites the file if it already exists. File.WriteAllBytes(outputFilePath, encrypted); @@ -136,10 +219,7 @@ protected override void Execute(CodeActivityContext context) { Trace.TraceError(ex.ToString()); - if (!ContinueOnError.Get(context)) - { - throw; - } + if (!ContinueOnError.Get(context)) throw; } } } diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/EncryptText.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/EncryptText.cs index 564270837..a999a2ce2 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/EncryptText.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/EncryptText.cs @@ -4,12 +4,14 @@ using System.Activities.Validation; using System.ComponentModel; using System.Diagnostics; -using System.Net; using System.Security; using System.Text; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Activities.Properties; using UiPath.Cryptography.Enums; +#pragma warning disable CS0618 // obsolete encryption algorithm + namespace UiPath.Cryptography.Activities { [LocalizedDisplayName(nameof(Resources.Activity_EncryptText_Name))] @@ -44,12 +46,14 @@ public partial class EncryptText : CodeActivity [LocalizedDescription(nameof(Resources.Activity_EncryptText_Property_KeySecureString_Description))] public InArgument KeySecureString { get; set; } - [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_EncryptText_Property_Encoding_Name))] [LocalizedDescription(nameof(Resources.Activity_EncryptText_Property_Encoding_Description))] public InArgument Encoding { get; set; } + [Browsable(false)] + public InArgument KeyEncodingString { get; set; } + [LocalizedCategory(nameof(Resources.Output))] [LocalizedDisplayName(nameof(Resources.Activity_EncryptText_Property_Result_Name))] [LocalizedDescription(nameof(Resources.Activity_EncryptText_Property_Result_Description))] @@ -64,7 +68,16 @@ public partial class EncryptText : CodeActivity public EncryptText() { Algorithm = SymmetricAlgorithms.AESGCM; + +#if NET461 + //we only use this on legacy Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.UTF8)); +#endif +#if NET + //for modern and cross projects + KeyEncodingString = System.Text.Encoding.UTF8.CodePage.ToString(); +#endif + } protected override void CacheMetadata(CodeActivityMetadata metadata) @@ -75,13 +88,25 @@ protected override void CacheMetadata(CodeActivityMetadata metadata) { case SymmetricAlgorithms.RC2: case SymmetricAlgorithms.Rijndael: - ValidationError error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + var error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); metadata.AddValidationError(error); break; default: break; } +#if NET + if (Key == null && KeyInputModeSwitch == KeyInputMode.Key) + { + var error = new ValidationError(Resources.KeyNullError, false, nameof(Key)); + metadata.AddValidationError(error); + } + if (KeySecureString == null && KeyInputModeSwitch == KeyInputMode.SecureKey) + { + var error = new ValidationError(Resources.KeySecureStringNullError, false, nameof(KeySecureString)); + metadata.AddValidationError(error); + } +#endif } protected override string Execute(CodeActivityContext context) @@ -90,29 +115,36 @@ protected override string Execute(CodeActivityContext context) try { - string input = Input.Get(context); - string key = Key.Get(context); - SecureString keySecureString = KeySecureString.Get(context); - Encoding keyEncoding = Encoding.Get(context); + var input = Input.Get(context); + var key = Key.Get(context); + var keySecureString = KeySecureString.Get(context); + var keyEncoding = Encoding.Get(context); + var keyEncodingString = KeyEncodingString.Get(context); if (string.IsNullOrWhiteSpace(input)) - { throw new ArgumentNullException(Resources.InputStringDisplayName); - } - if (string.IsNullOrWhiteSpace(key) && keySecureString == null) +#if NET + if (string.IsNullOrWhiteSpace(key) && KeyInputModeSwitch == KeyInputMode.Key) { - throw new ArgumentNullException(Resources.KeyAndSecureStringNull); + throw new ArgumentNullException(Resources.Activity_KeyedHashText_Property_Key_Name); } - if (key != null && keySecureString != null) + if ((keySecureString == null || keySecureString?.Length == 0) && KeyInputModeSwitch == KeyInputMode.SecureKey) { - throw new ArgumentNullException(Resources.KeyAndSecureStringNotNull); + throw new ArgumentNullException(Resources.Activity_KeyedHashText_Property_KeySecureString_Name); } - if (keyEncoding == null) +#endif + +#if NET461 + if (string.IsNullOrWhiteSpace(key) && (keySecureString == null || keySecureString?.Length == 0)) { - throw new ArgumentNullException(Resources.Encoding); + throw new ArgumentNullException(Resources.KeyAndSecureStringNull); } +#endif + if (keyEncoding == null && string.IsNullOrEmpty(keyEncodingString)) throw new ArgumentNullException(Resources.Encoding); + + keyEncoding = EncodingHelpers.KeyEncodingOrString(keyEncoding, keyEncodingString); - byte[] encrypted = CryptographyHelper.EncryptData(Algorithm, keyEncoding.GetBytes(input), CryptographyHelper.KeyEncoding(keyEncoding, key, keySecureString)); + var encrypted = CryptographyHelper.EncryptData(Algorithm, keyEncoding.GetBytes(input), CryptographyHelper.KeyEncoding(keyEncoding, key, keySecureString)); result = Convert.ToBase64String(encrypted); } diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/HashFile.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/HashFile.cs index c04f35b1e..1232b39a9 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/HashFile.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/HashFile.cs @@ -33,14 +33,12 @@ public class HashFile : CodeActivity [DefaultValue(null)] [LocalizedCategory(nameof(Resources.Common))] [LocalizedDisplayName(nameof(Resources.Activity_HashFile_Property_ContinueOnError_Name))] - [LocalizedDescription(nameof(Resources.Activity_HashFile_Property_ContinueOnError_Description))] + [LocalizedDescription(nameof(Resources.Activity_HashFile_Property_ContinueOnError_Description))] public InArgument ContinueOnError { get; set; } public HashFile() { - Algorithm = HashAlgorithms.SHA256; - } protected override void CacheMetadata(CodeActivityMetadata metadata) @@ -49,7 +47,7 @@ protected override void CacheMetadata(CodeActivityMetadata metadata) if (!CryptographyHelper.IsFipsCompliant(Algorithm)) { - ValidationError error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + var error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); metadata.AddValidationError(error); } } @@ -60,18 +58,15 @@ protected override string Execute(CodeActivityContext context) try { - string filePath = FilePath.Get(context); + var filePath = FilePath.Get(context); if (string.IsNullOrWhiteSpace(filePath)) - { throw new ArgumentNullException(Resources.FilePathDisplayName); - } + if (!File.Exists(filePath)) - { throw new ArgumentException(Resources.FileDoesNotExistsException, Resources.FilePathDisplayName); - } - byte[] hashed = CryptographyHelper.HashData(Algorithm, File.ReadAllBytes(filePath)); + var hashed = CryptographyHelper.HashData(Algorithm, File.ReadAllBytes(filePath)); result = BitConverter.ToString(hashed).Replace("-", string.Empty); } @@ -89,4 +84,12 @@ protected override string Execute(CodeActivityContext context) } } #endif +#if NET + [Browsable(false)] + [LocalizedDisplayName(nameof(Resources.Activity_HashFile_Name))] + [LocalizedDescription(nameof(Resources.Activity_HashFile_Description))] + public class HashFile : KeyedHashFile + { + } +#endif } \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/HashText.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/HashText.cs index ed21d0076..b39b9cb5c 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/HashText.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/HashText.cs @@ -58,7 +58,7 @@ protected override void CacheMetadata(CodeActivityMetadata metadata) { case HashAlgorithms.MD5: case HashAlgorithms.RIPEMD160: - ValidationError error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + var error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); metadata.AddValidationError(error); break; default: @@ -72,19 +72,16 @@ protected override string Execute(CodeActivityContext context) try { - string input = Input.Get(context); - Encoding encoding = Encoding.Get(context); + var input = Input.Get(context); + var encoding = Encoding.Get(context); if (string.IsNullOrWhiteSpace(input)) - { throw new ArgumentNullException(Resources.InputStringDisplayName); - } + if (encoding == null) - { throw new ArgumentNullException(Resources.Encoding); - } - byte[] hashed = CryptographyHelper.HashData(Algorithm, encoding.GetBytes(input)); + var hashed = CryptographyHelper.HashData(Algorithm, encoding.GetBytes(input)); result = BitConverter.ToString(hashed).Replace("-", string.Empty); } @@ -102,4 +99,12 @@ protected override string Execute(CodeActivityContext context) } } #endif +#if NET + [Browsable(false)] + [LocalizedDisplayName(nameof(Resources.Activity_HashText_Name))] + [LocalizedDescription(nameof(Resources.Activity_HashText_Description))] + public partial class HashText : KeyedHashText + { + } +#endif } \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Helpers/EncodingHelpers.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/Helpers/EncodingHelpers.cs new file mode 100644 index 000000000..cbe983f26 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Helpers/EncodingHelpers.cs @@ -0,0 +1,112 @@ +#if NET +using System.Activities.DesignViewModels; +#endif +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Reflection; +using System.Text; +using UiPath.Cryptography.Enums; +using UiPath.Shared.Activities; +using UiPath.Shared.Activities.Services; + +namespace UiPath.Cryptography.Activities.Helpers +{ + public sealed class EncodingHelpers + { +#if NET + private EncodingHelpers() + { + } + + static EncodingHelpers() + { + try + { + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); + } + catch + { + // Redundant try-catch to ignore encoding provider init errors if any exist + } + } + + public static DataSource ConfigureEncodingDataSource() + { + return DataSourceBuilder + .WithId(s => s.ToString()) + .WithLabel(s => GetCodePageName((CodePages)int.Parse(s))) + .WithSingleItemConverter(s => ArgumentFactoryHelper.CreateLiteralArgument(s), + s => + { + if (s.TryGetInArgumentValue(out var value)) + { + return value; + } + return null; + }).Build(); + } + + public static List GetAvailableEncodings() + { + var availableEncodingsList = new List() { ((int)CodePages.Default).ToString() }; + availableEncodingsList.AddRange(Encoding.GetEncodings() + .Select(e => e.CodePage) + .OrderBy(e => GetEncodingOrderIndex(e)) + .Select(e => e.ToString()) + .ToList()); + + return availableEncodingsList; + } + + /// + /// Calculates an orderIndex which respects exceptions included in "exceptionDictioanry" + /// + private static int GetEncodingOrderIndex(int codePage) + { + var exceptionDictionary = new Dictionary + { + {(int)CodePages.UTF_8, 1 }, // https://uipath.atlassian.net/browse/STUD-64202 + {(int)CodePages.UTF_16, 2 }, + {(int)CodePages.UTF_16BE, 3 }, + {(int)CodePages.UTF_32, 4 }, + {(int)CodePages.UTF_32BE, 5 }, + {(int)CodePages.US_ASCII, 6 }, + {(int)CodePages.ISO_8859_1, 7 }, + }; + + return exceptionDictionary.GetValueOrDefault(codePage, codePage * 10); + } + +#endif + public static string GetCodePageName(CodePages value) + { + try + { + var enumName = typeof(CodePages).GetEnumName(value); + var field = typeof(CodePages).GetField(enumName); + + var displayNameAttribute = field?.GetCustomAttribute(); + + return displayNameAttribute?.DisplayName ?? enumName; + } + catch + { + return string.Empty; + } + } + + public static Encoding KeyEncodingOrString(Encoding keyEncoding, string keyEncodingString) + { + if (keyEncodingString != null) + { + //for modern and cross projects - use the string code page to get the encoding + keyEncoding = int.TryParse(keyEncodingString, out int codePage) + ? System.Text.Encoding.GetEncoding(codePage) + : System.Text.Encoding.GetEncoding(keyEncodingString); + } + + return keyEncoding; + } + } +} diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Helpers/FilePathHelpers.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/Helpers/FilePathHelpers.cs new file mode 100644 index 000000000..a136f999a --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Helpers/FilePathHelpers.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; +using UiPath.Cryptography.Activities.Properties; +using UiPath.Platform.ResourceHandling; + +namespace UiPath.Cryptography.Activities.Helpers +{ + public class FilePathHelpers + { + public static (string, string, string) GetDefaultFileNameAndLocation(IResource inputFile, string inputFilePath, string outputFileName, bool overwrite, string outputFilePath, string suffix) + { + string fileName = string.Empty; + string filePath = string.Empty; + + if (inputFile != null && !inputFile.IsFolder) + { + // Get local file + var localFile = inputFile.ToLocalResource(); + //Resolve Sync + Task.Run(async () => await localFile.ResolveAsync()).GetAwaiter().GetResult(); + + //take the path from the resource + inputFilePath = localFile.LocalPath; + fileName = localFile.FullName; + } + + if (string.IsNullOrEmpty(outputFileName) && string.IsNullOrEmpty(outputFilePath)) + { + fileName = Path.GetFileNameWithoutExtension(inputFilePath) + suffix + Path.GetExtension(inputFilePath); + + var directory = Path.GetDirectoryName(inputFilePath); + + if (string.IsNullOrEmpty(directory)) + { + filePath = fileName; + } + else + { + filePath = Path.Combine(directory, fileName); + } + + if (outputFilePath == null && !overwrite && File.Exists(filePath)) + { + throw new ArgumentException(Resources.FileAlreadyExistsException, + Resources.OutputFilePathDisplayName); + } + } + else + { + fileName = outputFileName; + } + + return (fileName, filePath, inputFilePath); + } + } +} diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/KeyedHashFile.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/KeyedHashFile.cs index 4c8a5e01f..b24b9dec2 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/KeyedHashFile.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/KeyedHashFile.cs @@ -5,17 +5,20 @@ using System.ComponentModel; using System.Diagnostics; using System.IO; -using System.Net; using System.Security; +using System.Security.Cryptography; using System.Text; +using System.Threading.Tasks; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Activities.Properties; using UiPath.Cryptography.Enums; +using UiPath.Platform.ResourceHandling; namespace UiPath.Cryptography.Activities { [LocalizedDisplayName(nameof(Resources.Activity_KeyedHashFile_Name))] [LocalizedDescription(nameof(Resources.Activity_KeyedHashFile_Description))] - public partial class KeyedHashFile : CodeActivity + public class KeyedHashFile : CodeActivity { [RequiredArgument] [LocalizedCategory(nameof(Resources.Input))] @@ -24,6 +27,7 @@ public partial class KeyedHashFile : CodeActivity public KeyedHashAlgorithms Algorithm { get; set; } [RequiredArgument] + [OverloadGroup(nameof(FilePath))] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_KeyedHashFile_Property_FilePath_Name))] [LocalizedDescription(nameof(Resources.Activity_KeyedHashFile_Property_FilePath_Description))] @@ -45,12 +49,15 @@ public partial class KeyedHashFile : CodeActivity [LocalizedDescription(nameof(Resources.Activity_KeyedHashFile_Property_KeySecureString_Description))] public InArgument KeySecureString { get; set; } - [RequiredArgument] + [Browsable(false)] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_KeyedHashFile_Property_Encoding_Name))] [LocalizedDescription(nameof(Resources.Activity_KeyedHashFile_Property_Encoding_Description))] public InArgument Encoding { get; set; } + [Browsable(false)] + public InArgument KeyEncodingString { get; set; } + [LocalizedCategory(nameof(Resources.Output))] [LocalizedDisplayName(nameof(Resources.Activity_KeyedHashFile_Property_Result_Name))] [LocalizedDescription(nameof(Resources.Activity_KeyedHashFile_Property_Result_Description))] @@ -62,10 +69,33 @@ public partial class KeyedHashFile : CodeActivity [LocalizedDescription(nameof(Resources.Activity_KeyedHashFile_Property_ContinueOnError_Description))] public InArgument ContinueOnError { get; set; } + [Browsable(false)] + [RequiredArgument] + [OverloadGroup(nameof(InputFile))] + [DefaultValue(null)] + [LocalizedCategory(nameof(Resources.Input))] + [LocalizedDisplayName(nameof(Resources.Activity_KeyedHashFile_Property_InputFile_Name))] + [LocalizedDescription(nameof(Resources.Activity_KeyedHashFile_Property_InputFile_Description))] + public InArgument InputFile { get; set; } + + [Browsable(false)] + [LocalizedCategory(nameof(Resources.Input))] + [LocalizedDisplayName(nameof(Resources.Activity_KeyedHashFile_Property_FileInputModeSwitch_Name))] + [LocalizedDescription(nameof(Resources.Activity_KeyedHashFile_Property_FileInputModeSwitch_Description))] + public FileInputMode FileInputModeSwitch { get; set; } + public KeyedHashFile() { Algorithm = KeyedHashAlgorithms.HMACSHA256; +#if NET461 + //we only use this on legacy Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.UTF8)); +#endif +#if NET + //for modern and cross projects + KeyEncodingString = System.Text.Encoding.UTF8.CodePage.ToString(); +#endif + } protected override void CacheMetadata(CodeActivityMetadata metadata) @@ -74,13 +104,28 @@ protected override void CacheMetadata(CodeActivityMetadata metadata) if (!CryptographyHelper.IsFipsCompliant(Algorithm)) { - ValidationError error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + var error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); metadata.AddValidationError(error); } + if (Algorithm.ToString().StartsWith(nameof(HMAC))) + { +#if NET + if (Key == null && KeyInputModeSwitch == KeyInputMode.Key) + { + var error = new ValidationError(Resources.KeyNullError, false, nameof(Key)); + metadata.AddValidationError(error); + } + if (KeySecureString == null && KeyInputModeSwitch == KeyInputMode.SecureKey) + { + var error = new ValidationError(Resources.KeySecureStringNullError, false, nameof(KeySecureString)); + metadata.AddValidationError(error); + } +#endif + } #if NET461 if (Algorithm == KeyedHashAlgorithms.MACTripleDES) { - ValidationError keySizeWarning = new ValidationError(Resources.MacTripleDesKeySizeWarning, true, nameof(Algorithm)); + var keySizeWarning = new ValidationError(Resources.MacTripleDesKeySizeWarning, true, nameof(Algorithm)); metadata.AddValidationError(keySizeWarning); } #endif @@ -92,34 +137,56 @@ protected override string Execute(CodeActivityContext context) try { - string filePath = FilePath.Get(context); - string key = Key.Get(context); - SecureString keySecureString = KeySecureString.Get(context); - Encoding keyEncoding = Encoding.Get(context); - - if (string.IsNullOrWhiteSpace(filePath)) - { - throw new ArgumentNullException(Resources.FilePathDisplayName); - } - if (string.IsNullOrWhiteSpace(key) && keySecureString == null) + var filePath = FilePath.Get(context); + var key = Key.Get(context); + var keySecureString = KeySecureString.Get(context); + var keyEncoding = Encoding.Get(context); + var inputFile = InputFile.Get(context); + var keyEncodingString = KeyEncodingString.Get(context); + + if (Algorithm.ToString().StartsWith(nameof(HMAC))) { - throw new ArgumentNullException(Resources.KeyAndSecureStringNull); - } - if (key != null && keySecureString != null) - { - throw new ArgumentNullException(Resources.KeyAndSecureStringNotNull); - } - if (keyEncoding == null) - { - throw new ArgumentNullException(Resources.Encoding); +#if NET + if (string.IsNullOrWhiteSpace(key) && KeyInputModeSwitch == KeyInputMode.Key) + { + throw new ArgumentNullException(Resources.Activity_KeyedHashText_Property_Key_Name); + } + if ((keySecureString == null || keySecureString?.Length == 0) && KeyInputModeSwitch == KeyInputMode.SecureKey) + { + throw new ArgumentNullException(Resources.Activity_KeyedHashText_Property_KeySecureString_Name); + } +#endif + +#if NET461 + if (string.IsNullOrWhiteSpace(key) && (keySecureString == null || keySecureString?.Length == 0)) + { + throw new ArgumentNullException(Resources.KeyAndSecureStringNull); + } +#endif } - if (!File.Exists(filePath)) - { + + if (keyEncoding == null && string.IsNullOrEmpty(keyEncodingString)) throw new ArgumentNullException(Resources.Encoding); + + if (!File.Exists(filePath) && inputFile == null) throw new ArgumentException(Resources.FileDoesNotExistsException, Resources.FilePathDisplayName); + + if (inputFile != null && inputFile.IsFolder) + throw new ArgumentException(Resources.Exception_UseOnlyFilesNotFolders); + + if (inputFile != null && !inputFile.IsFolder) + { + // Get local file + var localFile = inputFile.ToLocalResource(); + //Run Sync + Task.Run(async () => await localFile.ResolveAsync()).GetAwaiter().GetResult(); + + filePath = localFile.LocalPath; } + keyEncoding = EncodingHelpers.KeyEncodingOrString(keyEncoding, keyEncodingString); - byte[] hashed = CryptographyHelper.HashDataWithKey(Algorithm, File.ReadAllBytes(filePath), CryptographyHelper.KeyEncoding(keyEncoding, key, keySecureString)); + var hashed = CryptographyHelper.HashDataWithKey(Algorithm, File.ReadAllBytes(filePath), + CryptographyHelper.KeyEncoding(keyEncoding, key, keySecureString)); result = BitConverter.ToString(hashed).Replace("-", string.Empty); } diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/KeyedHashText.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/KeyedHashText.cs index 2511c03d3..44cb5620c 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/KeyedHashText.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/KeyedHashText.cs @@ -4,9 +4,10 @@ using System.Activities.Validation; using System.ComponentModel; using System.Diagnostics; -using System.Net; using System.Security; +using System.Security.Cryptography; using System.Text; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Activities.Properties; using UiPath.Cryptography.Enums; @@ -44,12 +45,15 @@ public partial class KeyedHashText : CodeActivity [LocalizedDescription(nameof(Resources.Activity_KeyedHashText_Property_KeySecureString_Description))] public InArgument KeySecureString { get; set; } - [RequiredArgument] + [Browsable(false)] [LocalizedCategory(nameof(Resources.Input))] [LocalizedDisplayName(nameof(Resources.Activity_KeyedHashText_Property_Encoding_Name))] [LocalizedDescription(nameof(Resources.Activity_KeyedHashText_Property_Encoding_Description))] public InArgument Encoding { get; set; } + [Browsable(false)] + public InArgument KeyEncodingString { get; set; } + [LocalizedCategory(nameof(Resources.Output))] [LocalizedDisplayName(nameof(Resources.Activity_KeyedHashText_Property_Result_Name))] [LocalizedDescription(nameof(Resources.Activity_KeyedHashText_Property_Result_Description))] @@ -64,7 +68,14 @@ public partial class KeyedHashText : CodeActivity public KeyedHashText() { Algorithm = KeyedHashAlgorithms.HMACSHA256; +#if NET461 + //we only use this on legacy Encoding = new InArgument(ExpressionServices.Convert((env) => System.Text.Encoding.UTF8)); +#endif +#if NET + //for modern and cross projects + KeyEncodingString = System.Text.Encoding.UTF8.CodePage.ToString(); +#endif } protected override void CacheMetadata(CodeActivityMetadata metadata) @@ -73,13 +84,28 @@ protected override void CacheMetadata(CodeActivityMetadata metadata) if (!CryptographyHelper.IsFipsCompliant(Algorithm)) { - ValidationError error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); + var error = new ValidationError(Resources.FipsComplianceWarning, true, nameof(Algorithm)); metadata.AddValidationError(error); } + if (Algorithm.ToString().StartsWith(nameof(HMAC))) + { +#if NET + if (Key == null && KeyInputModeSwitch == KeyInputMode.Key) + { + var error = new ValidationError(Resources.KeyNullError, false, nameof(Key)); + metadata.AddValidationError(error); + } + if (KeySecureString == null && KeyInputModeSwitch == KeyInputMode.SecureKey) + { + var error = new ValidationError(Resources.KeySecureStringNullError, false, nameof(KeySecureString)); + metadata.AddValidationError(error); + } +#endif + } #if NET461 if (Algorithm == KeyedHashAlgorithms.MACTripleDES) { - ValidationError keySizeWarning = new ValidationError(Resources.MacTripleDesKeySizeWarning, true, nameof(Algorithm)); + var keySizeWarning = new ValidationError(Resources.MacTripleDesKeySizeWarning, true, nameof(Algorithm)); metadata.AddValidationError(keySizeWarning); } #endif @@ -91,29 +117,41 @@ protected override string Execute(CodeActivityContext context) try { - string input = Input.Get(context); - string key = Key.Get(context); - SecureString keySecureString = KeySecureString.Get(context); - Encoding keyEncoding = Encoding.Get(context); + var input = Input.Get(context); + var key = Key.Get(context); + var keySecureString = KeySecureString.Get(context); + var keyEncoding = Encoding.Get(context); + var keyEncodingString = KeyEncodingString.Get(context); if (string.IsNullOrWhiteSpace(input)) - { throw new ArgumentNullException(Resources.InputStringDisplayName); - } - if (string.IsNullOrWhiteSpace(key) && keySecureString == null) - { - throw new ArgumentNullException(Resources.KeyAndSecureStringNull); - } - if (key != null && keySecureString != null) - { - throw new ArgumentNullException(Resources.KeyAndSecureStringNotNull); - } - if (keyEncoding == null) + + if (Algorithm.ToString().StartsWith(nameof(HMAC))) { - throw new ArgumentNullException(Resources.Encoding); +#if NET + if (string.IsNullOrWhiteSpace(key) && KeyInputModeSwitch == KeyInputMode.Key) + { + throw new ArgumentNullException(Resources.Activity_KeyedHashText_Property_Key_Name); + } + if ((keySecureString == null || keySecureString?.Length == 0) && KeyInputModeSwitch == KeyInputMode.SecureKey) + { + throw new ArgumentNullException(Resources.Activity_KeyedHashText_Property_KeySecureString_Name); + } +#endif + +#if NET461 + if (string.IsNullOrWhiteSpace(key) && (keySecureString == null || keySecureString?.Length == 0)) + { + throw new ArgumentNullException(Resources.KeyAndSecureStringNull); + } +#endif } - byte[] hashed = CryptographyHelper.HashDataWithKey(Algorithm, keyEncoding.GetBytes(input), CryptographyHelper.KeyEncoding(keyEncoding, key, keySecureString)); + if (keyEncoding == null && string.IsNullOrEmpty(keyEncodingString)) throw new ArgumentNullException(Resources.Encoding); + + keyEncoding = EncodingHelpers.KeyEncodingOrString(keyEncoding, keyEncodingString); + + var hashed = CryptographyHelper.HashDataWithKey(Algorithm, keyEncoding.GetBytes(input), CryptographyHelper.KeyEncoding(keyEncoding, key, keySecureString)); result = BitConverter.ToString(hashed).Replace("-", string.Empty); } @@ -129,5 +167,7 @@ protected override string Execute(CodeActivityContext context) return result; } + + } } \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Models/CryptographyLocalItem.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/Models/CryptographyLocalItem.cs new file mode 100644 index 000000000..f822a5949 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Models/CryptographyLocalItem.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using UiPath.Platform.ResourceHandling; + +namespace UiPath.Cryptography.Activities.Models +{ + /// + /// Used to convert cryptography files as IResources. + /// + public class CryptographyLocalItem : ILocalResource + { + /// + /// Create the ILocalResource implementation + /// + /// + /// + internal CryptographyLocalItem(byte[] byteArray, string fullName, string path = null) + { + if (path == null) + { + path = Path.GetRandomFileName(); + } + + File.WriteAllBytes(path, byteArray); + + _fileInfo = new FileInfo(path); + + //assign a new Guid for the resource (no Id from remoteItem as there is no remoteItem) + _guid = Guid.NewGuid(); + + FullName = !string.IsNullOrEmpty(fullName) ? fullName : _fileInfo.FullName; + } + + #region Internal properties and fields + + private readonly FileInfo _fileInfo; + + private readonly Guid _guid; + + #endregion Internal properties and fields + + #region ILocalResource implementation + + /// + public DateTime? CreationDate => _fileInfo?.CreationTime; + + /// + public string FullName { get; } + + /// + public string IconUri => string.Empty; + + /// + public string ID => _guid.ToString(); + + /// + public bool IsFolder => false; + + // File is considered resolved if a local path for it has been defined AND a file exists at that path. + public async Task ResolveAsync(bool force = false, CancellationToken ct = new CancellationToken()) + { + //nothing to resolve as there is no RemoteItem + } + + /// + /// Always true + /// + public bool IsResolved => true; + + /// + public DateTime? LastModifiedDate => _fileInfo?.LastWriteTime; + + /// + public string LocalPath => _fileInfo.FullName; + + /// + public Dictionary Metadata => new Dictionary(); + + /// + public string MimeType => string.Empty; + + #endregion ILocalResource implementation + } +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/DataSourceHelper.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/DataSourceHelper.cs index 9b98697c3..d9803b8aa 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/DataSourceHelper.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/DataSourceHelper.cs @@ -1,5 +1,7 @@ using System; using System.Activities.DesignViewModels; +using System.Collections.Generic; +using System.Text; using UiPath.Shared; namespace UiPath.Cryptography.Activities.NetCore @@ -17,5 +19,17 @@ public static DataSource ForEnum(params T[] data) where T : Enum .WithData(data) .Build(); } + + public static List ForEncoding(params EncodingInfo[] data) + { + var encodingList = new List(); + foreach (var aux in data) + { + encodingList.Add(aux.GetEncoding().EncodingName); + } + + return encodingList; + } + } -} +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/DecryptFileViewModel.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/DecryptFileViewModel.cs index 9b07ee900..32a112fd9 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/DecryptFileViewModel.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/DecryptFileViewModel.cs @@ -1,33 +1,32 @@ using System; +using System.Activities; using System.Activities.DesignViewModels; using System.Activities.ViewModels; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Security; -using System.Text; -using System.Threading.Tasks; -using UiPath.Cryptography.Activities.NetCore.ViewModels; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Enums; +using UiPath.Platform.ResourceHandling; -namespace UiPath.Cryptography.Activities -{ - /// - /// Decrypts a file based on a specified key encoding and algorithm. - /// - [ViewModelClass(typeof(DecryptFileViewModel))] - public partial class DecryptFile - { - } -} +#pragma warning disable CS0618 // obsolete encryption algorithm namespace UiPath.Cryptography.Activities.NetCore.ViewModels { - public partial class DecryptFileViewModel : DesignPropertiesViewModel + [ExcludeFromCodeCoverage] + public class DecryptFileViewModel : DesignPropertiesViewModel { + private readonly DataSource _encodingDataSource; + private InArgument _backupInputFile; + private InArgument _backupInputFilePath; + /// /// Basic constructor /// /// public DecryptFileViewModel(IDesignServices services) : base(services) { + _encodingDataSource = EncodingHelpers.ConfigureEncodingDataSource(); } /// @@ -35,11 +34,6 @@ public DecryptFileViewModel(IDesignServices services) : base(services) /// public DesignProperty Algorithm { get; set; } = new DesignProperty(); - /// - /// The path to the file that you want to decrypt. - /// - public DesignInArgument InputFilePath { get; set; } = new DesignInArgument(); - /// /// The key that you want to use to decrypt the specified file. /// @@ -51,22 +45,17 @@ public DecryptFileViewModel(IDesignServices services) : base(services) public DesignInArgument KeySecureString { get; set; } = new DesignInArgument(); /// - /// Switches Key as string or secure string + /// Switches Key as string or secure string /// public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); /// - /// The encoding used to interpret the key specified in the Key property. + /// A drop-down which enables you to select the encoding option you want to use. /// - public DesignInArgument KeyEncoding { get; set; } = new DesignInArgument(); - - /// - /// The path where you want to save the decrypted file. - /// - public DesignInArgument OutputFilePath { get; set; } = new DesignInArgument(); + public DesignInArgument KeyEncodingString { get; set; } = new() { Name = nameof(KeyEncodingString) }; /// - /// If a file already exists at the path specified in the Output path field, selecting this check box overwrites it. + /// If a file already exists at the path specified in the Output path field, selecting this check box overwrites it. /// public DesignProperty Overwrite { get; set; } = new DesignProperty(); @@ -75,19 +64,51 @@ public DecryptFileViewModel(IDesignServices services) : base(services) /// public DesignInArgument ContinueOnError { get; set; } = new DesignInArgument(); + /// + /// The file that you want to decrypt. + /// + public DesignInArgument InputFile { get; set; } = new DesignInArgument(); + + /// + /// The path to the file that you want to decrypt. + /// + public DesignInArgument InputFilePath { get; set; } = new DesignInArgument(); + + /// + /// Switches File as IResource or string + /// + public DesignProperty FileInputModeSwitch { get; set; } = new DesignProperty(); + + /// + /// The output path to the file that you want to decrypt. + /// + public DesignInArgument OutputFilePath { get; set; } = new DesignInArgument(); + + /// + /// The file that you want to decrypt. + /// + public DesignOutArgument DecryptedFile { get; set; } = new DesignOutArgument(); + protected override void InitializeModel() { base.InitializeModel(); - int propertyOrderIndex = 1; + var propertyOrderIndex = 1; + + InputFile.IsPrincipal = true; + InputFile.IsVisible = false; + InputFile.OrderIndex = propertyOrderIndex++; + + InputFilePath.IsPrincipal = true; + InputFilePath.IsVisible = true; + InputFilePath.OrderIndex = propertyOrderIndex++; + + FileInputModeSwitch.IsVisible = false; Algorithm.IsPrincipal = true; Algorithm.OrderIndex = propertyOrderIndex++; Algorithm.DataSource = DataSourceHelper.ForEnum(SymmetricAlgorithms.AES, SymmetricAlgorithms.AESGCM, SymmetricAlgorithms.DES, SymmetricAlgorithms.RC2, SymmetricAlgorithms.Rijndael, SymmetricAlgorithms.TripleDES); Algorithm.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown }; - InputFilePath.IsPrincipal = true; - InputFilePath.OrderIndex = propertyOrderIndex++; - Key.IsPrincipal = true; Key.IsVisible = true; Key.OrderIndex = propertyOrderIndex++; @@ -98,13 +119,19 @@ protected override void InitializeModel() KeyInputModeSwitch.IsVisible = false; - OutputFilePath.IsPrincipal = true; - OutputFilePath.OrderIndex = propertyOrderIndex++; + KeyEncodingString.IsPrincipal = false; + KeyEncodingString.IsVisible = true; + KeyEncodingString.OrderIndex = propertyOrderIndex++; - KeyEncoding.IsPrincipal = false; - KeyEncoding.OrderIndex = propertyOrderIndex++; - KeyEncoding.Value = null; - KeyEncoding.IsRequired = true; + KeyEncodingString.DataSource = _encodingDataSource; + KeyEncodingString.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown, Metadata = new Dictionary() }; + + _encodingDataSource.Data = EncodingHelpers.GetAvailableEncodings(); + + OutputFilePath.IsPrincipal = false; + OutputFilePath.IsVisible = true; + OutputFilePath.IsRequired = false; + OutputFilePath.OrderIndex = propertyOrderIndex++; Overwrite.IsPrincipal = false; Overwrite.OrderIndex = propertyOrderIndex++; @@ -119,6 +146,16 @@ protected override void InitializeModel() .AddMenuProperty(Key, KeyInputMode.Key) .AddMenuProperty(KeySecureString, KeyInputMode.SecureKey) .BuildAndInsertMenuActions(); + + MenuActionsBuilder.WithValueProperty(FileInputModeSwitch) + .AddMenuProperty(InputFile, FileInputMode.File) + .AddMenuProperty(InputFilePath, FileInputMode.FilePath) + .BuildAndInsertMenuActions(); + + DecryptedFile.OrderIndex = propertyOrderIndex; + + _backupInputFile = InputFile.Value; + _backupInputFilePath = InputFilePath.Value; } /// @@ -126,6 +163,7 @@ protected override void InitializeRules() { base.InitializeRules(); Rule(nameof(KeyInputModeSwitch), KeyInputModeChanged_Action); + Rule(nameof(FileInputModeSwitch), FileInputModeChanged_Action); } /// @@ -133,6 +171,7 @@ protected override void ManualRegisterDependencies() { base.ManualRegisterDependencies(); RegisterDependency(KeyInputModeSwitch, nameof(KeyInputModeSwitch.Value), nameof(KeyInputModeSwitch)); + RegisterDependency(FileInputModeSwitch, nameof(FileInputModeSwitch.Value), nameof(FileInputModeSwitch)); } /// @@ -140,19 +179,69 @@ protected override void ManualRegisterDependencies() /// private void KeyInputModeChanged_Action() { + ResetAllKeyInputMode(); switch (KeyInputModeSwitch.Value) { case KeyInputMode.Key: + Key.IsRequired = true; Key.IsVisible = true; - KeySecureString.IsVisible = false; break; - case KeyInputMode.SecureKey: - Key.IsVisible = false; + case KeyInputMode.SecureKey: KeySecureString.IsVisible = true; + KeySecureString.IsRequired = true; + break; + default: + throw new NotImplementedException(); + } + } + + /// + /// File input Mode has changed. Set controls visibility based on selection + /// + private void FileInputModeChanged_Action() + { + ResetAllInputFile(); + switch (FileInputModeSwitch.Value) + { + case FileInputMode.File: + _backupInputFilePath = InputFilePath.Value; + InputFilePath.Value = null; + + InputFile.IsRequired = true; + InputFile.IsVisible = true; + InputFile.Value = _backupInputFile; + + break; + + case FileInputMode.FilePath: + _backupInputFile = InputFile.Value; + InputFile.Value = null; + + InputFilePath.IsVisible = true; + InputFilePath.IsRequired = true; + InputFilePath.Value = _backupInputFilePath; + break; + default: throw new NotImplementedException(); } } + + private void ResetAllKeyInputMode() + { + Key.IsRequired = false; + Key.IsVisible = false; + KeySecureString.IsRequired = false; + KeySecureString.IsVisible = false; + } + + private void ResetAllInputFile() + { + InputFile.IsRequired = false; + InputFile.IsVisible = false; + InputFilePath.IsRequired = false; + InputFilePath.IsVisible = false; + } } } diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/DecryptTextViewModel.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/DecryptTextViewModel.cs index 866d20be5..7884c748c 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/DecryptTextViewModel.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/DecryptTextViewModel.cs @@ -1,9 +1,9 @@ using System; using System.Activities.DesignViewModels; using System.Activities.ViewModels; +using System.Collections.Generic; using System.Security; -using System.Text; -using System.Threading.Tasks; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Activities.NetCore.ViewModels; using UiPath.Cryptography.Enums; @@ -18,16 +18,21 @@ public partial class DecryptText } } +#pragma warning disable CS0618 // obsolete encryption algorithm + namespace UiPath.Cryptography.Activities.NetCore.ViewModels { public partial class DecryptTextViewModel : DesignPropertiesViewModel { + private readonly DataSource _encodingDataSource; + /// - /// Basic consructor + /// Basic constructor /// /// public DecryptTextViewModel(IDesignServices services) : base(services) { + _encodingDataSource = EncodingHelpers.ConfigureEncodingDataSource(); } /// @@ -51,14 +56,14 @@ public DecryptTextViewModel(IDesignServices services) : base(services) public DesignInArgument KeySecureString { get; set; } = new DesignInArgument(); /// - /// Switches Key as string or secure string + /// A drop-down which enables you to select the encoding option you want to use. /// - public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); + public DesignInArgument KeyEncodingString { get; set; } = new() { Name = nameof(KeyEncodingString) }; /// - /// The encoding used to interpret the input text and the key specified in the Key property. + /// Switches Key as string or secure string /// - public DesignInArgument Encoding { get; set; } = new DesignInArgument(); + public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); /// /// The decrypted text, stored in a String variable. @@ -73,16 +78,16 @@ public DecryptTextViewModel(IDesignServices services) : base(services) protected override void InitializeModel() { base.InitializeModel(); - int propertyOrderIndex = 1; + var propertyOrderIndex = 1; + + Input.IsPrincipal = true; + Input.OrderIndex = propertyOrderIndex++; Algorithm.IsPrincipal = true; Algorithm.OrderIndex = propertyOrderIndex++; Algorithm.DataSource = DataSourceHelper.ForEnum(SymmetricAlgorithms.AES, SymmetricAlgorithms.AESGCM, SymmetricAlgorithms.DES, SymmetricAlgorithms.RC2, SymmetricAlgorithms.Rijndael, SymmetricAlgorithms.TripleDES); Algorithm.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown }; - Input.IsPrincipal = true; - Input.OrderIndex = propertyOrderIndex++; - Key.IsPrincipal = true; Key.IsVisible = true; Key.OrderIndex = propertyOrderIndex++; @@ -93,16 +98,20 @@ protected override void InitializeModel() KeyInputModeSwitch.IsVisible = false; - Encoding.IsPrincipal = false; - Encoding.OrderIndex = propertyOrderIndex++; - Encoding.Value = null; - Encoding.IsRequired = true; + KeyEncodingString.IsPrincipal = false; + KeyEncodingString.IsVisible = true; + KeyEncodingString.OrderIndex = propertyOrderIndex++; + + KeyEncodingString.DataSource = _encodingDataSource; + KeyEncodingString.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown, Metadata = new Dictionary() }; + + _encodingDataSource.Data = EncodingHelpers.GetAvailableEncodings(); Result.IsPrincipal = false; Result.OrderIndex = propertyOrderIndex++; ContinueOnError.IsPrincipal = false; - ContinueOnError.OrderIndex = propertyOrderIndex++; + ContinueOnError.OrderIndex = propertyOrderIndex; ContinueOnError.Widget = new DefaultWidget { Type = ViewModelWidgetType.NullableBoolean }; ContinueOnError.Value = false; @@ -131,19 +140,28 @@ protected override void ManualRegisterDependencies() /// private void KeyInputModeChanged_Action() { + ResetAllKeyInputMode(); switch (KeyInputModeSwitch.Value) { case KeyInputMode.Key: + Key.IsRequired = true; Key.IsVisible = true; - KeySecureString.IsVisible = false; break; case KeyInputMode.SecureKey: - Key.IsVisible = false; KeySecureString.IsVisible = true; + KeySecureString.IsRequired = true; break; default: throw new NotImplementedException(); } } + + private void ResetAllKeyInputMode() + { + Key.IsRequired = false; + Key.IsVisible = false; + KeySecureString.IsVisible = false; + KeySecureString.IsRequired = false; + } } } diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/EncryptFileViewModel.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/EncryptFileViewModel.cs index 1064a8c49..7aaee2e33 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/EncryptFileViewModel.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/EncryptFileViewModel.cs @@ -1,33 +1,34 @@ using System; +using System.Activities; using System.Activities.DesignViewModels; using System.Activities.ViewModels; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Reflection; using System.Security; -using System.Text; -using System.Threading.Tasks; -using UiPath.Cryptography.Activities.NetCore.ViewModels; +using UiPath.Cryptography.Activities.Helpers; +using UiPath.Cryptography.Activities.Properties; using UiPath.Cryptography.Enums; +using UiPath.Platform.ResourceHandling; -namespace UiPath.Cryptography.Activities -{ - /// - /// Encrypts a file with a key based on a specified key encoding and algorithm. - /// - [ViewModelClass(typeof(EncryptFileViewModel))] - public partial class EncryptFile - { - } -} +#pragma warning disable CS0618 // obsolete encryption algorithm namespace UiPath.Cryptography.Activities.NetCore.ViewModels { - public partial class EncryptFileViewModel : DesignPropertiesViewModel + [ExcludeFromCodeCoverage] + public class EncryptFileViewModel : DesignPropertiesViewModel { + private readonly DataSource _encodingDataSource; + private InArgument _backupInputFile; + private InArgument _backupInputFilePath; + /// /// Basic constructor /// /// public EncryptFileViewModel(IDesignServices services) : base(services) { + _encodingDataSource = EncodingHelpers.ConfigureEncodingDataSource(); } /// @@ -36,9 +37,9 @@ public EncryptFileViewModel(IDesignServices services) : base(services) public DesignProperty Algorithm { get; set; } = new DesignProperty(); /// - /// The path to the file that you want to encrypt. + /// A drop-down which enables you to select the encoding option you want to use. /// - public DesignInArgument InputFilePath { get; set; } = new DesignInArgument(); + public DesignInArgument KeyEncodingString { get; set; } = new() { Name = nameof(KeyEncodingString) }; /// /// The key that you want to use to encrypt the specified file. @@ -51,42 +52,82 @@ public EncryptFileViewModel(IDesignServices services) : base(services) public DesignInArgument KeySecureString { get; set; } = new DesignInArgument(); /// - /// Switches Key as string or secure string + /// Switches Key as string or secure string /// public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); /// - /// The encoding used to interpret the key specified in the Key property. + /// If a file already exists at the path specified in the Output path field, selecting this check box overwrites it. + /// + public DesignProperty Overwrite { get; set; } = new DesignProperty(); + + /// + /// A drop-down which enables you to select the encryption algorithm you want to use. + /// + public DesignInArgument ContinueOnError { get; set; } = new DesignInArgument(); + + /// + /// The file that you want to encrypt. + /// + public DesignInArgument InputFile { get; set; } = new DesignInArgument(); + + /// + /// The path to the file that you want to encrypt. + /// + public DesignInArgument InputFilePath { get; set; } = new DesignInArgument(); + + /// + /// Switches File as IResource or string /// - public DesignInArgument KeyEncoding { get; set; } = new DesignInArgument(); + public DesignProperty FileInputModeSwitch { get; set; } = new DesignProperty(); /// - /// The path where you want to save the encrypted file. + /// The output path to the file that you want to encrypt. /// public DesignInArgument OutputFilePath { get; set; } = new DesignInArgument(); /// - /// If a file already exists at the path specified in the Output path field, selecting this check box overwrites it. + /// The file that you want to encrypt. /// - public DesignProperty Overwrite { get; set; } = new DesignProperty(); + public DesignOutArgument EncryptedFile { get; set; } = new DesignOutArgument(); /// - /// A drop-down which enables you to select the encryption algorithm you want to use. + /// A warning about using a deprecated encryption algorithm, due to be removed in the future /// - public DesignInArgument ContinueOnError { get; set; } = new DesignInArgument(); + [NotMappedProperty] + public DesignProperty DeprecatedWarning { get; set; } = new DesignProperty(); protected override void InitializeModel() { base.InitializeModel(); - int propertyOrderIndex = 1; + var propertyOrderIndex = 1; + + InputFile.IsPrincipal = true; + InputFile.IsVisible = false; + InputFile.OrderIndex = propertyOrderIndex++; + + InputFilePath.IsPrincipal = true; + InputFilePath.IsVisible = true; + InputFilePath.OrderIndex = propertyOrderIndex++; + + FileInputModeSwitch.IsVisible = false; Algorithm.IsPrincipal = true; Algorithm.OrderIndex = propertyOrderIndex++; - Algorithm.DataSource = DataSourceHelper.ForEnum(SymmetricAlgorithms.AES, SymmetricAlgorithms.AESGCM, SymmetricAlgorithms.DES, SymmetricAlgorithms.RC2, SymmetricAlgorithms.Rijndael, SymmetricAlgorithms.TripleDES); + + Algorithm.DataSource = DataSourceHelper.ForEnum(SymmetricAlgorithms.AES, SymmetricAlgorithms.AESGCM, + SymmetricAlgorithms.DES, SymmetricAlgorithms.RC2, SymmetricAlgorithms.Rijndael, + SymmetricAlgorithms.TripleDES); + Algorithm.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown }; - InputFilePath.IsPrincipal = true; - InputFilePath.OrderIndex = propertyOrderIndex++; + DeprecatedWarning.OrderIndex = propertyOrderIndex++; + DeprecatedWarning.Widget = new TextBlockWidget + { + Level = TextBlockWidgetLevel.Warning, + Multiline = true, + }; + DeprecatedWarning.Value = Resources.Activity_Encrypt_Algorithm_Deprecated_Warning; Key.IsPrincipal = true; Key.IsVisible = true; @@ -98,13 +139,19 @@ protected override void InitializeModel() KeyInputModeSwitch.IsVisible = false; - OutputFilePath.IsPrincipal = true; - OutputFilePath.OrderIndex = propertyOrderIndex++; + KeyEncodingString.IsPrincipal = false; + KeyEncodingString.IsVisible = true; + KeyEncodingString.OrderIndex = propertyOrderIndex++; + + KeyEncodingString.DataSource = _encodingDataSource; + KeyEncodingString.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown, Metadata = new Dictionary() }; - KeyEncoding.IsPrincipal = false; - KeyEncoding.OrderIndex = propertyOrderIndex++; - KeyEncoding.Value = null; - KeyEncoding.IsRequired = true; + _encodingDataSource.Data = EncodingHelpers.GetAvailableEncodings(); + + OutputFilePath.IsPrincipal = false; + OutputFilePath.IsVisible = true; + OutputFilePath.IsRequired = false; + OutputFilePath.OrderIndex = propertyOrderIndex++; Overwrite.IsPrincipal = false; Overwrite.OrderIndex = propertyOrderIndex++; @@ -119,20 +166,35 @@ protected override void InitializeModel() .AddMenuProperty(Key, KeyInputMode.Key) .AddMenuProperty(KeySecureString, KeyInputMode.SecureKey) .BuildAndInsertMenuActions(); + + MenuActionsBuilder.WithValueProperty(FileInputModeSwitch) + .AddMenuProperty(InputFile, FileInputMode.File) + .AddMenuProperty(InputFilePath, FileInputMode.FilePath) + .BuildAndInsertMenuActions(); + + EncryptedFile.IsPrincipal = false; + EncryptedFile.OrderIndex = propertyOrderIndex; + + _backupInputFile = InputFile.Value; + _backupInputFilePath = InputFilePath.Value; } - /// + /// protected override void InitializeRules() { base.InitializeRules(); Rule(nameof(KeyInputModeSwitch), KeyInputModeChanged_Action); + Rule(nameof(FileInputModeSwitch), FileInputModeChanged_Action); + Rule(nameof(Algorithm), DeprecatedAlgorithmWarning_Action); } - /// + /// protected override void ManualRegisterDependencies() { base.ManualRegisterDependencies(); RegisterDependency(KeyInputModeSwitch, nameof(KeyInputModeSwitch.Value), nameof(KeyInputModeSwitch)); + RegisterDependency(FileInputModeSwitch, nameof(FileInputModeSwitch.Value), nameof(FileInputModeSwitch)); + RegisterDependency(Algorithm, nameof(Algorithm.Value), nameof(Algorithm)); } /// @@ -140,19 +202,95 @@ protected override void ManualRegisterDependencies() /// private void KeyInputModeChanged_Action() { + ResetAllKeyInputMode(); switch (KeyInputModeSwitch.Value) { case KeyInputMode.Key: Key.IsVisible = true; - KeySecureString.IsVisible = false; + Key.IsRequired = true; break; case KeyInputMode.SecureKey: - Key.IsVisible = false; KeySecureString.IsVisible = true; + KeySecureString.IsRequired = true; + break; + default: + throw new NotImplementedException(); + } + } + + /// + /// File input Mode has changed. Set controls visibility based on selection + /// + private void FileInputModeChanged_Action() + { + ResetAllInputFile(); + switch (FileInputModeSwitch.Value) + { + case FileInputMode.File: + _backupInputFilePath = InputFilePath.Value; + InputFilePath.Value = null; + + InputFile.IsRequired = true; + InputFile.IsVisible = true; + InputFile.Value = _backupInputFile; + + break; + + case FileInputMode.FilePath: + _backupInputFile = InputFile.Value; + InputFile.Value = null; + + InputFilePath.IsVisible = true; + InputFilePath.IsRequired = true; + InputFilePath.Value = _backupInputFilePath; + break; + default: throw new NotImplementedException(); } } + + private void ResetAllKeyInputMode() + { + Key.IsRequired = false; + Key.IsVisible = false; + KeySecureString.IsVisible = false; + KeySecureString.IsRequired = false; + } + + private void ResetAllInputFile() + { + InputFile.IsRequired = false; + InputFile.IsVisible = false; + InputFilePath.IsRequired = false; + InputFilePath.IsVisible = false; + } + + /// + /// Checks if the selected encryption algorithm is obsolete + /// + private void DeprecatedAlgorithmWarning_Action() + { + try + { + var enumName = typeof(SymmetricAlgorithms).GetEnumName(Algorithm.Value); + var field = typeof(SymmetricAlgorithms).GetField(enumName); + + var obsoleteAttribute = field?.GetCustomAttribute(); + if (obsoleteAttribute != null) + { + DeprecatedWarning.IsVisible = true; + } + else + { + DeprecatedWarning.IsVisible= false; + } + } + catch + { + DeprecatedWarning.IsVisible = false; + } + } } -} +} \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/EncryptTextViewModel.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/EncryptTextViewModel.cs index 8b42da86b..6175e4eda 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/EncryptTextViewModel.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/EncryptTextViewModel.cs @@ -1,10 +1,12 @@ using System; using System.Activities.DesignViewModels; using System.Activities.ViewModels; +using System.Collections.Generic; +using System.Reflection; using System.Security; -using System.Text; -using System.Threading.Tasks; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Activities.NetCore.ViewModels; +using UiPath.Cryptography.Activities.Properties; using UiPath.Cryptography.Enums; namespace UiPath.Cryptography.Activities @@ -18,16 +20,21 @@ public partial class EncryptText } } +#pragma warning disable CS0618 // obsolete encryption algorithm + namespace UiPath.Cryptography.Activities.NetCore.ViewModels { public partial class EncryptTextViewModel : DesignPropertiesViewModel { + private readonly DataSource _encodingDataSource; + /// /// Basic constructor /// /// public EncryptTextViewModel(IDesignServices services) : base(services) { + _encodingDataSource = EncodingHelpers.ConfigureEncodingDataSource(); } /// @@ -51,14 +58,14 @@ public EncryptTextViewModel(IDesignServices services) : base(services) public DesignInArgument KeySecureString { get; set; } = new DesignInArgument(); /// - /// Switches Key as string or secure string + /// A drop-down which enables you to select the encoding option you want to use. /// - public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); + public DesignInArgument KeyEncodingString { get; set; } = new() { Name = nameof(KeyEncodingString) }; /// - /// The encoding used to interpret the key specified in the Key property. + /// Switches Key as string or secure string /// - public DesignInArgument Encoding { get; set; } = new DesignInArgument(); + public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); /// /// The encrypted text, stored in a String variable. @@ -70,18 +77,32 @@ public EncryptTextViewModel(IDesignServices services) : base(services) /// public DesignInArgument ContinueOnError { get; set; } = new DesignInArgument(); + /// + /// A warning about using a deprecated encryption algorithm, due to be removed in the future + /// + [NotMappedProperty] + public DesignProperty DeprecatedWarning { get; set; } = new DesignProperty(); + protected override void InitializeModel() { base.InitializeModel(); - int propertyOrderIndex = 1; + var propertyOrderIndex = 1; + + Input.IsPrincipal = true; + Input.OrderIndex = propertyOrderIndex++; Algorithm.IsPrincipal = true; Algorithm.OrderIndex = propertyOrderIndex++; Algorithm.DataSource = DataSourceHelper.ForEnum(SymmetricAlgorithms.AES, SymmetricAlgorithms.AESGCM, SymmetricAlgorithms.DES, SymmetricAlgorithms.RC2, SymmetricAlgorithms.Rijndael, SymmetricAlgorithms.TripleDES); Algorithm.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown }; - Input.IsPrincipal = true; - Input.OrderIndex = propertyOrderIndex++; + DeprecatedWarning.OrderIndex = propertyOrderIndex++; + DeprecatedWarning.Widget = new TextBlockWidget + { + Level = TextBlockWidgetLevel.Warning, + Multiline = true + }; + DeprecatedWarning.Value = Resources.Activity_Encrypt_Algorithm_Deprecated_Warning; Key.IsPrincipal = true; Key.IsVisible = true; @@ -93,16 +114,21 @@ protected override void InitializeModel() KeyInputModeSwitch.IsVisible = false; - Encoding.IsPrincipal = false; - Encoding.OrderIndex = propertyOrderIndex++; - Encoding.Value = null; - Encoding.IsRequired = true; + KeyEncodingString.IsPrincipal = false; + KeyEncodingString.IsVisible = true; + KeyEncodingString.OrderIndex = propertyOrderIndex++; + + KeyEncodingString.DataSource = _encodingDataSource; + KeyEncodingString.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown, Metadata = new Dictionary() }; + + _encodingDataSource.Data = EncodingHelpers.GetAvailableEncodings(); + Result.IsPrincipal = false; Result.OrderIndex = propertyOrderIndex++; ContinueOnError.IsPrincipal = false; - ContinueOnError.OrderIndex = propertyOrderIndex++; + ContinueOnError.OrderIndex = propertyOrderIndex; ContinueOnError.Widget = new DefaultWidget { Type = ViewModelWidgetType.NullableBoolean }; ContinueOnError.Value = false; @@ -117,6 +143,7 @@ protected override void InitializeRules() { base.InitializeRules(); Rule(nameof(KeyInputModeSwitch), KeyInputModeChanged_Action); + Rule(nameof(Algorithm), DeprecatedAlgorithmWarning_Action); } /// @@ -124,6 +151,7 @@ protected override void ManualRegisterDependencies() { base.ManualRegisterDependencies(); RegisterDependency(KeyInputModeSwitch, nameof(KeyInputModeSwitch.Value), nameof(KeyInputModeSwitch)); + RegisterDependency(Algorithm, nameof(Algorithm.Value), nameof(Algorithm)); } /// @@ -131,19 +159,54 @@ protected override void ManualRegisterDependencies() /// private void KeyInputModeChanged_Action() { + ResetAllKeyInputMode(); switch (KeyInputModeSwitch.Value) { case KeyInputMode.Key: + Key.IsRequired = true; Key.IsVisible = true; - KeySecureString.IsVisible = false; break; case KeyInputMode.SecureKey: - Key.IsVisible = false; KeySecureString.IsVisible = true; + KeySecureString.IsRequired = true; break; default: throw new NotImplementedException(); } } + + private void ResetAllKeyInputMode() + { + Key.IsRequired = false; + Key.IsVisible = false; + KeySecureString.IsVisible = false; + KeySecureString.IsRequired = false; + } + + /// + /// Checks if the selected encryption algorithm is obsolete + /// + private void DeprecatedAlgorithmWarning_Action() + { + try + { + var enumName = typeof(SymmetricAlgorithms).GetEnumName(Algorithm.Value); + var field = typeof(SymmetricAlgorithms).GetField(enumName); + + var obsoleteAttribute = field?.GetCustomAttribute(); + if (obsoleteAttribute != null) + { + DeprecatedWarning.IsVisible = true; + } + else + { + DeprecatedWarning.IsVisible = false; + } + } + catch + { + DeprecatedWarning.IsVisible = false; + } + } } } diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/KeyedHashFileViewModel.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/KeyedHashFileViewModel.cs index d0f6d19dd..42d909d87 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/KeyedHashFileViewModel.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/KeyedHashFileViewModel.cs @@ -1,45 +1,53 @@ using System; +using System.Activities; using System.Activities.DesignViewModels; using System.Activities.ViewModels; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Security; -using System.Text; -using UiPath.Cryptography.Activities.NetCore.ViewModels; +using System.Security.Cryptography; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Enums; - -namespace UiPath.Cryptography.Activities -{ - /// - /// Hashes a file with a key using a specified algorithm and encoding format - /// and returns the hexadecimal string representation of the resulting hash. - /// - [ViewModelClass(typeof(KeyedHashFileViewModel))] - public partial class KeyedHashFile - { - } -} +using UiPath.Platform.ResourceHandling; namespace UiPath.Cryptography.Activities.NetCore.ViewModels { - public partial class KeyedHashFileViewModel : DesignPropertiesViewModel + [ExcludeFromCodeCoverage] + public class KeyedHashFileViewModel : DesignPropertiesViewModel { + private readonly DataSource _encodingDataSource; + private InArgument _backupInputFile; + private InArgument _backupInputFilePath; + /// /// Basic constructor /// /// public KeyedHashFileViewModel(IDesignServices services) : base(services) { + _encodingDataSource = EncodingHelpers.ConfigureEncodingDataSource(); } /// - /// A drop-down which enables you to select the keyed hashing algorithm you want to use. + /// The file that you want to hash. /// - public DesignProperty Algorithm { get; set; } = new DesignProperty(); + public DesignInArgument InputFile { get; set; } = new DesignInArgument(); /// /// The path to the file you want to hash. /// public DesignInArgument FilePath { get; set; } = new DesignInArgument(); + /// + /// Switches Key as string or secure string + /// + public DesignProperty FileInputModeSwitch { get; set; } = new DesignProperty(); + + /// + /// A drop-down which enables you to select the keyed hashing algorithm you want to use. + /// + public DesignProperty Algorithm { get; set; } = new DesignProperty(); + /// /// The key that you want to use to hash the specified file. /// @@ -51,14 +59,14 @@ public KeyedHashFileViewModel(IDesignServices services) : base(services) public DesignInArgument KeySecureString { get; set; } = new DesignInArgument(); /// - /// Switches Key as string or secure string + /// A drop-down which enables you to select the encoding option you want to use. /// - public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); + public DesignInArgument KeyEncodingString { get; set; } = new() { Name = nameof(KeyEncodingString) }; /// - /// The encoding used to interpret the key specified in the Key property. + /// Switches Key as string or secure string /// - public DesignInArgument Encoding { get; set; } = new DesignInArgument(); + public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); /// /// The hashed file, stored in a String variable. @@ -73,16 +81,23 @@ public KeyedHashFileViewModel(IDesignServices services) : base(services) protected override void InitializeModel() { base.InitializeModel(); - int propertyOrderIndex = 1; + var propertyOrderIndex = 1; + + InputFile.IsPrincipal = true; + InputFile.IsVisible = false; + InputFile.OrderIndex = propertyOrderIndex++; + + FilePath.IsPrincipal = true; + FilePath.IsVisible = true; + FilePath.OrderIndex = propertyOrderIndex++; Algorithm.IsPrincipal = true; Algorithm.OrderIndex = propertyOrderIndex++; - Algorithm.DataSource = DataSourceHelper.ForEnum(KeyedHashAlgorithms.HMACMD5, KeyedHashAlgorithms.HMACSHA1, KeyedHashAlgorithms.HMACSHA256, KeyedHashAlgorithms.HMACSHA384, KeyedHashAlgorithms.HMACSHA512); + Algorithm.DataSource = DataSourceHelper.ForEnum(KeyedHashAlgorithms.HMACMD5, KeyedHashAlgorithms.HMACSHA1, KeyedHashAlgorithms.HMACSHA256, KeyedHashAlgorithms.HMACSHA384, KeyedHashAlgorithms.HMACSHA512, KeyedHashAlgorithms.SHA1, KeyedHashAlgorithms.SHA256, KeyedHashAlgorithms.SHA384, KeyedHashAlgorithms.SHA512); Algorithm.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown }; - FilePath.IsPrincipal = true; - FilePath.OrderIndex = propertyOrderIndex++; - FilePath.Widget = new DefaultWidget { Type = ViewModelWidgetType.Browser }; + + FileInputModeSwitch.IsVisible = false; Key.IsPrincipal = true; Key.IsVisible = true; @@ -94,31 +109,44 @@ protected override void InitializeModel() KeyInputModeSwitch.IsVisible = false; - Encoding.IsPrincipal = false; - Encoding.OrderIndex = propertyOrderIndex++; - Encoding.Value = null; - Encoding.IsRequired = true; + KeyEncodingString.IsPrincipal = false; + KeyEncodingString.IsVisible = true; + KeyEncodingString.OrderIndex = propertyOrderIndex++; + + KeyEncodingString.DataSource = _encodingDataSource; + KeyEncodingString.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown, Metadata = new Dictionary() }; + + _encodingDataSource.Data = EncodingHelpers.GetAvailableEncodings(); - Result.IsPrincipal = false; Result.OrderIndex = propertyOrderIndex++; ContinueOnError.IsPrincipal = false; - ContinueOnError.OrderIndex = propertyOrderIndex++; - ContinueOnError.Widget = new DefaultWidget { Type = ViewModelWidgetType.NullableBoolean }; + ContinueOnError.OrderIndex = propertyOrderIndex; + ContinueOnError.Widget = new DefaultWidget { Type = ViewModelWidgetType.NullableBoolean, Metadata = new Dictionary() }; ContinueOnError.Value = false; MenuActionsBuilder.WithValueProperty(KeyInputModeSwitch) .AddMenuProperty(Key, KeyInputMode.Key) .AddMenuProperty(KeySecureString, KeyInputMode.SecureKey) .BuildAndInsertMenuActions(); - } + MenuActionsBuilder.WithValueProperty(FileInputModeSwitch) + .AddMenuProperty(InputFile, FileInputMode.File) + .AddMenuProperty(FilePath, FileInputMode.FilePath) + .BuildAndInsertMenuActions(); + + _backupInputFile = InputFile.Value; + _backupInputFilePath = FilePath.Value; + } /// protected override void InitializeRules() { base.InitializeRules(); Rule(nameof(KeyInputModeSwitch), KeyInputModeChanged_Action); + Rule(nameof(FileInputModeSwitch), FileInputModeChanged_Action); + Rule(nameof(Algorithm), AlgorithmChanged_Action); + } /// @@ -126,6 +154,7 @@ protected override void ManualRegisterDependencies() { base.ManualRegisterDependencies(); RegisterDependency(KeyInputModeSwitch, nameof(KeyInputModeSwitch.Value), nameof(KeyInputModeSwitch)); + RegisterDependency(FileInputModeSwitch, nameof(FileInputModeSwitch.Value), nameof(FileInputModeSwitch)); } /// @@ -133,15 +162,97 @@ protected override void ManualRegisterDependencies() /// private void KeyInputModeChanged_Action() { + ResetAllKeyInputMode(); switch (KeyInputModeSwitch.Value) { case KeyInputMode.Key: + Key.IsRequired = true; Key.IsVisible = true; - KeySecureString.IsVisible = false; break; case KeyInputMode.SecureKey: + Key.IsRequired = false; + Key.IsVisible = false; + break; + default: + throw new NotImplementedException(); + } + } + + /// + /// File input Mode has changed. Set controls visibility based on selection + /// + private void FileInputModeChanged_Action() + { + ResetAllInputFile(); + switch (FileInputModeSwitch.Value) + { + case FileInputMode.File: + _backupInputFilePath = FilePath.Value; + FilePath.Value = null; + + InputFile.IsRequired = true; + InputFile.IsVisible = true; + InputFile.Value = _backupInputFile; + + break; + + case FileInputMode.FilePath: + _backupInputFile = InputFile.Value; + InputFile.Value = null; + + FilePath.IsVisible = true; + FilePath.IsRequired = true; + FilePath.Value = _backupInputFilePath; + + break; + + default: + throw new NotImplementedException(); + } + } + + private void ResetAllKeyInputMode() + { + Key.IsRequired = false; + Key.IsVisible = false; + KeySecureString.IsVisible = false; + KeySecureString.IsRequired = false; + } + + private void ResetAllInputFile() + { + InputFile.IsRequired = false; + InputFile.IsVisible = false; + FilePath.IsVisible = false; + FilePath.IsRequired = false; + } + + /// + /// Algorithm has changed. Set controls visibility based on selection + /// + private void AlgorithmChanged_Action() + { + switch (Algorithm.Value.ToString().StartsWith(nameof(HMAC))) + { + case true: + if (KeyInputModeSwitch.Value == KeyInputMode.Key) + { + Key.IsVisible = true; + Key.IsRequired = true; + KeySecureString.IsVisible = false; + } + else + { + Key.IsVisible = false; + KeySecureString.IsRequired = true; + KeySecureString.IsVisible = true; + } + break; + case false: + Key.IsRequired = false; Key.IsVisible = false; - KeySecureString.IsVisible = true; + KeySecureString.IsVisible = false; + KeySecureString.IsRequired = false; break; default: throw new NotImplementedException(); diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/KeyedHashTextViewModel.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/KeyedHashTextViewModel.cs index 682e53118..92e791d2f 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/KeyedHashTextViewModel.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/NetCore/ViewModels/KeyedHashTextViewModel.cs @@ -1,9 +1,10 @@ using System; using System.Activities.DesignViewModels; using System.Activities.ViewModels; +using System.Collections.Generic; using System.Security; -using System.Text; -using System.Threading.Tasks; +using System.Security.Cryptography; +using UiPath.Cryptography.Activities.Helpers; using UiPath.Cryptography.Activities.NetCore.ViewModels; using UiPath.Cryptography.Enums; @@ -17,18 +18,30 @@ namespace UiPath.Cryptography.Activities public partial class KeyedHashText { } + + /// + /// Hashes a string with a key using a specified algorithm and returns + /// the hexadecimal string representation of the resulting hash. + /// + [ViewModelClass(typeof(KeyedHashTextViewModel))] + public partial class HashText + { + } } namespace UiPath.Cryptography.Activities.NetCore.ViewModels { public partial class KeyedHashTextViewModel : DesignPropertiesViewModel { + private readonly DataSource _encodingDataSource; + /// /// Basic constructor /// /// public KeyedHashTextViewModel(IDesignServices services) : base(services) { + _encodingDataSource = EncodingHelpers.ConfigureEncodingDataSource(); } /// @@ -46,6 +59,11 @@ public KeyedHashTextViewModel(IDesignServices services) : base(services) /// public DesignInArgument Key { get; set; } = new DesignInArgument(); + /// + /// A drop-down which enables you to select the encoding option you want to use. + /// + public DesignInArgument KeyEncodingString { get; set; } = new() { Name = nameof(KeyEncodingString) }; + /// /// The secure string used to hash the input string. /// @@ -56,11 +74,6 @@ public KeyedHashTextViewModel(IDesignServices services) : base(services) /// public DesignProperty KeyInputModeSwitch { get; set; } = new DesignProperty(); - /// - /// The encoding used to interpret the key specified in the Key property. - /// - public DesignInArgument Encoding { get; set; } = new DesignInArgument(); - /// /// The hashed text, stored in a String variable. /// @@ -74,16 +87,17 @@ public KeyedHashTextViewModel(IDesignServices services) : base(services) protected override void InitializeModel() { base.InitializeModel(); - int propertyOrderIndex = 1; + var propertyOrderIndex = 1; + + Input.IsPrincipal = true; + Input.IsRequired = true; + Input.OrderIndex = propertyOrderIndex++; Algorithm.IsPrincipal = true; Algorithm.OrderIndex = propertyOrderIndex++; - Algorithm.DataSource = DataSourceHelper.ForEnum(KeyedHashAlgorithms.HMACMD5, KeyedHashAlgorithms.HMACSHA1, KeyedHashAlgorithms.HMACSHA256, KeyedHashAlgorithms.HMACSHA384, KeyedHashAlgorithms.HMACSHA512); + Algorithm.DataSource = DataSourceHelper.ForEnum(KeyedHashAlgorithms.HMACMD5, KeyedHashAlgorithms.HMACSHA1, KeyedHashAlgorithms.HMACSHA256, KeyedHashAlgorithms.HMACSHA384, KeyedHashAlgorithms.HMACSHA512, KeyedHashAlgorithms.SHA1, KeyedHashAlgorithms.SHA256, KeyedHashAlgorithms.SHA384, KeyedHashAlgorithms.SHA512); Algorithm.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown }; - Input.IsPrincipal = true; - Input.OrderIndex = propertyOrderIndex++; - Key.IsPrincipal = true; Key.IsVisible = true; Key.OrderIndex = propertyOrderIndex++; @@ -94,17 +108,21 @@ protected override void InitializeModel() KeyInputModeSwitch.IsVisible = false; - Encoding.IsPrincipal = false; - Encoding.OrderIndex = propertyOrderIndex++; - Encoding.Value = null; - Encoding.IsRequired = true; + KeyEncodingString.IsPrincipal = false; + KeyEncodingString.IsVisible = true; + KeyEncodingString.OrderIndex = propertyOrderIndex++; + + KeyEncodingString.DataSource = _encodingDataSource; + KeyEncodingString.Widget = new DefaultWidget { Type = ViewModelWidgetType.Dropdown, Metadata = new Dictionary() }; + + _encodingDataSource.Data = EncodingHelpers.GetAvailableEncodings(); Result.IsPrincipal = false; Result.OrderIndex = propertyOrderIndex++; ContinueOnError.IsPrincipal = false; - ContinueOnError.OrderIndex = propertyOrderIndex++; - ContinueOnError.Widget = new DefaultWidget { Type = ViewModelWidgetType.NullableBoolean }; + ContinueOnError.OrderIndex = propertyOrderIndex; + ContinueOnError.Widget = new DefaultWidget { Type = ViewModelWidgetType.NullableBoolean, Metadata = new Dictionary() }; ContinueOnError.Value = false; MenuActionsBuilder.WithValueProperty(KeyInputModeSwitch) @@ -112,12 +130,12 @@ protected override void InitializeModel() .AddMenuProperty(KeySecureString, KeyInputMode.SecureKey) .BuildAndInsertMenuActions(); } - /// protected override void InitializeRules() { base.InitializeRules(); Rule(nameof(KeyInputModeSwitch), KeyInputModeChanged_Action); + Rule(nameof(Algorithm), AlgorithmChanged_Action); } /// @@ -132,15 +150,56 @@ protected override void ManualRegisterDependencies() /// private void KeyInputModeChanged_Action() { + ResetAllKeyInputMode(); switch (KeyInputModeSwitch.Value) { case KeyInputMode.Key: + Key.IsRequired = true; Key.IsVisible = true; - KeySecureString.IsVisible = false; break; case KeyInputMode.SecureKey: - Key.IsVisible = false; KeySecureString.IsVisible = true; + KeySecureString.IsRequired = true; + break; + default: + throw new NotImplementedException(); + } + } + + private void ResetAllKeyInputMode() + { + Key.IsRequired = false; + Key.IsVisible = false; + KeySecureString.IsVisible = false; + KeySecureString.IsRequired = false; + } + + /// + /// Algorithm has changed. Set controls visibility based on selection + /// + private void AlgorithmChanged_Action() + { + switch (Algorithm.Value.ToString().StartsWith(nameof(HMAC))) + { + case true: + if (KeyInputModeSwitch.Value == KeyInputMode.Key) + { + Key.IsVisible = true; + Key.IsRequired = true; + KeySecureString.IsVisible = false; + } + else + { + Key.IsVisible = false; + KeySecureString.IsRequired = true; + KeySecureString.IsVisible = true; + } + break; + case false: + Key.IsRequired = false; + Key.IsVisible = false; + KeySecureString.IsVisible = false; + KeySecureString.IsRequired = false; break; default: throw new NotImplementedException(); diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.Designer.cs b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.Designer.cs index 9da1ffa54..d9d2d5a1b 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.Designer.cs +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.Designer.cs @@ -114,6 +114,60 @@ public static string Activity_DecryptFile_Property_ContinueOnError_Name { } } + /// + /// Looks up a localized string similar to The decrypted file. + /// + public static string Activity_DecryptFile_Property_DecryptedFile_Description { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_DecryptedFile_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Decrypted File. + /// + public static string Activity_DecryptFile_Property_DecryptedFile_Name { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_DecryptedFile_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The switch between File Path and Resource. + /// + public static string Activity_DecryptFile_Property_FileInputModeSwitch_Description { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_FileInputModeSwitch_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FileInputModeSwitch. + /// + public static string Activity_DecryptFile_Property_FileInputModeSwitch_Name { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_FileInputModeSwitch_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The file to be decrypted. + /// + public static string Activity_DecryptFile_Property_InputFile_Description { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_InputFile_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File. + /// + public static string Activity_DecryptFile_Property_InputFile_Name { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_InputFile_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The path to the file that you want to decrypt.. /// @@ -124,7 +178,7 @@ public static string Activity_DecryptFile_Property_InputFilePath_Description { } /// - /// Looks up a localized string similar to Input Path. + /// Looks up a localized string similar to File path. /// public static string Activity_DecryptFile_Property_InputFilePath_Name { get { @@ -168,6 +222,24 @@ public static string Activity_DecryptFile_Property_KeyEncoding_Name { } } + /// + /// Looks up a localized string similar to The encoding used to interpret the key specified in the Key property.. + /// + public static string Activity_DecryptFile_Property_KeyEncodingString_Description { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_KeyEncodingString_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Key Encoding. + /// + public static string Activity_DecryptFile_Property_KeyEncodingString_Name { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_KeyEncodingString_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The switch between Key and Secure String Key. /// @@ -204,6 +276,24 @@ public static string Activity_DecryptFile_Property_KeySecureString_Name { } } + /// + /// Looks up a localized string similar to The file name you want to use to save the decrypted file.. + /// + public static string Activity_DecryptFile_Property_OutputFileName_Description { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_OutputFileName_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Decrypted Filename. + /// + public static string Activity_DecryptFile_Property_OutputFileName_Name { + get { + return ResourceManager.GetString("Activity_DecryptFile_Property_OutputFileName_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The path where you want to save the decrypted file.. /// @@ -214,7 +304,7 @@ public static string Activity_DecryptFile_Property_OutputFilePath_Description { } /// - /// Looks up a localized string similar to Output Path. + /// Looks up a localized string similar to Output file name and location. /// public static string Activity_DecryptFile_Property_OutputFilePath_Name { get { @@ -348,6 +438,24 @@ public static string Activity_DecryptText_Property_Key_Name { } } + /// + /// Looks up a localized string similar to The encoding used to interpret the key specified in the Key property.. + /// + public static string Activity_DecryptText_Property_KeyEncodingString_Description { + get { + return ResourceManager.GetString("Activity_DecryptText_Property_KeyEncodingString_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Key Encoding. + /// + public static string Activity_DecryptText_Property_KeyEncodingString_Name { + get { + return ResourceManager.GetString("Activity_DecryptText_Property_KeyEncodingString_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The switch between Key and Secure String Key. /// @@ -394,7 +502,7 @@ public static string Activity_DecryptText_Property_Result_Description { } /// - /// Looks up a localized string similar to Result. + /// Looks up a localized string similar to Decrypted Text. /// public static string Activity_DecryptText_Property_Result_Name { get { @@ -402,6 +510,15 @@ public static string Activity_DecryptText_Property_Result_Name { } } + /// + /// Looks up a localized string similar to The selected encryption algorithm is deprecated and it will no longer be supported in future versions.. + /// + public static string Activity_Encrypt_Algorithm_Deprecated_Warning { + get { + return ResourceManager.GetString("Activity_Encrypt_Algorithm_Deprecated_Warning", resourceCulture); + } + } + /// /// Looks up a localized string similar to Encrypts a file with a key based on a specified key encoding and algorithm.. /// @@ -430,7 +547,7 @@ public static string Activity_EncryptFile_Property_Algorithm_Description { } /// - /// Looks up a localized string similar to Algortithm. + /// Looks up a localized string similar to Algorithm. /// public static string Activity_EncryptFile_Property_Algorithm_Name { get { @@ -456,6 +573,60 @@ public static string Activity_EncryptFile_Property_ContinueOnError_Name { } } + /// + /// Looks up a localized string similar to The encrypted file. + /// + public static string Activity_EncryptFile_Property_EncryptedFile_Description { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_EncryptedFile_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Encrypted File. + /// + public static string Activity_EncryptFile_Property_EncryptedFile_Name { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_EncryptedFile_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The switch between File Path and Resource. + /// + public static string Activity_EncryptFile_Property_FileInputModeSwitch_Description { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_FileInputModeSwitch_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FileInputModeSwitch. + /// + public static string Activity_EncryptFile_Property_FileInputModeSwitch_Name { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_FileInputModeSwitch_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The file to be encrypted. + /// + public static string Activity_EncryptFile_Property_InputFile_Description { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_InputFile_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File. + /// + public static string Activity_EncryptFile_Property_InputFile_Name { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_InputFile_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The path to the file that you want to encrypt.. /// @@ -466,7 +637,7 @@ public static string Activity_EncryptFile_Property_InputFilePath_Description { } /// - /// Looks up a localized string similar to Input Path. + /// Looks up a localized string similar to File path. /// public static string Activity_EncryptFile_Property_InputFilePath_Name { get { @@ -510,6 +681,24 @@ public static string Activity_EncryptFile_Property_KeyEncoding_Name { } } + /// + /// Looks up a localized string similar to The encoding used to interpret the key specified in the Key property.. + /// + public static string Activity_EncryptFile_Property_KeyEncodingString_Description { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_KeyEncodingString_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Key Encoding. + /// + public static string Activity_EncryptFile_Property_KeyEncodingString_Name { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_KeyEncodingString_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The switch between Key and Secure String Key. /// @@ -546,6 +735,24 @@ public static string Activity_EncryptFile_Property_KeySecureString_Name { } } + /// + /// Looks up a localized string similar to The file name you want to use to save the encrypted file.. + /// + public static string Activity_EncryptFile_Property_OutputFileName_Description { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_OutputFileName_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Encrypted Filename. + /// + public static string Activity_EncryptFile_Property_OutputFileName_Name { + get { + return ResourceManager.GetString("Activity_EncryptFile_Property_OutputFileName_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The path where you want to save the encrypted file.. /// @@ -556,7 +763,7 @@ public static string Activity_EncryptFile_Property_OutputFilePath_Description { } /// - /// Looks up a localized string similar to Output Path. + /// Looks up a localized string similar to Output file name and location. /// public static string Activity_EncryptFile_Property_OutputFilePath_Name { get { @@ -690,6 +897,24 @@ public static string Activity_EncryptText_Property_Key_Name { } } + /// + /// Looks up a localized string similar to The encoding used to interpret the key specified in the Key property.. + /// + public static string Activity_EncryptText_Property_KeyEncodingString_Description { + get { + return ResourceManager.GetString("Activity_EncryptText_Property_KeyEncodingString_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Key Encoding. + /// + public static string Activity_EncryptText_Property_KeyEncodingString_Name { + get { + return ResourceManager.GetString("Activity_EncryptText_Property_KeyEncodingString_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The switch between Key and Secure String Key. /// @@ -736,7 +961,7 @@ public static string Activity_EncryptText_Property_Result_Description { } /// - /// Looks up a localized string similar to Result. + /// Looks up a localized string similar to Encrypted Text. /// public static string Activity_EncryptText_Property_Result_Name { get { @@ -745,7 +970,7 @@ public static string Activity_EncryptText_Property_Result_Name { } /// - /// Looks up a localized string similar to Applies the selected hashing algorithm on the contents of the provided file and returns the hexadecimal string representation of the resulting hash.. + /// Looks up a localized string similar to This activity is now deprecated. SHA1, SHA256, SHA384, and SHA512 were moved to a single activity Hash File.. /// public static string Activity_HashFile_Description { get { @@ -754,7 +979,7 @@ public static string Activity_HashFile_Description { } /// - /// Looks up a localized string similar to Hash File. + /// Looks up a localized string similar to Hash File (deprecated). /// public static string Activity_HashFile_Name { get { @@ -799,7 +1024,25 @@ public static string Activity_HashFile_Property_ContinueOnError_Name { } /// - /// Looks up a localized string similar to he path to the file you want to hash.. + /// Looks up a localized string similar to The switch between File Path and Resource. + /// + public static string Activity_HashFile_Property_FileInputModeSwitch_Description { + get { + return ResourceManager.GetString("Activity_HashFile_Property_FileInputModeSwitch_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FileInputModeSwitch. + /// + public static string Activity_HashFile_Property_FileInputModeSwitch_Name { + get { + return ResourceManager.GetString("Activity_HashFile_Property_FileInputModeSwitch_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The path to the file you want to hash.. /// public static string Activity_HashFile_Property_FilePath_Description { get { @@ -826,7 +1069,7 @@ public static string Activity_HashFile_Property_Result_Description { } /// - /// Looks up a localized string similar to Result. + /// Looks up a localized string similar to Hash. /// public static string Activity_HashFile_Property_Result_Name { get { @@ -835,7 +1078,7 @@ public static string Activity_HashFile_Property_Result_Name { } /// - /// Looks up a localized string similar to Hashes a string using a specified algorithm and returns the hexadecimal string representation of the resulting hash.. + /// Looks up a localized string similar to This activity is now deprecated. SHA1, SHA256, SHA384, and SHA512 were moved to a single activity Hash Text.. /// public static string Activity_HashText_Description { get { @@ -844,7 +1087,7 @@ public static string Activity_HashText_Description { } /// - /// Looks up a localized string similar to Hash Text. + /// Looks up a localized string similar to Hash Text (deprecated). /// public static string Activity_HashText_Name { get { @@ -934,7 +1177,7 @@ public static string Activity_HashText_Property_Result_Description { } /// - /// Looks up a localized string similar to Result. + /// Looks up a localized string similar to Hash. /// public static string Activity_HashText_Property_Result_Name { get { @@ -943,7 +1186,7 @@ public static string Activity_HashText_Property_Result_Name { } /// - /// Looks up a localized string similar to Hashes a file with a key using a specified algorithm and encoding format and returns the hexadecimal string representation of the resulting hash.. + /// Looks up a localized string similar to Hashes a file with a key using a specified algorithm and returns the hexadecimal string representation of the resulting hash. It supports hashing algorithms with a key and without a key.. /// public static string Activity_KeyedHashFile_Description { get { @@ -952,7 +1195,7 @@ public static string Activity_KeyedHashFile_Description { } /// - /// Looks up a localized string similar to Hash File With Key. + /// Looks up a localized string similar to Hash File. /// public static string Activity_KeyedHashFile_Name { get { @@ -1014,6 +1257,24 @@ public static string Activity_KeyedHashFile_Property_Encoding_Name { } } + /// + /// Looks up a localized string similar to The switch between File Path and Resource. + /// + public static string Activity_KeyedHashFile_Property_FileInputModeSwitch_Description { + get { + return ResourceManager.GetString("Activity_KeyedHashFile_Property_FileInputModeSwitch_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FileInputModeSwitch. + /// + public static string Activity_KeyedHashFile_Property_FileInputModeSwitch_Name { + get { + return ResourceManager.GetString("Activity_KeyedHashFile_Property_FileInputModeSwitch_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The path to the file you want to hash.. /// @@ -1032,6 +1293,24 @@ public static string Activity_KeyedHashFile_Property_FilePath_Name { } } + /// + /// Looks up a localized string similar to The file to be hashed. + /// + public static string Activity_KeyedHashFile_Property_InputFile_Description { + get { + return ResourceManager.GetString("Activity_KeyedHashFile_Property_InputFile_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File. + /// + public static string Activity_KeyedHashFile_Property_InputFile_Name { + get { + return ResourceManager.GetString("Activity_KeyedHashFile_Property_InputFile_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The key that you want to use to hash the specified file.. /// @@ -1050,6 +1329,33 @@ public static string Activity_KeyedHashFile_Property_Key_Name { } } + /// + /// Looks up a localized string similar to Use Key. + /// + public static string Activity_KeyedHashFile_Property_Key_SwitchName { + get { + return ResourceManager.GetString("Activity_KeyedHashFile_Property_Key_SwitchName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The encoding used to interpret the key specified in the Key property.. + /// + public static string Activity_KeyedHashFile_Property_KeyEncodingString_Description { + get { + return ResourceManager.GetString("Activity_KeyedHashFile_Property_KeyEncodingString_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Key Encoding. + /// + public static string Activity_KeyedHashFile_Property_KeyEncodingString_Name { + get { + return ResourceManager.GetString("Activity_KeyedHashFile_Property_KeyEncodingString_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The switch between Key and Secure String Key. /// @@ -1086,6 +1392,15 @@ public static string Activity_KeyedHashFile_Property_KeySecureString_Name { } } + /// + /// Looks up a localized string similar to Use Key Secure String. + /// + public static string Activity_KeyedHashFile_Property_KeySecureString_SwitchName { + get { + return ResourceManager.GetString("Activity_KeyedHashFile_Property_KeySecureString_SwitchName", resourceCulture); + } + } + /// /// Looks up a localized string similar to The hashed file, stored in a String variable.. /// @@ -1096,7 +1411,7 @@ public static string Activity_KeyedHashFile_Property_Result_Description { } /// - /// Looks up a localized string similar to Result. + /// Looks up a localized string similar to Hash. /// public static string Activity_KeyedHashFile_Property_Result_Name { get { @@ -1105,7 +1420,7 @@ public static string Activity_KeyedHashFile_Property_Result_Name { } /// - /// Looks up a localized string similar to Hashes a string with a key using a specified algorithm and returns the hexadecimal string representation of the resulting hash.. + /// Looks up a localized string similar to Hashes a string with a key using a specified algorithm and returns the hexadecimal string representation of the resulting hash. It supports hashing algorithms with a key and without a key.. /// public static string Activity_KeyedHashText_Description { get { @@ -1114,7 +1429,7 @@ public static string Activity_KeyedHashText_Description { } /// - /// Looks up a localized string similar to Hash Text With Key. + /// Looks up a localized string similar to Hash Text. /// public static string Activity_KeyedHashText_Name { get { @@ -1195,7 +1510,7 @@ public static string Activity_KeyedHashText_Property_Input_Name { } /// - /// Looks up a localized string similar to The key that you want to use to hash the specified file.. + /// Looks up a localized string similar to The key that you want to use to hash the specified text.. /// public static string Activity_KeyedHashText_Property_Key_Description { get { @@ -1212,6 +1527,33 @@ public static string Activity_KeyedHashText_Property_Key_Name { } } + /// + /// Looks up a localized string similar to Use Key. + /// + public static string Activity_KeyedHashText_Property_Key_SwitchName { + get { + return ResourceManager.GetString("Activity_KeyedHashText_Property_Key_SwitchName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The encoding used to interpret the key specified in the Key property.. + /// + public static string Activity_KeyedHashText_Property_KeyEncodingString_Description { + get { + return ResourceManager.GetString("Activity_KeyedHashText_Property_KeyEncodingString_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Key Encoding. + /// + public static string Activity_KeyedHashText_Property_KeyEncodingString_Name { + get { + return ResourceManager.GetString("Activity_KeyedHashText_Property_KeyEncodingString_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The switch between Key and Secure String Key. /// @@ -1248,6 +1590,15 @@ public static string Activity_KeyedHashText_Property_KeySecureString_Name { } } + /// + /// Looks up a localized string similar to Use Key Secure String. + /// + public static string Activity_KeyedHashText_Property_KeySecureString_SwitchName { + get { + return ResourceManager.GetString("Activity_KeyedHashText_Property_KeySecureString_SwitchName", resourceCulture); + } + } + /// /// Looks up a localized string similar to The hashed text, stored in a String variable.. /// @@ -1258,7 +1609,7 @@ public static string Activity_KeyedHashText_Property_Result_Description { } /// - /// Looks up a localized string similar to Result. + /// Looks up a localized string similar to Hash. /// public static string Activity_KeyedHashText_Property_Result_Name { get { @@ -1266,6 +1617,15 @@ public static string Activity_KeyedHashText_Property_Result_Name { } } + /// + /// Looks up a localized string similar to Options. + /// + public static string Category_Options_Name { + get { + return ResourceManager.GetString("Category_Options_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to Others. /// @@ -1311,6 +1671,24 @@ public static string Encoding { } } + /// + /// Looks up a localized string similar to Only one of {0] and {1} should have it's arguments configured.. + /// + public static string Exception_UseOnlyFilePathOrInputResource { + get { + return ResourceManager.GetString("Exception_UseOnlyFilePathOrInputResource", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The activity only supports files, not folders.. + /// + public static string Exception_UseOnlyFilesNotFolders { + get { + return ResourceManager.GetString("Exception_UseOnlyFilesNotFolders", resourceCulture); + } + } + /// /// Looks up a localized string similar to The file already exists.. /// @@ -1410,6 +1788,15 @@ public static string KeyAndSecureStringNull { } } + /// + /// Looks up a localized string similar to Value for a required activity argument 'Key' was not supplied. + /// + public static string KeyNullError { + get { + return ResourceManager.GetString("KeyNullError", resourceCulture); + } + } + /// /// Looks up a localized string similar to KeySecureString. /// @@ -1428,6 +1815,15 @@ public static string KeySecureStringDisplayName { } } + /// + /// Looks up a localized string similar to The Key Secure String must not be null. + /// + public static string KeySecureStringNullError { + get { + return ResourceManager.GetString("KeySecureStringNullError", resourceCulture); + } + } + /// /// Looks up a localized string similar to MACTripleDES uses a key that is 16 or 24 bytes long. The length of your key depends on the Encoding.. /// diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.de.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.de.resx index 3ccc5ade0..fde254e41 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.de.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.de.resx @@ -131,15 +131,15 @@ Die Datei ist nicht vorhanden. - FilePath + Dateipfad property name - InputPath + Eingabepfad property name - OutputPath + Ausgabepfad property name @@ -149,10 +149,10 @@ Ein kryptografischer Vorgang ist fehlgeschlagen. Stellen Sie sicher, dass Sie denselben Algorithmus und Schlüssel für Verschlüsselungs- und Entschlüsselungsvorgänge verwenden. - Encoding + Codierung - Schlüssel + Taste Ausgabe @@ -161,23 +161,17 @@ Allgemein - ContinueOnError + BeiFehlerFortsetzen property name MACTripleDES verwendet einen Schlüssel, der 16 oder 24 Byte lang ist. Die Länge Ihres Schlüssels hängt von der Codierung ab. - - Der Schlüssel und die sichere Zeichenfolge dürfen nicht beide nicht NULL sein. - - - Der Schlüssel und die sichere Zeichenfolge dürfen nicht beide NULL sein. - - Schlüssel SecureString + KeySecureString - Schlüssel SecureString + Sichere Schlüsselzeichenfolge Entschlüsselt Dateien basierend auf einer angegebenen Schlüsselverschlüsselung und einem Algorithmus. @@ -192,7 +186,7 @@ Property description - Algorithm + Algorithmus Property name @@ -200,7 +194,7 @@ Property description - Continue On Error + Bei Fehler fortsetzen Property name @@ -208,7 +202,15 @@ Property description - Input Path + Dateipfad + Property name + + + Die Codierung, die zum Interpretieren des in der Eigenschaft „Key“ angegebenen Schlüssels verwendet wird. + Property description + + + Schlüsselcodierung Property name @@ -216,7 +218,7 @@ Property description - Key Encoding + Schlüsselcodierung Property name @@ -224,7 +226,7 @@ Property description - Key + Schlüssel Property name @@ -232,7 +234,7 @@ Property description - Output Path + Name und Speicherort der Ausgabedatei Property name @@ -240,7 +242,7 @@ Property description - Overwrite + Überschreiben Property name @@ -256,7 +258,7 @@ Property description - Algorithm + Algorithmus Property name @@ -264,7 +266,7 @@ Property description - Continue On Error + Bei Fehler fortsetzen Property name @@ -272,7 +274,15 @@ Property description - Encoding + Codierung + Property name + + + Die Codierung, die zum Interpretieren des in der Eigenschaft „Key“ angegebenen Schlüssels verwendet wird. + Property description + + + Schlüsselcodierung Property name @@ -288,7 +298,7 @@ Property description - Key + Schlüssel Property name @@ -296,7 +306,7 @@ Property description - Result + Entschlüsselte Text Property name @@ -312,7 +322,7 @@ Property description - Algorithm + Algorithmus Property name @@ -320,7 +330,7 @@ Property description - Input Path + Dateipfad Property name @@ -328,7 +338,7 @@ Property description - Key + Schlüssel Property name @@ -336,7 +346,7 @@ property description - Key Secure String + Sichere Schlüsselzeichenfolge property name @@ -344,7 +354,7 @@ property description - Key Secure String + Sichere Schlüsselzeichenfolge property name @@ -352,7 +362,15 @@ property description - Continue On Error + Bei Fehler fortsetzen + property name + + + Die Codierung, die zum Interpretieren des in der Eigenschaft „Key“ angegebenen Schlüssels verwendet wird. + property description + + + Schlüsselcodierung property name @@ -360,7 +378,7 @@ property description - Key Encoding + Schlüsselcodierung property name @@ -368,7 +386,7 @@ property description - Key Secure String + Sichere Schlüsselzeichenfolge property name @@ -376,7 +394,7 @@ property description - Output Path + Name und Speicherort der Ausgabedatei property name @@ -384,7 +402,7 @@ property description - Overwrite + Überschreiben property name @@ -400,7 +418,7 @@ Property description - Algorithm + Algorithmus Property name @@ -408,7 +426,7 @@ Property description - Continue On Error + Bei Fehler fortsetzen Property name @@ -416,7 +434,15 @@ Property description - Encoding + Codierung + Property name + + + Die Codierung, die zum Interpretieren des in der Eigenschaft „Key“ angegebenen Schlüssels verwendet wird. + Property description + + + Schlüsselcodierung Property name @@ -432,7 +458,7 @@ Property description - Key Secure String + Sichere Schlüsselzeichenfolge Property name @@ -440,7 +466,7 @@ Property description - Key + Schlüssel Property name @@ -448,15 +474,15 @@ Property description - Result + Verschlüsselter Text Property name - Hasht eine Datei mit einem Schlüssel mit einem angegebenen Algorithmus und einem Verschlüsselungsformat und gibt die hexadezimale Zeichenfolgendarstellung des resultierenden Hashs zurück. + Hasht eine Datei mit einem Schlüssel mithilfe eines angegebenen Algorithmus und gibt die hexadezimale Zeichenfolgendarstellung des resultierenden Hashs zurück. Unterstützt Hashing-Algorithmen mit und ohne Schlüssel. Activity description - Hash File With Key + Hash File Activity name @@ -464,7 +490,7 @@ Property description - Algorithm + Algorithmus Property name @@ -472,7 +498,7 @@ Property description - Continue On Error + Bei Fehler fortsetzen Property name @@ -480,7 +506,15 @@ Property description - Encoding + Codierung + Property name + + + Die Codierung, die zum Interpretieren des in der Eigenschaft „Key“ angegebenen Schlüssels verwendet wird. + Property description + + + Schlüsselcodierung Property name @@ -488,7 +522,7 @@ Property description - File path + Dateipfad Property name @@ -496,7 +530,7 @@ Property description - Key Secure String + Sichere Schlüsselzeichenfolge Property name @@ -504,7 +538,7 @@ Property description - Key + Schlüssel Property name @@ -512,15 +546,15 @@ Property description - Result + Hash Property name - Hasht eine Zeichenfolge mit einem Schlüssel mithilfe eines angegebenen Algorithmus und gibt die hexadezimale Zeichenfolgendarstellung des resultierenden Hashs zurück. + Hasht eine Zeichenfolge mit einem Schlüssel mithilfe eines angegebenen Algorithmus und gibt die hexadezimale Zeichenfolgendarstellung des resultierenden Hashs zurück. Unterstützt Hashing-Algorithmen mit und ohne Schlüssel. Activity description - Hash Text With Key + Hash Text Activity name @@ -528,7 +562,7 @@ Property description - Algorithm + Algorithmus Property name @@ -536,7 +570,7 @@ Property description - Continue On Error + Bei Fehler fortsetzen Property name @@ -544,7 +578,15 @@ Property description - Encoding + Codierung + Property name + + + Die Codierung, die zum Interpretieren des in der Eigenschaft „Key“ angegebenen Schlüssels verwendet wird. + Property description + + + Schlüsselcodierung Property name @@ -560,15 +602,15 @@ Property description - Key Secure String + Sichere Schlüsselzeichenfolge Property name - Der Schlüssel, den Sie zum Hashen der angegebenen Datei verwenden möchten. + Der Schlüssel, den Sie zum Hashen des angegebenen Texts verwenden möchten. Property description - Key + Schlüssel Property name @@ -576,15 +618,15 @@ Property description - Result + Hash Property name - Wendet den ausgewählten Hash-Algorithmus auf den Inhalt der bereitgestellten Datei an und gibt die hexadezimale Zeichenfolgendarstellung des resultierenden Hashs zurück. + Diese Aktivität ist jetzt veraltet. SHA1, SHA256, SHA384 und SHA512 wurden in eine Einzelaktivität-Hash-Datei verschoben. Activity description - Hash File + Hash File (deprecated) Activity name @@ -592,7 +634,7 @@ Property description - Algorithm + Algorithmus Property name @@ -600,7 +642,7 @@ Property description - Continue On Error + Bei Fehler fortsetzen Property name @@ -608,7 +650,7 @@ Property description - File Path + Dateipfad Property name @@ -616,15 +658,15 @@ Property description - Result + Hash Property name - Hasht eine Zeichenfolge mithilfe eines angegebenen Algorithmus und gibt die hexadezimale Zeichenfolgendarstellung des resultierenden Hashs zurück. + Diese Aktivität ist jetzt veraltet. SHA1, SHA256, SHA384 und SHA512 wurden in einen Einzelaktivität-Hash-Text verschoben. Activity description - Hash Text + Hash Text (deprecated) Activity name @@ -632,7 +674,7 @@ Property description - Algorithm + Algorithmus Property name @@ -640,7 +682,7 @@ Property description - Continue On Error + Bei Fehler fortsetzen Property name @@ -648,7 +690,7 @@ Property description - Encoding + Codierung Property name @@ -664,7 +706,7 @@ Property description - Result + Hash Property name @@ -675,4 +717,159 @@ Prinzipal Category name + + Der Wechsel zwischen Schlüssel und Schlüssel der sicheren Zeichenfolge + + + KeyInputModeSwitch + + + Der Wechsel zwischen Schlüssel und Schlüssel der sicheren Zeichenfolge + + + KeyInputModeSwitch + + + Der Wechsel zwischen Schlüssel und Schlüssel der sicheren Zeichenfolge + + + KeyInputModeSwitch + + + Der Wechsel zwischen Schlüssel und Schlüssel der sicheren Zeichenfolge + + + KeyInputModeSwitch + + + Der Wechsel zwischen Schlüssel und Schlüssel der sicheren Zeichenfolge + + + KeyInputModeSwitch + + + Der Wechsel zwischen Schlüssel und Schlüssel der sicheren Zeichenfolge + + + KeyInputModeSwitch + + + Die verschlüsselte Datei + property description + + + Verschlüsselte Datei + property name + + + Die zu verschlüsselnde Datei + property description + + + Datei + property name + + + Die entschlüsselte Datei + property description + + + Entschlüsselte Datei + property name + + + Die zu entschlüsselnde Datei + property description + + + Datei + property name + + + Die zu hashende Datei + property description + + + Datei + property name + + + Argumente dürfen nur entweder für {{0}} oder {1} konfiguriert sein. + exception + + + Die Aktivität unterstützt nur Dateien, keine Ordner. + exception + + + Der Dateiname, den Sie zum Speichern der verschlüsselten Datei verwenden möchten. + property description + + + Verschlüsselter Dateiname + property name + + + Der Dateiname, den Sie zum Speichern der entschlüsselten Datei verwenden möchten. + property description + + + Entschlüsselter Dateiname + property name + + + Optionen + Category name + + + Sichere Schlüsselzeichenfolge verwenden + + + Schlüssel verwenden + + + Sichere Schlüsselzeichenfolge verwenden + + + Schlüssel verwenden + + + Der Schlüssel und die sichere Zeichenfolge dürfen nicht beide nicht NULL sein. + + + Der Schlüssel und die sichere Zeichenfolge dürfen nicht beide NULL sein. + + + Wert für erforderliches Aktivitätsargument „Schlüssel“ wurde nicht angegeben. + + + Die sichere Schlüsselzeichenfolge darf nicht NULL sein. + + + Der Wechsel zwischen Dateipfad und Ressource + + + WechselDesDateieingabemodus + + + Der Wechsel zwischen Dateipfad und Ressource + + + FileInputModeSwitch + + + Der Wechsel zwischen Dateipfad und Ressource + + + FileInputModeSwitch + + + Der Wechsel zwischen Dateipfad und Ressource + + + FileInputModeSwitch + + + Der ausgewählte Verschlüsselungsalgorithmus ist veraltet und wird in zukünftigen Versionen nicht mehr unterstützt. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.es-MX.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.es-MX.resx index 23144a7a8..a4315e6c2 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.es-MX.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.es-MX.resx @@ -124,22 +124,22 @@ Entrada - Text + Texto property name El archivo no existe. - FilePath + RutaDeArchivo property name - InputPath + RutaDeEntrada property name - OutputPath + RutaDeSalida property name @@ -149,7 +149,7 @@ Se produjo un error en una operación criptográfica. Asegúrese de utilizar el mismo algoritmo y clave para las operaciones de cifrado y descifrado. - Encoding + Codificación Clave @@ -161,23 +161,17 @@ Común - ContinueOnError + ContinuarConElError property name MACTripleDES utiliza una clave de 16 o 24 bytes de longitud. La longitud de la clave depende de la codificación. - - La clave y la cadena segura no deben ser no nulas. - - - La clave y la cadena segura no deben ser nulas. - - Clave SecureString + KeySecureString - Clave SecureString + Clave de cadena segura Descifra un archivo basado en una codificación de clave y un algoritmo especificados. @@ -192,7 +186,7 @@ Property description - Algorithm + Algoritmo Property name @@ -200,7 +194,7 @@ Property description - Continue On Error + Continuar con el error Property name @@ -208,7 +202,15 @@ Property description - Input Path + Ruta del archivo + Property name + + + La codificación utilizada para interpretar la clave especificada en la propiedad Clave. + Property description + + + Codificación de claves Property name @@ -216,7 +218,7 @@ Property description - Key Encoding + Codificación de claves Property name @@ -224,7 +226,7 @@ Property description - Key + Clave Property name @@ -232,7 +234,7 @@ Property description - Output Path + Nombre y ubicación del archivo de salida Property name @@ -240,11 +242,11 @@ Property description - Overwrite + Sobrescribir Property name - Decrypt Text + Descifrar texto Activity name @@ -256,7 +258,7 @@ Property description - Algorithm + Algoritmo Property name @@ -264,7 +266,7 @@ Property description - Continue On Error + Continuar con el error Property name @@ -272,7 +274,15 @@ Property description - Encoding + Codificación + Property name + + + La codificación utilizada para interpretar la clave especificada en la propiedad Clave. + Property description + + + Codificación de claves Property name @@ -280,7 +290,7 @@ Property description - Text + Texto Property name @@ -288,7 +298,7 @@ Property description - Key + Clave Property name @@ -296,7 +306,7 @@ Property description - Result + Texto descifrado Property name @@ -312,7 +322,7 @@ Property description - Algortithm + Algoritmo Property name @@ -320,7 +330,7 @@ Property description - Input Path + Ruta del archivo Property name @@ -328,7 +338,7 @@ Property description - Key + Clave Property name @@ -336,7 +346,7 @@ property description - Key Secure String + Cadena segura de clave property name @@ -344,7 +354,7 @@ property description - Key Secure String + Cadena segura de clave property name @@ -352,7 +362,15 @@ property description - Continue On Error + Continuar con el error + property name + + + La codificación utilizada para interpretar la clave especificada en la propiedad Clave. + property description + + + Codificación de claves property name @@ -360,7 +378,7 @@ property description - Key Encoding + Codificación de claves property name @@ -368,7 +386,7 @@ property description - Key Secure String + Cadena segura de clave property name @@ -376,7 +394,7 @@ property description - Output Path + Nombre y ubicación del archivo de salida property name @@ -384,7 +402,7 @@ property description - Overwrite + Sobrescribir property name @@ -392,7 +410,7 @@ Activity description - Encrypt Text + Cifrar texto Activity name @@ -400,7 +418,7 @@ Property description - Algorithm + Algoritmo Property name @@ -408,7 +426,7 @@ Property description - Continue On Error + Continuar con el error Property name @@ -416,7 +434,15 @@ Property description - Encoding + Codificación + Property name + + + La codificación utilizada para interpretar la clave especificada en la propiedad Clave. + Property description + + + Codificación de claves Property name @@ -424,7 +450,7 @@ Property description - Text + Texto Property name @@ -432,7 +458,7 @@ Property description - Key Secure String + Cadena segura de clave Property name @@ -440,7 +466,7 @@ Property description - Key + Clave Property name @@ -448,15 +474,15 @@ Property description - Result + Texto cifrado Property name - Aplica un hash a un archivo con una clave utilizando un algoritmo y un formato de codificación especificados, y devuelve la representación de cadena hexadecimal del hash resultante. + Aplica un <em>hash</em> a un archivo con una clave mediante un algoritmo especificado y devuelve la representación de cadena hexadecimal del <em>hash</em> resultante. Admite algoritmos <em>hash</em> con una clave y sin clave. Activity description - Hash File With Key + Archivo Hash Activity name @@ -464,7 +490,7 @@ Property description - Algorithm + Algoritmo Property name @@ -472,7 +498,7 @@ Property description - Continue On Error + Continuar con el error Property name @@ -480,7 +506,15 @@ Property description - Encoding + Codificación + Property name + + + La codificación utilizada para interpretar la clave especificada en la propiedad Clave. + Property description + + + Codificación de claves Property name @@ -488,7 +522,7 @@ Property description - File path + Ruta del archivo Property name @@ -496,7 +530,7 @@ Property description - Key Secure String + Cadena segura de clave Property name @@ -504,7 +538,7 @@ Property description - Key + Clave Property name @@ -512,15 +546,15 @@ Property description - Result + Hash Property name - Aplica un hash a una cadena con una clave mediante un algoritmo especificado y devuelve la representación de cadena hexadecimal del hash resultante. + Aplica un hash a una cadena con una clave mediante un algoritmo especificado y devuelve la representación de cadena hexadecimal del <em>hash</em> resultante. Admite algoritmos <em>hash</em> con una clave y sin clave. Activity description - Hash Text With Key + Texto Hash Activity name @@ -528,7 +562,7 @@ Property description - Algorithm + Algoritmo Property name @@ -536,7 +570,7 @@ Property description - Continue On Error + Continuar con el error Property name @@ -544,7 +578,15 @@ Property description - Encoding + Codificación + Property name + + + La codificación utilizada para interpretar la clave especificada en la propiedad Clave. + Property description + + + Codificación de claves Property name @@ -552,7 +594,7 @@ Property description - Text + Texto Property name @@ -560,7 +602,7 @@ Property description - Key Secure String + Cadena segura de clave Property name @@ -568,7 +610,7 @@ Property description - Key + Clave Property name @@ -576,15 +618,15 @@ Property description - Result + Hash Property name - Aplica el algoritmo hash seleccionado en el contenido del archivo proporcionado y devuelve la representación de cadena hexadecimal del hash resultante. + Esta actividad pasó a estar obsoleta. SHA1, SHA256, SHA384 y SHA512 se movieron a un solo archivo <em>hash</em> de actividad. Activity description - Hash File + Archivo Hash (obsoleto) Activity name @@ -592,7 +634,7 @@ Property description - Algortithm + Algoritmo Property name @@ -600,7 +642,7 @@ Property description - Continue On Error + Continuar con el error Property name @@ -616,15 +658,15 @@ Property description - Result + Hash Property name - Aplica un hash a una cadena mediante un algoritmo especificado y devuelve la representación de cadena hexadecimal del hash resultante. + Esta actividad pasó a estar obsoleta. SHA1, SHA256, SHA384 y SHA512 se movieron a un solo texto de <em>hash</em> de una sola actividad. Activity description - Hash Text + Texto Hash (obsoleto) Activity name @@ -632,7 +674,7 @@ Property description - Algorithm + Algoritmo Property name @@ -640,7 +682,7 @@ Property description - Continue On Error + Continuar con el error Property name @@ -648,7 +690,7 @@ Property description - Encoding + Codificación Property name @@ -656,7 +698,7 @@ Property description - Text + Texto Property name @@ -664,7 +706,7 @@ Property description - Result + Hash Property name @@ -675,4 +717,159 @@ Principal Category name + + El cambio entre Clave y Clave de cadena segura + + + ConmutadorModoEntradaContaseña + + + El cambio entre Clave y Clave de cadena segura + + + ConmutadorModoEntradaContaseña + + + El cambio entre Clave y Clave de cadena segura + + + ConmutadorModoEntradaContaseña + + + El cambio entre Clave y Clave de cadena segura + + + ConmutadorModoEntradaContaseña + + + El cambio entre Clave y Clave de cadena segura + + + ConmutadorModoEntradaContaseña + + + El cambio entre Clave y Clave de cadena segura + + + ConmutadorModoEntradaContaseña + + + El archivo encriptado + property description + + + Archivo cifrado + property name + + + El archivo a encriptar + property description + + + Archivo + property name + + + El archivo encriptado + property description + + + Archivo descifrado + property name + + + El archivo a descifrar + property description + + + Archivo + property name + + + El archivo que se va a aplicar el hash + property description + + + Archivo + property name + + + Solo uno de {{0}} y {1} deben tener configurados sus argumentos. + exception + + + La actividad solo permite archivos, no carpetas. + exception + + + El nombre de archivo que desea utilizar para guardar el archivo cifrado. + property description + + + Nombre de archivo cifrado + property name + + + El nombre de archivo que desea utilizar para guardar el archivo descifrado. + property description + + + Nombre de archivo descifrado + property name + + + Opciones + Category name + + + Usar cadena segura de clave + + + Usar clave + + + Usar cadena segura de clave + + + Usar clave + + + La clave y la cadena segura no deben ser no nulas. + + + La clave y la cadena segura no deben ser nulas. + + + No se proporcionó el valor para un argumento de actividad 'Clave’ requerido. + + + La cadena segura de clave no debe ser nula + + + El cambio entre ruta de archivo y recurso + + + CambioDeModoDeEntradaDeArchivos + + + El cambio entre ruta de archivo y recurso + + + CambioDeModoDeEntradaDeArchivos + + + El cambio entre ruta de archivo y recurso + + + CambioDeModoDeEntradaDeArchivos + + + El cambio entre ruta de archivo y recurso + + + CambioDeModoDeEntradaDeArchivos + + + El algoritmo de cifrado seleccionado está obsoleto y ya no será compatible en versiones futuras. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.es.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.es.resx index 378c2fb9b..5b53fb8c2 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.es.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.es.resx @@ -167,12 +167,6 @@ MACTripleDES utiliza una clave de 16 o 24 bytes de longitud. La longitud de la clave depende de la codificación. - - La clave y la cadena segura no deben ser ambas nulas. - - - La clave y la cadena segura no deben ser ambas nulas. - Clave SecureString @@ -208,7 +202,15 @@ Property description - Ruta de entrada + Ruta del archivo + Property name + + + La codificación utilizada para interpretar la clave especificada en la propiedad Key. + Property description + + + CodificaciónDeClave Property name @@ -232,7 +234,7 @@ Property description - Ruta de salida + Nombre y ubicación del archivo de salida Property name @@ -275,6 +277,14 @@ Codificación Property name + + La codificación utilizada para interpretar la clave especificada en la propiedad Key. + Property description + + + CodificaciónDeClave + Property name + El texto que desea descifrar. Property description @@ -296,7 +306,7 @@ Property description - Resultado + Texto descifrado Property name @@ -312,7 +322,7 @@ Property description - Algortithm + Algoritmo Property name @@ -320,7 +330,7 @@ Property description - Ruta de entrada + Ruta del archivo Property name @@ -355,6 +365,14 @@ Continuar en caso de error property name + + La codificación utilizada para interpretar la clave especificada en la propiedad Key. + property description + + + Codificación de clave + property name + La codificación utilizada para interpretar la clave especificada en la propiedad Key. property description @@ -376,7 +394,7 @@ property description - Ruta de salida + Nombre y ubicación del archivo de salida property name @@ -419,6 +437,14 @@ Codificación Property name + + La codificación utilizada para interpretar la clave especificada en la propiedad Key. + Property description + + + CodificaciónDeClave + Property name + El texto que desea cifrar. Property description @@ -448,15 +474,15 @@ Property description - Resultado + Texto cifrado Property name - Aplica hash a un archivo con una clave utilizando un algoritmo y un formato de codificación especificados y devuelve la representación de la cadena hexadecimal del hash resultante. + Aplica hash a un archivo con una clave utilizando un algoritmo especificado y devuelve la representación de la cadena hexadecimal del hash resultante. Admite algoritmos hash con una clave y sin clave. Activity description - Archivo hash con clave + Aplicar hash al archivo Activity name @@ -483,6 +509,14 @@ Codificación Property name + + La codificación utilizada para interpretar la clave especificada en la propiedad Key. + Property description + + + CodificaciónDeClave + Property name + La ruta al archivo al que desea aplicar hash. Property description @@ -512,15 +546,15 @@ Property description - Resultado + Hash Property name - Aplica hash a una cadena con una clave utilizando un algoritmo especificado y devuelve la representación de la cadena hexadecimal del hash resultante. + Aplica hash a una cadena con una clave utilizando un algoritmo especificado y devuelve la representación de la cadena hexadecimal del hash resultante. Admite algoritmos hash con una clave y sin clave. Activity description - Aplicar hash con clave al texto + Texto hash Activity name @@ -547,6 +581,14 @@ Codificación Property name + + La codificación utilizada para interpretar la clave especificada en la propiedad Key. + Property description + + + Codificación de clave + Property name + El texto al que desea aplicar hash. Property description @@ -564,7 +606,7 @@ Property name - La clave que desea utilizar para aplicar hash al archivo especificado. + La clave que desea utilizar para aplicar hash al texto especificado. Property description @@ -576,15 +618,15 @@ Property description - Resultado + Hash Property name - Aplica el algoritmo hash seleccionado al contenido del archivo proporcionado y devuelve la representación en forma de cadena hexadecimal del hash resultante. + Esta actividad ahora está obsoleta. SHA1, SHA256, SHA384 y SHA512 se movieron a un solo archivo hash de actividad. Activity description - Aplicar hash al archivo + Archivo hash (obsoleto) Activity name @@ -592,7 +634,7 @@ Property description - Algortithm + Algoritmo Property name @@ -616,15 +658,15 @@ Property description - Resultado + Hash Property name - Aplica hash a una cadena utilizando un algoritmo especificado y devuelve la representación de la cadena hexadecimal del hash resultante. + Esta actividad ahora está obsoleta. SHA1, SHA256, SHA384 y SHA512 se movieron a un solo texto hash de actividad. Activity description - Texto hash + Texto hash (obsoleto) Activity name @@ -664,7 +706,7 @@ Property description - Resultado + Hash Property name @@ -675,4 +717,159 @@ Principal Category name + + El cambio entre la clave y la clave de cadena segura + + + KeyInputModeSwitch + + + El cambio entre la clave y la clave de cadena segura + + + KeyInputModeSwitch + + + El cambio entre la clave y la clave de cadena segura + + + KeyInputModeSwitch + + + El cambio entre la clave y la clave de cadena segura + + + KeyInputModeSwitch + + + El cambio entre la clave y la clave de cadena segura + + + KeyInputModeSwitch + + + El cambio entre la clave y la clave de cadena segura + + + KeyInputModeSwitch + + + El archivo cifrado + property description + + + Archivo cifrado + property name + + + El archivo que se va a cifrar + property description + + + Archivo + property name + + + El archivo descifrado + property description + + + Archivo descifrado + property name + + + El archivo que se va a descifrar + property description + + + Archivo + property name + + + El archivo que se va a codificar + property description + + + Archivo + property name + + + Solo uno de {{0}} y {1} debe tener sus argumentos configurados. + exception + + + La actividad solo admite archivos, no carpetas. + exception + + + El nombre de archivo que desea utilizar para guardar el archivo cifrado. + property description + + + Nombre de archivo cifrado + property name + + + El nombre de archivo que desea utilizar para guardar el archivo descifrado. + property description + + + Nombre de archivo descifrado + property name + + + Opciones + Category name + + + Usar una contraseña de cadena segura + + + Usar clave + + + Usar una contraseña de cadena segura + + + Usar clave + + + La clave y la cadena segura no deben ser ambas nulas. + + + La clave y la cadena segura no deben ser ambas nulas. + + + No se proporcionó el valor para un argumento de actividad 'Clave' requerido + + + La contraseña de cadena segura no puede ser nula + + + El cambio entre la ruta del archivo y el recurso + + + CambiarModoEntradaArchivo + + + El cambio entre la ruta del archivo y el recurso + + + CambiarModoEntradaArchivo + + + El cambio entre la ruta del archivo y el recurso + + + CambiarModoEntradaArchivo + + + El cambio entre la ruta del archivo y el recurso + + + CambiarModoEntradaArchivo + + + El algoritmo de cifrado seleccionado está obsoleto y ya no será compatible en versiones futuras. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.fr.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.fr.resx index 05c3af5a1..93b2a45fe 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.fr.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.fr.resx @@ -118,28 +118,28 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - L’algorithme sélectionné n’est pas compatible pour une mise en œuvre FIPS. Il est possible qu’il ne fonctionne pas sur certaines machines. + L’algorithme sélectionné n’est pas compatible pour une implémentation FIPS. Il est possible qu’il ne fonctionne pas sur certaines machines. Entrée - Text + Texte property name Le fichier n’existe pas. - FilePath + CheminFichier property name - InputPath + CheminEntrée property name - OutputPath + CheminSortie property name @@ -149,35 +149,29 @@ Une opération cryptographique a échoué. Veuillez vérifier que vous utilisez un algorithme et une clé similaires pour le chiffrement et le déchiffrement. - Encoding + Encodage - Touche + Clé Sortie - Commun + Courant - ContinueOnError + ContinuerSurErreur property name MACTripleDES utilise une clé d’une longueur de 16 ou 24 octets. La longueur de votre clé dépend de l’encodage. - - La clé et la chaîne sécurisée ne doivent pas être toutes les deux la valeur pas nulle. - - - La clé et la chaîne sécurisée ne doivent pas être toutes les deux la valeur nulle. - - Clé SecureString + Key SecureString - Clé SecureString + Key Secure String Déchiffre un fichier, selon un algorithme et un encodage de clé spécifiés. @@ -192,7 +186,7 @@ Property description - Algorithm + Algorithme Property name @@ -200,7 +194,7 @@ Property description - Continue On Error + Continuer sur erreur Property name @@ -208,7 +202,15 @@ Property description - Input Path + Chemin du fichier + Property name + + + L'encodage utilisé pour l'interprétation de la clé spécifiée dans la propriété Key. + Property description + + + Encodage de clé Property name @@ -216,7 +218,7 @@ Property description - Key Encoding + Encodage de clé Property name @@ -224,7 +226,7 @@ Property description - Key + Clé Property name @@ -232,7 +234,7 @@ Property description - Output Path + Nom et emplacement du fichier de sortie Property name @@ -240,7 +242,7 @@ Property description - Overwrite + Écraser Property name @@ -256,7 +258,7 @@ Property description - Algorithm + Algorithme Property name @@ -264,7 +266,7 @@ Property description - Continue On Error + Continuer sur erreur Property name @@ -272,7 +274,15 @@ Property description - Encoding + Encodage + Property name + + + L'encodage utilisé pour l'interprétation de la clé spécifiée dans la propriété Key. + Property description + + + Encodage de clé Property name @@ -280,7 +290,7 @@ Property description - Text + Texte Property name @@ -288,7 +298,7 @@ Property description - Key + Clé Property name @@ -296,7 +306,7 @@ Property description - Result + Texte déchiffré Property name @@ -312,7 +322,7 @@ Property description - Algorithm + Algorithme Property name @@ -320,7 +330,7 @@ Property description - Input Path + Chemin du fichier Property name @@ -328,7 +338,7 @@ Property description - Key + Clé Property name @@ -336,7 +346,7 @@ property description - Key Secure String + Chaîne sécurisée de clé property name @@ -344,7 +354,7 @@ property description - Key Secure String + Chaîne sécurisée de clé property name @@ -352,7 +362,15 @@ property description - Continue On Error + Continuer sur erreur + property name + + + L'encodage utilisé pour l'interprétation de la clé spécifiée dans la propriété Key. + property description + + + Encodage de clé property name @@ -360,7 +378,7 @@ property description - Key Encoding + Encodage de clé property name @@ -368,7 +386,7 @@ property description - Key Secure String + Chaîne sécurisée de clé property name @@ -376,7 +394,7 @@ property description - Output Path + Nom et emplacement du fichier de sortie property name @@ -384,7 +402,7 @@ property description - Overwrite + Écraser property name @@ -400,7 +418,7 @@ Property description - Algorithm + Algorithme Property name @@ -408,7 +426,7 @@ Property description - Continue On Error + Continuer sur erreur Property name @@ -416,7 +434,15 @@ Property description - Encoding + Encodage + Property name + + + L'encodage utilisé pour l'interprétation de la clé spécifiée dans la propriété Key. + Property description + + + Encodage de clé Property name @@ -424,7 +450,7 @@ Property description - Text + Texte Property name @@ -432,7 +458,7 @@ Property description - Key Secure String + Chaîne sécurisée de clé Property name @@ -440,7 +466,7 @@ Property description - Key + Clé Property name @@ -448,15 +474,15 @@ Property description - Result + Texte chiffré Property name - Hache un fichier avec une clé à l'aide d'un algorithme et d'un format de chiffrement spécifiés et renvoie la représentation de la chaîne hexadécimale du hachage produit. + Hache un fichier avec une clé à l'aide d'un algorithme spécifié et renvoie la représentation de la chaîne hexadécimale du hachage produit. Il prend en charge les algorithmes de hachage avec et sans clé. Activity description - Hash File With Key + Hash File Activity name @@ -464,7 +490,7 @@ Property description - Algorithm + Algorithme Property name @@ -472,7 +498,7 @@ Property description - Continue On Error + Continuer sur erreur Property name @@ -480,7 +506,15 @@ Property description - Encoding + Encodage + Property name + + + L'encodage utilisé pour l'interprétation de la clé spécifiée dans la propriété Key. + Property description + + + Encodage de clé Property name @@ -488,7 +522,7 @@ Property description - File path + Chemin du fichier Property name @@ -496,7 +530,7 @@ Property description - Key Secure String + Chaîne sécurisée de clé Property name @@ -504,7 +538,7 @@ Property description - Key + Clé Property name @@ -512,15 +546,15 @@ Property description - Result + Hachage Property name - Hache une chaîne avec une clé à l'aide d'un algorithme spécifié et renvoie la représentation de la chaîne hexadécimale du hachage produit. + Hache une chaîne avec une clé à l'aide d'un algorithme spécifié et renvoie la représentation de la chaîne hexadécimale du hachage produit. Il prend en charge les algorithmes de hachage avec et sans clé. Activity description - Hash Text With Key + Hash Text Activity name @@ -528,7 +562,7 @@ Property description - Algorithm + Algorithme Property name @@ -536,7 +570,7 @@ Property description - Continue On Error + Continuer sur erreur Property name @@ -544,7 +578,15 @@ Property description - Encoding + Encodage + Property name + + + L'encodage utilisé pour l'interprétation de la clé spécifiée dans la propriété Key. + Property description + + + Encodage de clé Property name @@ -552,7 +594,7 @@ Property description - Text + Texte Property name @@ -560,15 +602,15 @@ Property description - Key Secure String + Chaîne sécurisée de clé Property name - La clé que vous souhaitez utiliser pour le hachage du fichier spécifié. + La clé que vous souhaitez utiliser pour le hachage du texte spécifié. Property description - Key + Clé Property name @@ -576,15 +618,15 @@ Property description - Result + Hachage Property name - Applique l’algorithme de hachage sélectionné au contenu du fichier fourni et renvoie la représentation de la chaîne hexadécimale du hachage produit. + Cette activité est désormais obsolète. SHA1, SHA256, SHA384 et SHA512 ont été déplacés vers une seule activité Hash File. Activity description - Hash File + Hash File (deprecated) Activity name @@ -592,7 +634,7 @@ Property description - Algorithm + Algorithme Property name @@ -600,7 +642,7 @@ Property description - Continue On Error + Continuer sur erreur Property name @@ -608,7 +650,7 @@ Property description - File Path + Chemin du fichier Property name @@ -616,15 +658,15 @@ Property description - Result + Hachage Property name - Hache une chaîne à l'aide d'un algorithme spécifié et renvoie la représentation de la chaîne hexadécimale du hachage produit. + Cette activité est désormais obsolète. SHA1, SHA256, SHA384 et SHA512 ont été déplacés vers une seule activité Hash Text. Activity description - Hash Text + Hash Text (deprecated) Activity name @@ -632,7 +674,7 @@ Property description - Algorithm + Algorithme Property name @@ -640,7 +682,7 @@ Property description - Continue On Error + Continuer sur erreur Property name @@ -648,7 +690,7 @@ Property description - Encoding + Encodage Property name @@ -656,7 +698,7 @@ Property description - Text + Texte Property name @@ -664,7 +706,7 @@ Property description - Result + Hachage Property name @@ -675,4 +717,159 @@ Principal Category name + + Permet de basculer entre la clé et la clé de chaîne sécurisée + + + CommutateurModeSaisieClé + + + Permet de basculer entre la clé et la clé de chaîne sécurisée + + + CommutateurModeSaisieClé + + + Permet de basculer entre la clé et la clé de chaîne sécurisée + + + CommutateurModeSaisieClé + + + Permet de basculer entre la clé et la clé de chaîne sécurisée + + + CommutateurModeSaisieClé + + + Permet de basculer entre la clé et la clé de chaîne sécurisée + + + CommutateurModeSaisieClé + + + Permet de basculer entre la clé et la clé de chaîne sécurisée + + + CommutateurModeSaisieClé + + + Le fichier chiffré + property description + + + Fichier chiffré + property name + + + Le fichier à chiffrer + property description + + + Fichier + property name + + + Le fichier déchiffré + property description + + + Fichier déchiffré + property name + + + Le fichier à déchiffrer + property description + + + Fichier + property name + + + Le fichier à hacher + property description + + + Fichier + property name + + + Les arguments de {{0}} ou de {1} doivent être configurés, mais pas les deux à la fois. + exception + + + L'activité prend en charge des fichiers uniquement, non des dossiers. + exception + + + Le nom de fichier que vous souhaitez utiliser pour enregistrer le fichier chiffré. + property description + + + Nom du fichier chiffré + property name + + + Le nom de fichier que vous souhaitez utiliser pour enregistrer le fichier déchiffré. + property description + + + Nom du fichier déchiffré + property name + + + Options + Category name + + + Utiliser la chaîne sécurisée de clé + + + Utiliser la clé + + + Utiliser la chaîne sécurisée de clé + + + Utiliser la clé + + + La clé et la chaîne sécurisée ne doivent pas être toutes les deux la valeur pas nulle. + + + La clé et la chaîne sécurisée ne doivent pas être toutes les deux la valeur nulle. + + + La valeur d’un argument d’activité nécessaire ’Key’ n’a pas été fournie + + + La chaîne sécurisée de clé ne doit pas être nulle + + + Le commutateur entre le chemin d'accès au fichier (File Path) et la ressource (Resource) + + + CommutateurModeEntréeFichier + + + Le commutateur entre le chemin d'accès au fichier (File Path) et la ressource (Resource) + + + CommutateurModeEntréeFichier + + + Le commutateur entre le chemin d'accès au fichier (File Path) et la ressource (Resource) + + + CommutateurModeEntréeFichier + + + Le commutateur entre le chemin d'accès au fichier (File Path) et la ressource (Resource) + + + CommutateurModeEntréeFichier + + + L'algorithme de chiffrement sélectionné est obsolète et ne sera plus pris en charge dans les futures versions. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ja.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ja.resx index 35ad25fdd..e85f5ce93 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ja.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ja.resx @@ -143,7 +143,7 @@ property name - ファイルが既に存在します。 + ファイルがすでに存在します。 暗号化操作に失敗しました。暗号化と復号の両方の操作に同じアルゴリズムとキーを使用してください。 @@ -167,12 +167,6 @@ MACTripleDES は長さが 16 または 24 バイトのキーを使用します。キーの長さは、エンコードによって異なります。 - - キーとセキュリティで保護された文字列は、両方とも null 以外にしてはなりません。 - - - キーとセキュリティで保護された文字列は、両方とも null にしてはなりません。 - キー (SecureString) @@ -208,7 +202,15 @@ Property description - 入力パス + ファイル パス + Property name + + + [キー] プロパティで指定したキーの解釈に使用するエンコードです。 + Property description + + + キーのエンコード Property name @@ -232,11 +234,11 @@ Property description - 出力パス + 出力ファイル名と場所 Property name - [出力パス] フィールドで指定したパスにファイルが既に存在する場合、このチェック ボックスをオンにすると、既存のファイルが上書きされます。オフにすると、新しいファイルが作成されます。 + [出力パス] フィールドで指定したパスにファイルがすでに存在する場合、このチェック ボックスをオンにすると、既存のファイルが上書きされます。オフにすると、新しいファイルが作成されます。 Property description @@ -275,6 +277,14 @@ エンコード Property name + + [キー] プロパティで指定したキーの解釈に使用するエンコードです。 + Property description + + + キーのエンコード + Property name + 復号するテキストです。 Property description @@ -296,7 +306,7 @@ Property description - 結果 + 復号済みのテキスト Property name @@ -320,7 +330,7 @@ Property description - 入力パス + ファイル パス Property name @@ -355,6 +365,14 @@ エラー発生時に実行を継続 property name + + [キー] プロパティで指定したキーの解釈に使用するエンコードです。 + property description + + + キーのエンコード + property name + [キー] プロパティで指定したキーの解釈に使用するエンコードです。 property description @@ -376,11 +394,11 @@ property description - 出力パス + 出力ファイル名と場所 property name - [出力パス] フィールドで指定したパスにファイルが既に存在する場合、このチェック ボックスをオンにすると、既存のファイルが上書きされます。オフにすると、新しいファイルが作成されます。 + [出力パス] フィールドで指定したパスにファイルがすでに存在する場合、このチェック ボックスをオンにすると、既存のファイルが上書きされます。オフにすると、新しいファイルが作成されます。 property description @@ -419,6 +437,14 @@ エンコード Property name + + [キー] プロパティで指定したキーの解釈に使用するエンコードです。 + Property description + + + キーのエンコード + Property name + 暗号化するテキストです。 Property description @@ -448,15 +474,15 @@ Property description - 結果 + 暗号化済みのテキスト Property name - 指定したアルゴリズムとエンコード形式を使用して、ファイルをキーでハッシュします。結果として生成されるハッシュを表す 16 進数文字列を返します。(Hash File With Key) + 指定したアルゴリズムを使用して、ファイルをキーでハッシュします。結果として生成されるハッシュを表す 16 進数文字列を返します。キーを使用したハッシュ アルゴリズムと、キーを使用しないハッシュ アルゴリズムの両方をサポートします。(Hash File) Activity description - ファイルをキーでハッシュ + ファイルをハッシュ Activity name @@ -483,6 +509,14 @@ エンコード Property name + + [キー] プロパティで指定したキーの解釈に使用するエンコードです。 + Property description + + + キーのエンコード + Property name + ハッシュするファイルのパスです。 Property description @@ -512,15 +546,15 @@ Property description - 結果 + ハッシュ Property name - 指定したアルゴリズムを使用して、文字列をキーでハッシュします。結果として生成されるハッシュを表す 16 進数文字列を返します。(Hash Text With Key) + 指定したアルゴリズムを使用して、文字列をキーでハッシュします。結果として生成されるハッシュを表す 16 進数文字列を返します。キーを使用したハッシュ アルゴリズムと、キーを使用しないハッシュ アルゴリズムの両方をサポートします。(Hash Text) Activity description - テキストをキーでハッシュ + テキストをハッシュ Activity name @@ -547,6 +581,14 @@ エンコード Property name + + [キー] プロパティで指定したキーの解釈に使用するエンコードです。 + Property description + + + キーのエンコード + Property name + ハッシュするテキストです。 Property description @@ -564,7 +606,7 @@ Property name - 指定したファイルのハッシュに使用するキーです。 + 指定したテキストのハッシュに使用するキーです。 Property description @@ -576,15 +618,15 @@ Property description - 結果 + ハッシュ Property name - 選択したハッシュ アルゴリズムを指定したファイルのコンテンツに適用し、結果として生成されるハッシュの 16 進数文字列表現を返します。(Hash File) + このアクティビティは非推奨になりました。SHA1、SHA256、SHA384、SHA512 は単一の [ファイルをハッシュ] アクティビティに移動されました。 Activity description - ファイルをハッシュ + ファイルをハッシュ (非推奨) Activity name @@ -616,15 +658,15 @@ Property description - 結果 + ハッシュ Property name - 指定したアルゴリズムを使用して、文字列をハッシュします。結果として生成されるハッシュを表す 16 進数文字列を返します。(Hash Text) + このアクティビティは非推奨になりました。SHA1、SHA256、SHA384、SHA512 は単一の [テキストをハッシュ] アクティビティに移動されました。 Activity description - テキストをハッシュ + テキストをハッシュ (非推奨) Activity name @@ -664,7 +706,7 @@ Property description - 結果 + ハッシュ Property name @@ -675,4 +717,159 @@ プリンシパル Category name + + [キー] と [キー (SecureString)] を切り替えます。 + + + キーの入力モードを切り替え + + + [キー] と [キー (SecureString)] を切り替えます。 + + + キーの入力モードを切り替え + + + [キー] と [キー (SecureString)] を切り替えます。 + + + キーの入力モードを切り替え + + + [キー] と [キー (SecureString)] を切り替えます。 + + + キーの入力モードを切り替え + + + [キー] と [キー (SecureString)] を切り替えます。 + + + キーの入力モードを切り替え + + + [キー] と [キー (SecureString)] を切り替えます。 + + + キーの入力モードを切り替え + + + 暗号化済みのファイルです。 + property description + + + 暗号化済みのファイル + property name + + + 暗号化するファイルです。 + property description + + + ファイル + property name + + + 復号済みのファイルです。 + property description + + + 復号済みのファイル + property name + + + 復号するファイルです。 + property description + + + ファイル + property name + + + ハッシュするファイルです。 + property description + + + ファイル + property name + + + {{0}} または {1} のいずれか 1 つのみに引数を設定する必要があります。 + exception + + + このアクティビティではファイルのみがサポートされており、フォルダーはサポートされていません。 + exception + + + 暗号化後のファイルを保存する際に使用するファイル名です。 + property description + + + 暗号化後のファイル名 + property name + + + 復号後のファイルを保存する際に使用するファイル名です。 + property description + + + 復号後のファイル名 + property name + + + オプション + Category name + + + キー (SecureString) を使用 + + + キーを使用 + + + キー (SecureString) を使用 + + + キーを使用 + + + キーとセキュリティで保護された文字列は、両方とも null 以外にしてはなりません。 + + + キーとセキュリティで保護された文字列は、両方とも null にしてはなりません。 + + + アクティビティの必須の引数「key」の値が指定されていません。 + + + [キー (SecureString)] を null にすることはできません。 + + + ファイル パスとリソースを切り替えます。 + + + ファイルの入力モードの切り替え + + + ファイル パスとリソースを切り替えます。 + + + ファイルの入力モードの切り替え + + + ファイル パスとリソースを切り替えます。 + + + ファイルの入力モードの切り替え + + + ファイル パスとリソースを切り替えます。 + + + ファイルの入力モードの切り替え + + + 選択した暗号化アルゴリズムは非推奨となり、今後のバージョンではサポートされなくなります。 + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ko.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ko.resx index 81d2d7dca..03a94d9de 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ko.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ko.resx @@ -124,22 +124,22 @@ 입력 - Text + 텍스트 property name 파일이 없습니다. - FilePath + 파일 경로 property name - InputPath + 입력 경로 property name - OutputPath + 출력 경로 property name @@ -149,7 +149,7 @@ 암호화 작업이 실패했습니다. 암호화와 암호 해독 작업에서 동일한 알고리즘과 키가 사용되었는지 확인하십시오. - Encoding + 인코딩 @@ -161,23 +161,17 @@ 공통 - ContinueOnError + 오류 발생 시 계속 진행 property name MACTripleDES에서는 16 또는 24바이트 길이의 키가 사용됩니다. 키의 길이는 인코딩에 따라 다를 수 있습니다. - - 키 및 보안 문자열 모두 null이어야 합니다. - - - 키 및 보안 문자열 모두 null이 아니어야 합니다. - - SecureString 키 + KeySecureString - SecureString 키 + 키 보안 문자열 지정된 키 인코딩 및 알고리즘에 따라 파일의 암호를 해독합니다. @@ -192,7 +186,7 @@ Property description - Algorithm + 알고리즘 Property name @@ -200,7 +194,7 @@ Property description - Continue On Error + 오류 발생시 계속 진행 Property name @@ -208,7 +202,15 @@ Property description - Input Path + 파일 경로 + Property name + + + 키 속성에 지정된 키를 해석하는 데 사용되는 인코딩입니다. + Property description + + + 키 인코딩 Property name @@ -216,7 +218,7 @@ Property description - Key Encoding + 키 인코딩 Property name @@ -224,7 +226,7 @@ Property description - Key + Property name @@ -232,7 +234,7 @@ Property description - Output Path + 출력 파일 이름 및 위치 Property name @@ -240,7 +242,7 @@ Property description - Overwrite + 덮어쓰기 Property name @@ -256,7 +258,7 @@ Property description - Algorithm + 알고리즘 Property name @@ -264,7 +266,7 @@ Property description - Continue On Error + 오류 발생시 계속 진행 Property name @@ -272,7 +274,15 @@ Property description - Encoding + 인코딩 + Property name + + + 키 속성에 지정된 키를 해석하는 데 사용되는 인코딩입니다. + Property description + + + 키 인코딩 Property name @@ -280,7 +290,7 @@ Property description - Text + 텍스트 Property name @@ -288,7 +298,7 @@ Property description - Key + Property name @@ -296,7 +306,7 @@ Property description - Result + 텍스트 암호 해독 Property name @@ -312,7 +322,7 @@ Property description - Algorithm + 알고리즘 Property name @@ -320,7 +330,7 @@ Property description - Input Path + 파일 경로 Property name @@ -328,7 +338,7 @@ Property description - Key + Property name @@ -336,7 +346,7 @@ property description - Key Secure String + 키 보안 문자열 property name @@ -344,7 +354,7 @@ property description - Key Secure String + 키 보안 문자열 property name @@ -352,7 +362,15 @@ property description - Continue On Error + 오류 발생시 계속 진행 + property name + + + 키 속성에 지정된 키를 해석하는 데 사용되는 인코딩입니다. + property description + + + 키 인코딩 property name @@ -360,7 +378,7 @@ property description - Key Encoding + 키 인코딩 property name @@ -368,7 +386,7 @@ property description - Key Secure String + 키 보안 문자열 property name @@ -376,7 +394,7 @@ property description - Output Path + 출력 파일 이름 및 위치 property name @@ -384,7 +402,7 @@ property description - Overwrite + 덮어쓰기 property name @@ -400,7 +418,7 @@ Property description - Algorithm + 알고리즘 Property name @@ -408,7 +426,7 @@ Property description - Continue On Error + 오류 발생시 계속 진행 Property name @@ -416,7 +434,15 @@ Property description - Encoding + 인코딩 + Property name + + + 키 속성에 지정된 키를 해석하는 데 사용되는 인코딩입니다. + Property description + + + 키 인코딩 Property name @@ -424,7 +450,7 @@ Property description - Text + 텍스트 Property name @@ -432,7 +458,7 @@ Property description - Key Secure String + 키 보안 문자열 Property name @@ -440,7 +466,7 @@ Property description - Key + Property name @@ -448,15 +474,15 @@ Property description - Result + 암호화된 텍스트 Property name - 지정된 알고리즘 및 인코딩 형식을 사용하여 키로 파일을 해시하고 결과 해시를 16진수 문자열 표현으로 반환합니다. + 지정된 알고리즘을 사용하여 키로 파일을 해시하고 결과 해시를 16진수 문자열 표현으로 반환합니다. 키가 있거나 키가 없는 해시 알고리즘을 지원합니다. Activity description - Hash File With Key + Hash File Activity name @@ -464,7 +490,7 @@ Property description - Algorithm + 알고리즘 Property name @@ -472,7 +498,7 @@ Property description - Continue On Error + 오류 발생시 계속 진행 Property name @@ -480,7 +506,15 @@ Property description - Encoding + 인코딩 + Property name + + + 키 속성에 지정된 키를 해석하는 데 사용되는 인코딩입니다. + Property description + + + 키 인코딩 Property name @@ -488,7 +522,7 @@ Property description - File path + 파일 경로 Property name @@ -496,7 +530,7 @@ Property description - Key Secure String + 키 보안 문자열 Property name @@ -504,7 +538,7 @@ Property description - Key + Property name @@ -512,15 +546,15 @@ Property description - Result + 해시 Property name - 지정된 알고리즘을 사용하여 키로 문자열을 해시하고 결과 해시를 16진수 문자열 표현으로 반환합니다. + 지정된 알고리즘을 사용하여 키로 문자열을 해시하고 결과 해시를 16진수 문자열 표현으로 반환합니다. 키가 있거나 키가 없는 해시 알고리즘을 지원합니다. Activity description - Hash Text With Key + Hash Text Activity name @@ -528,7 +562,7 @@ Property description - Algorithm + 알고리즘 Property name @@ -536,7 +570,7 @@ Property description - Continue On Error + 오류 발생시 계속 진행 Property name @@ -544,7 +578,15 @@ Property description - Encoding + 인코딩 + Property name + + + 키 속성에 지정된 키를 해석하는 데 사용되는 인코딩입니다. + Property description + + + 키 인코딩 Property name @@ -552,7 +594,7 @@ Property description - Text + 텍스트 Property name @@ -560,15 +602,15 @@ Property description - Key Secure String + 키 보안 문자열 Property name - 지정된 파일을 해시하는 데 사용할 키입니다. + 지정된 텍스트를 해시하는 데 사용할 키입니다. Property description - Key + Property name @@ -576,15 +618,15 @@ Property description - Result + 해시 Property name - 선택한 해싱 알고리즘을 제공된 파일의 콘텐츠에 적용한 후 결과 해시를 16진수 문자열 표현으로 반환합니다. + 이 액티비티는 더 이상 사용되지 않습니다. SHA1, SHA256, SHA384, SHA512가 단일 액티비티 해시 파일로 이동되었습니다. Activity description - Hash File + Hash File (사용되지 않음) Activity name @@ -592,7 +634,7 @@ Property description - Algorithm + 알고리즘 Property name @@ -600,7 +642,7 @@ Property description - Continue On Error + 오류 발생시 계속 진행 Property name @@ -608,7 +650,7 @@ Property description - File Path + 파일 경로 Property name @@ -616,15 +658,15 @@ Property description - Result + 해시 Property name - 지정된 알고리즘을 사용하여 문자열을 해시하고 결과 해시를 16진수 문자열 표현으로 반환합니다. + 이 액티비티는 더 이상 사용되지 않습니다. SHA1, SHA256, SHA384, SHA512가 단일 액티비티 해시 텍스트로 이동되었습니다. Activity description - Hash Text + Hash Text (사용되지 않음) Activity name @@ -632,7 +674,7 @@ Property description - Algorithm + 알고리즘 Property name @@ -640,7 +682,7 @@ Property description - Continue On Error + 오류 발생시 계속 진행 Property name @@ -648,7 +690,7 @@ Property description - Encoding + 인코딩 Property name @@ -656,7 +698,7 @@ Property description - Text + 텍스트 Property name @@ -664,7 +706,7 @@ Property description - Result + 해시 Property name @@ -675,4 +717,159 @@ 사용자 Category name + + 키와 보안 문자열 키 간 전환 + + + 키 입력 모드 스위치 + + + 키와 보안 문자열 키 간 전환 + + + 키 입력 모드 스위치 + + + 키와 보안 문자열 키 간 전환 + + + 키 입력 모드 스위치 + + + 키와 보안 문자열 키 간 전환 + + + 키 입력 모드 스위치 + + + 키와 보안 문자열 키 간 전환 + + + 키 입력 모드 스위치 + + + 키와 보안 문자열 키 간 전환 + + + 키 입력 모드 스위치 + + + 암호화된 파일 + property description + + + 암호화된 파일 + property name + + + 암호화할 파일 + property description + + + 파일 + property name + + + 해독된 파일 + property description + + + 암호 해독된 파일 + property name + + + 암호를 해독할 파일 + property description + + + 파일 + property name + + + 해시할 파일 + property description + + + 파일 + property name + + + {{0}} 및 {1} 중 하나에만 인수를 구성해야 합니다. + exception + + + 액티비티는 폴더가 아닌 파일만 지원합니다. + exception + + + 암호화된 파일을 저장할 파일 이름입니다. + property description + + + 암호화된 파일 이름 + property name + + + 암호 해독된 파일을 저장할 파일 이름입니다. + property description + + + 암호 해독된 파일 이름 + property name + + + 옵션 + Category name + + + 키 보안 문자열 사용 + + + 키 사용 + + + 키 보안 문자열 사용 + + + 키 사용 + + + 키 및 보안 문자열 모두 null이어야 합니다. + + + 키 및 보안 문자열 모두 null이 아니어야 합니다. + + + 필수 액티비티 인수 '키'의 값이 제공되지 않았습니다 + + + 키 보안 문자열은 Null이 아니어야 합니다. + + + 파일 경로와 리소스 간 전환 + + + 파일 입력 모드 전환 + + + 파일 경로와 리소스 간 전환 + + + 파일 입력 모드 전환 + + + 파일 경로와 리소스 간 전환 + + + 파일 입력 모드 전환 + + + 파일 경로와 리소스 간 전환 + + + 파일 입력 모드 전환 + + + 선택한 암호화 알고리즘은 사용되지 않으며 향후 버전에서 더 이상 지원되지 않습니다. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.pt-BR.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.pt-BR.resx index 6c806e2e8..16acd64ed 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.pt-BR.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.pt-BR.resx @@ -124,22 +124,22 @@ Entrada - Text + Texto property name O arquivo não existe. - FilePath + CaminhoDoArquivo property name - InputPath + CaminhoDeEntrada property name - OutputPath + CaminhoDeSaída property name @@ -149,7 +149,7 @@ Uma operação criptográfica falhou. Verifique se você usou o mesmo algoritmo e chave para as operações de criptografia e descriptografia. - Encoding + Codificação Chave @@ -161,23 +161,17 @@ Comum - ContinueOnError + ContinuarComErro property name MACTripleDES usa uma chave de 16 ou 24 bytes. O tamanho da sua chave depende da Codificação. - - A chave e a string segura não podem ser nulas. - - - A chave e a string segura não podem ser nulas ao mesmo tempo. - - Chave String segura + KeySecureString - Chave String segura + String de Chave Segura Descriptografa um arquivo com base em um algoritmo e uma codificação de chave especificada. @@ -192,7 +186,7 @@ Property description - Algorithm + Algoritmo Property name @@ -200,7 +194,7 @@ Property description - Continue On Error + Continuar com Erro Property name @@ -208,7 +202,15 @@ Property description - Input Path + Caminho do arquivo + Property name + + + A codificação usada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -216,7 +218,7 @@ Property description - Key Encoding + Codificação de Chave Property name @@ -224,7 +226,7 @@ Property description - Key + Chave Property name @@ -232,7 +234,7 @@ Property description - Output Path + Nome e local do arquivo de saída Property name @@ -240,7 +242,7 @@ Property description - Overwrite + Substituir Property name @@ -256,7 +258,7 @@ Property description - Algorithm + Algoritmo Property name @@ -264,7 +266,7 @@ Property description - Continue On Error + Continuar com Erro Property name @@ -272,7 +274,15 @@ Property description - Encoding + Codificação + Property name + + + A codificação usada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -280,7 +290,7 @@ Property description - Text + Texto Property name @@ -288,7 +298,7 @@ Property description - Key + Chave Property name @@ -296,7 +306,7 @@ Property description - Result + Texto Descriptografado Property name @@ -312,7 +322,7 @@ Property description - Algortithm + Algoritmo Property name @@ -320,7 +330,7 @@ Property description - Input Path + Caminho do arquivo Property name @@ -328,7 +338,7 @@ Property description - Key + Chave Property name @@ -336,7 +346,7 @@ property description - Key Secure String + String Segura da Chave property name @@ -344,7 +354,7 @@ property description - Key Secure String + String Segura da Chave property name @@ -352,7 +362,15 @@ property description - Continue On Error + Continuar com Erro + property name + + + A codificação usada para interpretar a chave especificada na propriedade Key. + property description + + + Codificação de Chave property name @@ -360,7 +378,7 @@ property description - Key Encoding + Codificação de Chave property name @@ -368,7 +386,7 @@ property description - Key Secure String + String Segura da Chave property name @@ -376,7 +394,7 @@ property description - Output Path + Nome e local do arquivo de saída property name @@ -384,7 +402,7 @@ property description - Overwrite + Substituir property name @@ -400,7 +418,7 @@ Property description - Algorithm + Algoritmo Property name @@ -408,7 +426,7 @@ Property description - Continue On Error + Continuar com Erro Property name @@ -416,7 +434,15 @@ Property description - Encoding + Codificação + Property name + + + A codificação usada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -424,7 +450,7 @@ Property description - Text + Texto Property name @@ -432,7 +458,7 @@ Property description - Key Secure String + String Segura da Chave Property name @@ -440,7 +466,7 @@ Property description - Key + Chave Property name @@ -448,15 +474,15 @@ Property description - Result + Texto Criptografado Property name - Faz o hash de um arquivo usando um formato de codificação e algoritmo especificado e retorna a representação da string hexadecimal do hash resultante. + Faz o hash de um arquivo com uma chave usando um algoritmo especificado e retorna a representação da string hexadecimal do hash resultante. Ele suporta o hash de algoritmos com e sem uma chave. Activity description - Hash File With Key + Hash File Activity name @@ -464,7 +490,7 @@ Property description - Algorithm + Algoritmo Property name @@ -472,7 +498,7 @@ Property description - Continue On Error + Continuar com Erro Property name @@ -480,7 +506,15 @@ Property description - Encoding + Codificação + Property name + + + A codificação usada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -488,7 +522,7 @@ Property description - File path + Caminho do arquivo Property name @@ -496,7 +530,7 @@ Property description - Key Secure String + String Segura da Chave Property name @@ -504,7 +538,7 @@ Property description - Key + Chave Property name @@ -512,15 +546,15 @@ Property description - Result + Hash Property name - Faz o hash de uma string com uma chave usando um algoritmo especificado e retorna a representação da string hexadecimal do hash resultante. + Faz o hash de uma string com uma chave usando um algoritmo especificado e retorna a representação da string hexadecimal do hash resultante. Ele suporta o hash de algoritmos com e sem uma chave. Activity description - Hash Text With Key + Hash Text Activity name @@ -528,7 +562,7 @@ Property description - Algorithm + Algoritmo Property name @@ -536,7 +570,7 @@ Property description - Continue On Error + Continuar com Erro Property name @@ -544,7 +578,15 @@ Property description - Encoding + Codificação + Property name + + + A codificação usada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -552,7 +594,7 @@ Property description - Text + Texto Property name @@ -560,15 +602,15 @@ Property description - Key Secure String + String Segura da Chave Property name - A chave que você quer usar para fazer hash do arquivo especificado. + A chave que você quer usar para fazer hash do texto especificado. Property description - Key + Chave Property name @@ -576,15 +618,15 @@ Property description - Result + Hash Property name - Aplica o algoritmo de hash selecionado no conteúdo do arquivo fornecido e retorna a representação de string hexadecimal do hash resultante. + Esta atividade agora está obsoleta. SHA1, SHA256, SHA384 e SHA512 foram movidos para um único arquivo de hash da atividade. Activity description - Hash File + Hash File (deprecated) Activity name @@ -592,7 +634,7 @@ Property description - Algortithm + Algoritmo Property name @@ -600,7 +642,7 @@ Property description - Continue On Error + Continuar com Erro Property name @@ -608,7 +650,7 @@ Property description - File Path + Caminho do Arquivo Property name @@ -616,15 +658,15 @@ Property description - Result + Hash Property name - Faz o hash de uma string usando um algoritmo especificado e retorna a representação da string hexadecimal do hash resultante. + Esta atividade agora está obsoleta. SHA1, SHA256, SHA384 e SHA512 foram movidos para um único texto de hash da atividade. Activity description - Hash Text + Hash Text (deprecated) Activity name @@ -632,7 +674,7 @@ Property description - Algorithm + Algoritmo Property name @@ -640,7 +682,7 @@ Property description - Continue On Error + Continuar com Erro Property name @@ -648,7 +690,7 @@ Property description - Encoding + Codificação Property name @@ -656,7 +698,7 @@ Property description - Text + Texto Property name @@ -664,7 +706,7 @@ Property description - Result + Hash Property name @@ -675,4 +717,159 @@ Principal Category name + + A alternância entre Chave e Chave de String Segura + + + AlterarModoDeEntradaDaChave + + + A alternância entre Chave e Chave de String Segura + + + AlterarModoDeEntradaDaChave + + + A alternância entre Chave e Chave de String Segura + + + AlterarModoDeEntradaDaChave + + + A alternância entre Chave e Chave de String Segura + + + AlterarModoDeEntradaDaChave + + + A alternância entre Chave e Chave de String Segura + + + AlterarModoDeEntradaDaChave + + + A alternância entre Chave e Chave de String Segura + + + AlterarModoDeEntradaDaChave + + + O arquivo criptografado + property description + + + Arquivo Criptografado + property name + + + O arquivo a ser criptografado + property description + + + Arquivo + property name + + + O arquivo descriptografado + property description + + + Arquivo Descriptografado + property name + + + O arquivo a ser descriptografado + property description + + + Arquivo + property name + + + O arquivo a ter hash + property description + + + Arquivo + property name + + + Somente uma das {{0}} e {1} deve ter seus argumentos configurados. + exception + + + A atividade tem suporte somente a arquivos, não a pastas. + exception + + + O nome do arquivo que você quer usar para salvar o arquivo criptografado. + property description + + + Nome de Arquivo Criptografado + property name + + + O nome do arquivo que você quer usar para salvar o arquivo descriptografado. + property description + + + Nome de Arquivo Descriptografado + property name + + + Opções + Category name + + + Usar String Segura da Chave + + + Usar Chave + + + Usar String Segura da Chave + + + Usar Chave + + + A chave e a string segura não podem ser nulas. + + + A chave e a string segura não podem ser nulas ao mesmo tempo. + + + O valor de um argumento de atividade "Key" exigido não foi fornecido + + + String Segura da Chave não pode ter valor nulo + + + A alternância entre o Caminho do Arquivo e o Recurso + + + AlternânciaDoModoDeEntradaDoArquivo + + + A alternância entre o Caminho do Arquivo e o Recurso + + + AlternânciaDoModoDeEntradaDoArquivo + + + A alternância entre o Caminho do Arquivo e o Recurso + + + AlternânciaDoModoDeEntradaDoArquivo + + + A alternância entre o Caminho do Arquivo e o Recurso + + + AlternânciaDoModoDeEntradaDoArquivo + + + O algoritmo de criptografia selecionado está obsoleto e não terá mais suporte em versões futuras. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.pt.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.pt.resx index 99fb1e51b..31795aa47 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.pt.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.pt.resx @@ -124,22 +124,22 @@ Entrada - Text + Texto property name O ficheiro não existe. - FilePath + Caminho do Ficheiro property name - InputPath + CaminhoEntrada property name - OutputPath + CaminhoSaída property name @@ -149,7 +149,7 @@ Falha numa operação criptográfica. Certifique-se de que utiliza o mesmo algoritmo e a mesma chave para as operações de encriptação e desencriptação. - Encoding + Codificação Chave @@ -161,23 +161,17 @@ Comum - ContinueOnError + ContinueNoErro property name O MACTripleDES utiliza uma chave de 16 ou 24 bytes. O comprimento da sua chave depende da Codificação. - - A chave e a cadeia segura não devem ser ambas não nulas. - - - A chave e a cadeia segura não devem ser ambas nulas. - - Chave SecureString + KeySecureString - Chave SecureString + Key Secure String Desencripta um ficheiro com base numa codificação de chave e algoritmo especificados. @@ -192,7 +186,7 @@ Property description - Algorithm + Algoritmo Property name @@ -200,7 +194,7 @@ Property description - Continue On Error + Continue No Erro Property name @@ -208,7 +202,15 @@ Property description - Input Path + Caminho do ficheiro + Property name + + + A codificação utilizada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -216,7 +218,7 @@ Property description - Key Encoding + Codificação de Chave Property name @@ -224,7 +226,7 @@ Property description - Key + Chave Property name @@ -232,7 +234,7 @@ Property description - Output Path + Nome e localização do ficheiro de saída Property name @@ -240,7 +242,7 @@ Property description - Overwrite + Substituir Property name @@ -256,7 +258,7 @@ Property description - Algorithm + Algoritmo Property name @@ -264,7 +266,7 @@ Property description - Continue On Error + Continue No Erro Property name @@ -272,7 +274,15 @@ Property description - Encoding + Codificação + Property name + + + A codificação utilizada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -280,7 +290,7 @@ Property description - Text + Texto Property name @@ -288,7 +298,7 @@ Property description - Key + Chave Property name @@ -296,7 +306,7 @@ Property description - Result + Texto desencriptado Property name @@ -312,7 +322,7 @@ Property description - Algortithm + Algoritmo Property name @@ -320,7 +330,7 @@ Property description - Input Path + Caminho do ficheiro Property name @@ -328,7 +338,7 @@ Property description - Key + Chave Property name @@ -336,7 +346,7 @@ property description - Key Secure String + String de Chave Segura property name @@ -344,7 +354,7 @@ property description - Key Secure String + String de Chave Segura property name @@ -352,7 +362,15 @@ property description - Continue On Error + Continue No Erro + property name + + + A codificação utilizada para interpretar a chave especificada na propriedade Key. + property description + + + Codificação de Chave property name @@ -360,7 +378,7 @@ property description - Key Encoding + Codificação de Chave property name @@ -368,7 +386,7 @@ property description - Key Secure String + String de Chave Segura property name @@ -376,7 +394,7 @@ property description - Output Path + Nome e localização do ficheiro de saída property name @@ -384,7 +402,7 @@ property description - Overwrite + Substituir property name @@ -400,7 +418,7 @@ Property description - Algorithm + Algoritmo Property name @@ -408,7 +426,7 @@ Property description - Continue On Error + Continue No Erro Property name @@ -416,7 +434,15 @@ Property description - Encoding + Codificação + Property name + + + A codificação utilizada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -424,7 +450,7 @@ Property description - Text + Texto Property name @@ -432,7 +458,7 @@ Property description - Key Secure String + String de Chave Segura Property name @@ -440,7 +466,7 @@ Property description - Key + Chave Property name @@ -448,15 +474,15 @@ Property description - Result + Texto Encriptado Property name - Aplica hash a um ficheiro com uma chave utilizando um formato de codificação e algoritmo especificados e devolve a representação da cadeia hexadecimal do hash resultante. + Aplica hash a um ficheiro com uma chave utilizando um algoritmo especificado e devolve a representação da cadeia hexadecimal do hash resultante. Suporta a aplicação de hash a algoritmos com uma chave e sem uma chave. Activity description - Hash File With Key + Hash File Activity name @@ -464,7 +490,7 @@ Property description - Algorithm + Algoritmo Property name @@ -472,7 +498,7 @@ Property description - Continue On Error + Continue No Erro Property name @@ -480,7 +506,15 @@ Property description - Encoding + Codificação + Property name + + + A codificação utilizada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -488,7 +522,7 @@ Property description - File path + Caminho do ficheiro Property name @@ -496,7 +530,7 @@ Property description - Key Secure String + String de Chave Segura Property name @@ -504,7 +538,7 @@ Property description - Key + Chave Property name @@ -512,15 +546,15 @@ Property description - Result + Hash Property name - Aplica hash a uma cadeia com uma chave utilizando um algoritmo especificado e devolve a representação da cadeia hexadecimal do hash resultante. + Aplica hash a uma cadeia com uma chave utilizando um algoritmo especificado e devolve a representação da cadeia hexadecimal do hash resultante. Suporta a aplicação de hash a algoritmos com uma chave e sem uma chave. Activity description - Hash Text With Key + Hash Text Activity name @@ -528,7 +562,7 @@ Property description - Algorithm + Algoritmo Property name @@ -536,7 +570,7 @@ Property description - Continue On Error + Continue No Erro Property name @@ -544,7 +578,15 @@ Property description - Encoding + Codificação + Property name + + + A codificação utilizada para interpretar a chave especificada na propriedade Key. + Property description + + + Codificação de Chave Property name @@ -552,7 +594,7 @@ Property description - Text + Texto Property name @@ -560,7 +602,7 @@ Property description - Key Secure String + String de Chave Segura Property name @@ -568,7 +610,7 @@ Property description - Key + Chave Property name @@ -576,15 +618,15 @@ Property description - Result + Hash Property name - Aplica o algoritmo de aplicação de hash selecionado nos conteúdos do ficheiro fornecido e devolve a representação da cadeia hexadecimal do hash resultante. + Esta atividade está agora preterida. SHA1, SHA256, SHA384 e SHA512 foram movidos para um único Ficheiro Hash de atividade. Activity description - Hash File + Hash File (preterido) Activity name @@ -592,7 +634,7 @@ Property description - Algortithm + Algoritmo Property name @@ -600,7 +642,7 @@ Property description - Continue On Error + Continue No Erro Property name @@ -616,15 +658,15 @@ Property description - Result + Hash Property name - Aplica hash a uma cadeia utilizando um algoritmo especificado e devolve a representação da cadeia hexadecimal do hash resultante. + Esta atividade está agora preterida. SHA1, SHA256, SHA384 e SHA512 foram movidos para um único Texto Hash de atividade. Activity description - Hash Text + Hash Text (preterido) Activity name @@ -632,7 +674,7 @@ Property description - Algorithm + Algoritmo Property name @@ -640,7 +682,7 @@ Property description - Continue On Error + Continue No Erro Property name @@ -648,7 +690,7 @@ Property description - Encoding + Codificação Property name @@ -656,7 +698,7 @@ Property description - Text + Texto Property name @@ -664,7 +706,7 @@ Property description - Result + Hash Property name @@ -675,4 +717,159 @@ Principal Category name + + A troca entre Key e Secure String Key + + + ComutadorDoModoDeEntradaDeTeclas + + + A troca entre Key e Secure String Key + + + ComutadorDoModoDeEntradaDeTeclas + + + A troca entre Key e Secure String Key + + + ComutadorDoModoDeEntradaDeTeclas + + + A troca entre Key e Secure String Key + + + ComutadorDoModoDeEntradaDeTeclas + + + A troca entre Key e Secure String Key + + + ComutadorDoModoDeEntradaDeTeclas + + + A troca entre Key e Secure String Key + + + ComutadorDoModoDeEntradaDeTeclas + + + O ficheiro encriptado + property description + + + Ficheiro Encriptado + property name + + + O ficheiro a ser encriptado + property description + + + Ficheiro + property name + + + O ficheiro desencriptado + property description + + + Ficheiro Desencriptado + property name + + + O ficheiro a ser desencriptado + property description + + + Ficheiro + property name + + + O ficheiro a receber um hash + property description + + + Ficheiro + property name + + + Só um entre {{0}} e {1} deve ter os respetivos argumentos configurados. + exception + + + A atividade suporta apenas ficheiros e não pastas. + exception + + + O nome de ficheiro que pretende utilizar para guardar o ficheiro encriptado. + property description + + + Nome de Ficheiro Encriptado + property name + + + O nome de ficheiro que pretende utilizar para guardar o ficheiro desencriptado. + property description + + + Nome de Ficheiro Desencriptado + property name + + + Opções + Category name + + + Utilizar String de Chave Segura + + + Utilizar Chave + + + Utilizar String de Chave Segura + + + Utilizar Chave + + + A chave e a cadeia segura não devem ser ambas não nulas. + + + A chave e a cadeia segura não devem ser ambas nulas. + + + Não foi fornecido o valor de um argumento de atividade necessário "Key" + + + A String de Chave Segura não pode estar vazia + + + O comutador entre o Caminho do Ficheiro e o Recurso + + + InterruptorDoModoDeEntradaDeFicheiro + + + O comutador entre o Caminho do Ficheiro e o Recurso + + + InterruptorDoModoDeEntradaDeFicheiro + + + O comutador entre o Caminho do Ficheiro e o Recurso + + + InterruptorDoModoDeEntradaDeFicheiro + + + O comutador entre o Caminho do Ficheiro e o Recurso + + + InterruptorDoModoDeEntradaDeFicheiro + + + O algoritmo de encriptação selecionado está preterido e deixará de ser suportado nas versões futuras. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.resx index 7a89dd17e..8c17ae507 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.resx @@ -167,12 +167,6 @@ MACTripleDES uses a key that is 16 or 24 bytes long. The length of your key depends on the Encoding. - - The key and the secure string must not be both not null. - - - The key and the secure string must not be both null. - KeySecureString @@ -208,7 +202,15 @@ Property description - Input Path + File path + Property name + + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding Property name @@ -232,7 +234,7 @@ Property description - Output Path + Output file name and location Property name @@ -275,6 +277,14 @@ Encoding Property name + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding + Property name + The text that you want to decrypt. Property description @@ -296,7 +306,7 @@ Property description - Result + Decrypted Text Property name @@ -312,7 +322,7 @@ Property description - Algortithm + Algorithm Property name @@ -320,7 +330,7 @@ Property description - Input Path + File path Property name @@ -355,6 +365,14 @@ Continue On Error property name + + The encoding used to interpret the key specified in the Key property. + property description + + + Key Encoding + property name + The encoding used to interpret the key specified in the Key property. property description @@ -376,7 +394,7 @@ property description - Output Path + Output file name and location property name @@ -419,6 +437,14 @@ Encoding Property name + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding + Property name + The text that you want to encrypt. Property description @@ -448,15 +474,15 @@ Property description - Result + Encrypted Text Property name - Hashes a file with a key using a specified algorithm and encoding format and returns the hexadecimal string representation of the resulting hash. + Hashes a file with a key using a specified algorithm and returns the hexadecimal string representation of the resulting hash. It supports hashing algorithms with a key and without a key. Activity description - Hash File With Key + Hash File Activity name @@ -483,6 +509,14 @@ Encoding Property name + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding + Property name + The path to the file you want to hash. Property description @@ -512,15 +546,15 @@ Property description - Result + Hash Property name - Hashes a string with a key using a specified algorithm and returns the hexadecimal string representation of the resulting hash. + Hashes a string with a key using a specified algorithm and returns the hexadecimal string representation of the resulting hash. It supports hashing algorithms with a key and without a key. Activity description - Hash Text With Key + Hash Text Activity name @@ -547,6 +581,14 @@ Encoding Property name + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding + Property name + The text that you want to hash. Property description @@ -564,7 +606,7 @@ Property name - The key that you want to use to hash the specified file. + The key that you want to use to hash the specified text. Property description @@ -576,15 +618,15 @@ Property description - Result + Hash Property name - Applies the selected hashing algorithm on the contents of the provided file and returns the hexadecimal string representation of the resulting hash. + This activity is now deprecated. SHA1, SHA256, SHA384, and SHA512 were moved to a single activity Hash File. Activity description - Hash File + Hash File (deprecated) Activity name @@ -604,7 +646,7 @@ Property name - he path to the file you want to hash. + The path to the file you want to hash. Property description @@ -616,15 +658,15 @@ Property description - Result + Hash Property name - Hashes a string using a specified algorithm and returns the hexadecimal string representation of the resulting hash. + This activity is now deprecated. SHA1, SHA256, SHA384, and SHA512 were moved to a single activity Hash Text. Activity description - Hash Text + Hash Text (deprecated) Activity name @@ -664,7 +706,7 @@ Property description - Result + Hash Property name @@ -711,4 +753,123 @@ KeyInputModeSwitch + + The encrypted file + property description + + + Encrypted File + property name + + + The file to be encrypted + property description + + + File + property name + + + The decrypted file + property description + + + Decrypted File + property name + + + The file to be decrypted + property description + + + File + property name + + + The file to be hashed + property description + + + File + property name + + + Only one of {0] and {1} should have it's arguments configured. + exception + + + The activity only supports files, not folders. + exception + + + The file name you want to use to save the encrypted file. + property description + + + Encrypted Filename + property name + + + The file name you want to use to save the decrypted file. + property description + + + Decrypted Filename + property name + + + Options + Category name + + + Use Key Secure String + + + Use Key + + + Use Key Secure String + + + Use Key + + + The key and the secure string must not be both not null. + + + The key and the secure string must not be both null. + + + Value for a required activity argument 'Key' was not supplied + + + The Key Secure String must not be null + + + The switch between File Path and Resource + + + FileInputModeSwitch + + + The switch between File Path and Resource + + + FileInputModeSwitch + + + The switch between File Path and Resource + + + FileInputModeSwitch + + + The switch between File Path and Resource + + + FileInputModeSwitch + + + The selected encryption algorithm is deprecated and it will no longer be supported in future versions. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ru.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ru.resx index 02cbded15..d09305250 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ru.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.ru.resx @@ -124,22 +124,22 @@ Ввод - Text + Текст property name Файл не существует. - FilePath + ПутьКФайлу property name - InputPath + ПутьКФайлуСВходнымиДанными property name - OutputPath + ПутьКФайлуСВыходнымиДанными property name @@ -149,7 +149,7 @@ Не удалось выполнить криптографическую операцию. Обязательно используйте тот же алгоритм и ключ для операций шифрования и расшифровки. - Encoding + Кодировка Ключ @@ -161,23 +161,17 @@ Общие - ContinueOnError + ПродолжитьПриОшибке property name MACTripleDES использует ключ длиной 16 байт или 24 байта. Длина вашего ключа зависит от кодировки. - - Ключ и защищенная строка не должны одновременно иметь не нулевое значение. - - - Ключ и защищенная строка не должны одновременно иметь нулевое значение. - - Ключ SecureString + KeySecureString - Ключ SecureString + Ключ защищенной строки Дешифрует файл, основываясь на указанном кодировании ключа и алгоритме. @@ -192,7 +186,7 @@ Property description - Algorithm + Алгоритм Property name @@ -200,7 +194,7 @@ Property description - Continue On Error + Продолжить при ошибке Property name @@ -208,7 +202,15 @@ Property description - Input Path + File path + Property name + + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding Property name @@ -216,7 +218,7 @@ Property description - Key Encoding + Кодировка ключей Property name @@ -224,7 +226,7 @@ Property description - Key + Ключ Property name @@ -232,7 +234,7 @@ Property description - Output Path + Имя и расположение файла с выходными данными Property name @@ -240,7 +242,7 @@ Property description - Overwrite + Перезаписать Property name @@ -256,7 +258,7 @@ Property description - Algorithm + Алгоритм Property name @@ -264,7 +266,7 @@ Property description - Continue On Error + Продолжить при ошибке Property name @@ -272,7 +274,15 @@ Property description - Encoding + Кодировка + Property name + + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding Property name @@ -280,7 +290,7 @@ Property description - Text + Текст Property name @@ -288,7 +298,7 @@ Property description - Key + Ключ Property name @@ -296,7 +306,7 @@ Property description - Result + Расшифрованный текст Property name @@ -312,7 +322,7 @@ Property description - Algortithm + Алгоритм Property name @@ -320,7 +330,7 @@ Property description - Input Path + File path Property name @@ -328,7 +338,7 @@ Property description - Key + Ключ Property name @@ -336,7 +346,7 @@ property description - Key Secure String + Ключ защищенной строки property name @@ -344,7 +354,7 @@ property description - Key Secure String + Ключ защищенной строки property name @@ -352,7 +362,15 @@ property description - Continue On Error + Продолжить при ошибке + property name + + + The encoding used to interpret the key specified in the Key property. + property description + + + Key Encoding property name @@ -360,7 +378,7 @@ property description - Key Encoding + Кодировка ключей property name @@ -368,7 +386,7 @@ property description - Key Secure String + Ключ защищенной строки property name @@ -376,7 +394,7 @@ property description - Output Path + Имя и расположение файла с выходными данными property name @@ -384,7 +402,7 @@ property description - Overwrite + Перезаписать property name @@ -400,7 +418,7 @@ Property description - Algorithm + Алгоритм Property name @@ -408,7 +426,7 @@ Property description - Continue On Error + Продолжить при ошибке Property name @@ -416,7 +434,15 @@ Property description - Encoding + Кодировка + Property name + + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding Property name @@ -424,7 +450,7 @@ Property description - Text + Текст Property name @@ -432,7 +458,7 @@ Property description - Key Secure String + Ключ защищенной строки Property name @@ -440,7 +466,7 @@ Property description - Key + Ключ Property name @@ -448,15 +474,15 @@ Property description - Result + Зашифрованный текст Property name - Выполняет хэширование файла с помощью ключа, используя указанный алгоритм и формат кодировки, и возвращает шестнадцатеричное строковое представление результата хэширования. + Hashes a file with a key using a specified algorithm and returns the hexadecimal string representation of the resulting hash. It supports hashing algorithms with a key and without a key. Activity description - Hash File With Key + Hash File Activity name @@ -464,7 +490,7 @@ Property description - Algorithm + Алгоритм Property name @@ -472,7 +498,7 @@ Property description - Continue On Error + Продолжить при ошибке Property name @@ -480,7 +506,15 @@ Property description - Encoding + Кодировка + Property name + + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding Property name @@ -488,7 +522,7 @@ Property description - File path + Путь к файлу Property name @@ -496,7 +530,7 @@ Property description - Key Secure String + Ключ защищенной строки Property name @@ -504,7 +538,7 @@ Property description - Key + Ключ Property name @@ -512,15 +546,15 @@ Property description - Result + Хэш Property name - Выполняет хэширование строки с помощью ключа, используя указанный алгоритм, и возвращает шестнадцатеричное строковое представление результата хэширования. + Hashes a string with a key using a specified algorithm and returns the hexadecimal string representation of the resulting hash. It supports hashing algorithms with a key and without a key. Activity description - Hash Text With Key + Hash Text Activity name @@ -528,7 +562,7 @@ Property description - Algorithm + Алгоритм Property name @@ -536,7 +570,7 @@ Property description - Continue On Error + Продолжить при ошибке Property name @@ -544,7 +578,15 @@ Property description - Encoding + Кодировка + Property name + + + The encoding used to interpret the key specified in the Key property. + Property description + + + Key Encoding Property name @@ -552,7 +594,7 @@ Property description - Text + Текст Property name @@ -560,15 +602,15 @@ Property description - Key Secure String + Ключ защищенной строки Property name - Ключ, который следует использовать для хэширования указанного файла. + The key that you want to use to hash the specified text. Property description - Key + Ключ Property name @@ -576,15 +618,15 @@ Property description - Result + Хэш Property name - Применяет выбранный алгоритм хэширования к содержимому предоставленного файла и возвращает представление шестнадцатеричной строки полученного хэша. + This activity is now deprecated. SHA1, SHA256, SHA384, and SHA512 were moved to a single activity Hash File. Activity description - Hash File + Hash File (deprecated) Activity name @@ -592,7 +634,7 @@ Property description - Algortithm + Алгоритм Property name @@ -600,15 +642,15 @@ Property description - Continue On Error + Продолжить при ошибке Property name - Путь к файлу, для которого следует выполнить хэширование. + The path to the file you want to hash. Property description - File Path + Путь к файлу Property name @@ -616,15 +658,15 @@ Property description - Result + Хэш Property name - Выполняет хэширование строки, используя указанный алгоритм, и возвращает шестнадцатеричное строковое представление результата хэширования. + This activity is now deprecated. SHA1, SHA256, SHA384, and SHA512 were moved to a single activity Hash Text. Activity description - Hash Text + Hash Text (deprecated) Activity name @@ -632,7 +674,7 @@ Property description - Algorithm + Алгоритм Property name @@ -640,7 +682,7 @@ Property description - Continue On Error + Продолжить при ошибке Property name @@ -648,7 +690,7 @@ Property description - Encoding + Кодировка Property name @@ -656,7 +698,7 @@ Property description - Text + Текст Property name @@ -664,7 +706,7 @@ Property description - Result + Хэш Property name @@ -675,4 +717,159 @@ Principal Category name + + Переключение между ключом и ключом защищенной строки + + + KeyInputModeSwitch + + + Переключение между ключом и ключом защищенной строки + + + KeyInputModeSwitch + + + Переключение между ключом и ключом защищенной строки + + + KeyInputModeSwitch + + + Переключение между ключом и ключом защищенной строки + + + KeyInputModeSwitch + + + Переключение между ключом и ключом защищенной строки + + + KeyInputModeSwitch + + + Переключение между ключом и ключом защищенной строки + + + KeyInputModeSwitch + + + Зашифрованный файл + property description + + + Зашифрованный файл + property name + + + Файл, который следует зашифровать + property description + + + Файл + property name + + + Расшифрованный файл + property description + + + Расшифрованный файл + property name + + + Файл, который следует расшифровать + property description + + + Файл + property name + + + Файл, подлежащий хэшированию + property description + + + Файл + property name + + + Необходимо настроить аргументы для {{0] или {1}. + exception + + + Действие поддерживает только файлы, а не папки. + exception + + + Имя файла, используемого для сохранения зашифрованного файла. + property description + + + Имя зашифрованного файла + property name + + + Имя файла, используемого для сохранения расшифрованного файла. + property description + + + Имя расшифрованного файла + property name + + + Options + Category name + + + Use Key Secure String + + + Use Key + + + Use Key Secure String + + + Use Key + + + Ключ и защищенная строка не должны одновременно иметь не нулевое значение. + + + Ключ и защищенная строка не должны одновременно иметь нулевое значение. + + + Value for a required activity argument 'Key' was not supplied + + + The Key Secure String must not be null + + + The switch between File Path and Resource + + + FileInputModeSwitch + + + The switch between File Path and Resource + + + FileInputModeSwitch + + + The switch between File Path and Resource + + + FileInputModeSwitch + + + The switch between File Path and Resource + + + FileInputModeSwitch + + + The selected encryption algorithm is deprecated and it will no longer be supported in future versions. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.tr.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.tr.resx index ac2a1c389..4bf06f98a 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.tr.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.tr.resx @@ -124,22 +124,22 @@ Giriş - Text + Metin property name Dosya yok. - FilePath + DosyaYolu property name - InputPath + GirişYolu property name - OutputPath + ÇıkışYolu property name @@ -149,7 +149,7 @@ Şifreleme işlemi başarısız oldu. Lütfen hem şifreleme hem de şifre çözme işlemleri için aynı algoritmayı ve anahtarı kullandığınızdan emin olun. - Encoding + Kodlama Anahtar @@ -161,23 +161,17 @@ Ortak - ContinueOnError + HataOlduğundaDevamEt property name MACTripleDES, 16 veya 24 bayt uzunluğunda bir anahtar kullanır. Anahtarınızın uzunluğu Kodlama'ya bağlıdır. - - Anahtar ve güvenli dizenin her ikisi de null olmamalıdır. - - - Anahtar ve güvenli dizenin her ikisi de null olmamalıdır. - - Anahtar SecureString + KeySecureString - Anahtar SecureString + Güvenli Dize Anahtarı Belirtilen bir anahtar kodlamasına ve algoritmaya göre bir dosyanın şifresini çözer. @@ -200,7 +194,7 @@ Property description - Continue On Error + Hata Olduğunda Devam Et Property name @@ -208,7 +202,15 @@ Property description - Input Path + Dosya yolu + Property name + + + Anahtar özelliğinde belirtilen anahtarı yorumlamak için kullanılan kodlama. + Property description + + + Anahtar Kodlama Property name @@ -216,7 +218,7 @@ Property description - Key Encoding + Anahtar Kodlama Property name @@ -224,7 +226,7 @@ Property description - Key + Anahtar Property name @@ -232,7 +234,7 @@ Property description - Output Path + Çıkış dosyası adı ve konumu Property name @@ -240,7 +242,7 @@ Property description - Overwrite + Üzerine yaz Property name @@ -264,7 +266,7 @@ Property description - Continue On Error + Hata Olduğunda Devam Et Property name @@ -272,7 +274,15 @@ Property description - Encoding + Kodlama + Property name + + + Anahtar özelliğinde belirtilen anahtarı yorumlamak için kullanılan kodlama. + Property description + + + Anahtar Kodlama Property name @@ -288,7 +298,7 @@ Property description - Key + Anahtar Property name @@ -296,7 +306,7 @@ Property description - Result + Şifresi Çözülmüş Metin Property name @@ -312,7 +322,7 @@ Property description - Algortitm + Algoritma Property name @@ -320,7 +330,7 @@ Property description - Input Path + Dosya yolu Property name @@ -328,7 +338,7 @@ Property description - Key + Anahtar Property name @@ -336,7 +346,7 @@ property description - Anahtar SecureString + Anahtar Güvenli Dizesi property name @@ -344,7 +354,7 @@ property description - Key Secure String + Anahtar Güvenli Dizesi property name @@ -352,7 +362,15 @@ property description - Continue On Error + Hata Olduğunda Devam Et + property name + + + Anahtar özelliğinde belirtilen anahtarı yorumlamak için kullanılan kodlama. + property description + + + Anahtar Kodlama property name @@ -360,7 +378,7 @@ property description - Key Encoding + Anahtar Kodlama property name @@ -368,7 +386,7 @@ property description - Key Secure String + Anahtar Güvenli Dizesi property name @@ -376,7 +394,7 @@ property description - Output Path + Çıkış dosyası adı ve konumu property name @@ -384,7 +402,7 @@ property description - Overwrite + Üzerine yaz property name @@ -408,7 +426,7 @@ Property description - Continue On Error + Hata Olduğunda Devam Et Property name @@ -416,7 +434,15 @@ Property description - Encoding + Kodlama + Property name + + + Anahtar özelliğinde belirtilen anahtarı yorumlamak için kullanılan kodlama. + Property description + + + Anahtar Kodlama Property name @@ -432,7 +458,7 @@ Property description - Key Secure String + Anahtar Güvenli Dizesi Property name @@ -440,7 +466,7 @@ Property description - Key + Anahtar Property name @@ -448,15 +474,15 @@ Property description - Result + Şifreli Metin Property name - Belirtilen bir algoritma ve kodlama biçimini kullanarak anahtarla bir dosyayı karma hale getirir ve elde edilen karmanın on altılık dize gösterimini döndürür. + Belirtilen algoritmayı kullanarak bir anahtarla bir dizeyi karma hale getirir ve elde edilen karmanın onaltılık dize gösterimini döndürür. Bir anahtara sahip ve anahtarsız karma algoritmaları destekler. Activity description - Hash File With Key + Hash File Activity name @@ -472,7 +498,7 @@ Property description - Continue On Error + Hata Olduğunda Devam Et Property name @@ -480,7 +506,15 @@ Property description - Encoding + Kodlama + Property name + + + Anahtar özelliğinde belirtilen anahtarı yorumlamak için kullanılan kodlama. + Property description + + + Anahtar Kodlama Property name @@ -488,7 +522,7 @@ Property description - File path + Dosya yolu Property name @@ -496,7 +530,7 @@ Property description - Key Secure String + Anahtar Güvenli Dizesi Property name @@ -504,7 +538,7 @@ Property description - Key + Anahtar Property name @@ -512,15 +546,15 @@ Property description - Result + Karma Property name - Belirtilen algoritmayı kullanarak bir anahtarla bir dizeyi karma hale getirir ve elde edilen karmanın onaltılık dize gösterimini döndürür. + Belirtilen algoritmayı kullanarak bir anahtarla bir dizeyi karma hale getirir ve elde edilen karmanın onaltılık dize gösterimini döndürür. Bir anahtara sahip ve anahtarsız karma algoritmaları destekler. Activity description - Hash Text With Key + Hash Text Activity name @@ -536,7 +570,7 @@ Property description - Continue On Error + Hata Olduğunda Devam Et Property name @@ -544,7 +578,15 @@ Property description - Encoding + Kodlama + Property name + + + Anahtar özelliğinde belirtilen anahtarı yorumlamak için kullanılan kodlama. + Property description + + + Anahtar Kodlama Property name @@ -560,7 +602,7 @@ Property description - Key Secure String + Anahtar Güvenli Dizesi Property name @@ -568,7 +610,7 @@ Property description - Key + Anahtar Property name @@ -576,15 +618,15 @@ Property description - Result + Karma Property name - Sağlanan dosyanın içeriğinde seçili karma algoritmasını uygular ve elde edilen karmanın on altılık dize gösterimini döndürür. + Bu etkinlik artık kullanımdan kaldırıldı. SHA1, SHA256, SHA384 ve SHA512 tek bir etkinlik Karma Dosyasına taşındı. Activity description - Hash File + Hash File (deprecated) Activity name @@ -592,7 +634,7 @@ Property description - Algortithm + Algortitma Property name @@ -600,7 +642,7 @@ Property description - Continue On Error + Hata Olduğunda Devam Et Property name @@ -616,15 +658,15 @@ Property description - Result + Karma Property name - Belirtilen algoritmayı kullanarak bir dizeyi karma hale getirir ve elde edilen karmanın onaltılık dize gösterimini döndürür. + Bu etkinlik artık kullanımdan kaldırıldı. SHA1, SHA256, SHA384 ve SHA512, Karma Metni tek bir etkinliğe taşındı. Activity description - Hash Text + Hash Text (deprecated) Activity name @@ -640,7 +682,7 @@ Property description - Continue On Error + Hata Olduğunda Devam Et Property name @@ -648,7 +690,7 @@ Property description - Encoding + Kodlama Property name @@ -664,7 +706,7 @@ Property description - Result + Karma Property name @@ -675,4 +717,159 @@ Birincil Category name + + Anahtar ve Güvenli Dize Anahtarı arasında geçiş + + + TemelGirişModuAnahtarı + + + Anahtar ve Güvenli Dize Anahtarı arasında geçiş + + + TemelGirişModuAnahtarı + + + Anahtar ve Güvenli Dize Anahtarı arasında geçiş + + + TemelGirişModuAnahtarı + + + Anahtar ve Güvenli Dize Anahtarı arasında geçiş + + + TemelGirişModuAnahtarı + + + Anahtar ve Güvenli Dize Anahtarı arasında geçiş + + + TemelGirişModuAnahtarı + + + Anahtar ve Güvenli Dize Anahtarı arasında geçiş + + + TemelGirişModuAnahtarı + + + Şifrelenmiş dosya + property description + + + Şifrelenmiş Dosya + property name + + + Şifrelenecek dosya + property description + + + Dosya + property name + + + Şifresi çözülen dosya + property description + + + Şifresi Çözülmüş Dosya + property name + + + Şifresi çözülecek dosya + property description + + + Dosya + property name + + + Karma hale getirilecek dosya + property description + + + Dosya + property name + + + {{0}} ve {1} seçeneklerinden sadece birinin bağımsız değişkenleri yapılandırılmalıdır. + exception + + + Etkinlik sadece dosyaları destekler, klasörleri desteklemez. + exception + + + Şifrelenmiş dosyayı kaydetmek için kullanmak istediğiniz dosya adı. + property description + + + Şifrelenmiş Dosya Adı + property name + + + Şifresi çözülen dosyayı kaydetmek için kullanmak istediğiniz dosya adı. + property description + + + Şifresi Çözülmüş Dosya Adı + property name + + + Seçenekler + Category name + + + Anahtar Güvenli Dizesini Kullan + + + Anahtar Kullan + + + Anahtar Güvenli Dizesini Kullan + + + Anahtar Kullan + + + Anahtar ve güvenli dizenin her ikisi de null olmamalıdır. + + + Anahtar ve güvenli dizenin her ikisi de null olmamalıdır. + + + Gerekli bir etkinlik bağımsız değişkeni olan 'Key' için değer sağlanmamış + + + Anahtar Güvenli Dizesi null olmamalıdır + + + Dosya Yolu ve Kaynak arasındaki geçiş + + + DosyaGirişModuAnahtarı + + + Dosya Yolu ve Kaynak arasındaki geçiş + + + DosyaGirişModuAnahtarı + + + Dosya Yolu ve Kaynak arasındaki geçiş + + + DosyaGirişModuAnahtarı + + + Dosya Yolu ve Kaynak arasındaki geçiş + + + DosyaGirişModuAnahtarı + + + Seçilen şifreleme algoritması kullanım dışı ve artık gelecekteki sürümlerde desteklenmeyecek. + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.zh-CN.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.zh-CN.resx index 7c85edb77..b87b8cfda 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.zh-CN.resx +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.zh-CN.resx @@ -167,12 +167,6 @@ MACTripleDES 使用的密钥长度为 16 或 24 字节。密钥长度取决于编码。 - - 密钥和安全字符串不可同时为非空。 - - - 密钥和安全字符串不可同时为空。 - 密钥安全字符串 @@ -208,7 +202,15 @@ Property description - 输入路径 + 文件路径 + Property name + + + 用于解释在“密钥”属性中指定密钥的编码。 + Property description + + + 密钥编码 Property name @@ -232,7 +234,7 @@ Property description - 输出路径 + 输出文件的名称和位置 Property name @@ -275,6 +277,14 @@ 编码 Property name + + 用于解释在“密钥”属性中指定密钥的编码。 + Property description + + + 密钥编码 + Property name + 您要解密的文本。 Property description @@ -296,7 +306,7 @@ Property description - 结果 + 解密的文本 Property name @@ -320,7 +330,7 @@ Property description - 输入路径 + 文件路径 Property name @@ -355,6 +365,14 @@ 出错时继续 property name + + 用于解释在“密钥”属性中指定密钥的编码。 + property description + + + 密钥编码 + property name + 用于解释在“密钥”属性中指定密钥的编码。 property description @@ -376,7 +394,7 @@ property description - 输出路径 + 输出文件的名称和位置 property name @@ -419,6 +437,14 @@ 编码 Property name + + 用于解释在“密钥”属性中指定密钥的编码。 + Property description + + + 密钥编码 + Property name + 您要加密的文本。 Property description @@ -448,15 +474,15 @@ Property description - 结果 + 加密的文本 Property name - 通过指定算法和编码格式,使用密钥散列文件,并返回所生成散列结果的十六进制字符串表示。 + 通过指定算法,使用密钥散列文件,并返回所生成散列结果的十六进制字符串表示。该操作支持使用密钥和不使用密钥的散列算法。 Activity description - 使用密钥散列文件 + 散列文件 Activity name @@ -483,6 +509,14 @@ 编码 Property name + + 用于解释在“密钥”属性中指定密钥的编码。 + Property description + + + 密钥编码 + Property name + 您要散列的文件路径。 Property description @@ -512,15 +546,15 @@ Property description - 结果 + 哈希值 Property name - 通过指定算法,使用密钥散列字符串,并返回所生成散列结果的十六进制字符串表示。 + 通过指定算法,使用密钥散列字符串,并返回所生成散列结果的十六进制字符串表示。该操作支持使用密钥和不使用密钥的散列算法。 Activity description - 使用密钥散列文本 + 散列文本 Activity name @@ -547,6 +581,14 @@ 编码 Property name + + 用于解释在“密钥”属性中指定密钥的编码。 + Property description + + + 密钥编码 + Property name + 您要散列的文本。 Property description @@ -564,7 +606,7 @@ Property name - 您想用于散列指定文件的密钥。 + 要用于散列指定文本的密钥。 Property description @@ -576,15 +618,15 @@ Property description - 结果 + 哈希值 Property name - 对给定文件中的内容应用选定的散列算法,并返回所生成散列结果的十六进制字符串表示。 + 此活动现已弃用。SHA1、SHA256、SHA384 和 SHA512 已移至单个活动散列文件。 Activity description - 散列文件 + 散列文件(已弃用) Activity name @@ -616,15 +658,15 @@ Property description - 结果 + 哈希值 Property name - 使用指定算法散列字符串,并返回所生成散列结果的十六进制字符串表示。 + 此活动现已弃用。SHA1、SHA256、SHA384 和 SHA512 已移至单个活动散列文本。 Activity description - 散列文本 + 散列文本(已弃用) Activity name @@ -664,7 +706,7 @@ Property description - 结果 + 哈希值 Property name @@ -675,4 +717,159 @@ 主体 Category name + + 用于在密钥和安全字符串密钥之间完成切换 + + + 密钥输入模式开关 + + + 用于在密钥和安全字符串密钥之间完成切换 + + + 密钥输入模式开关 + + + 用于在密钥和安全字符串密钥之间完成切换 + + + 密钥输入模式开关 + + + 用于在密钥和安全字符串密钥之间完成切换 + + + 密钥输入模式开关 + + + 用于在密钥和安全字符串密钥之间完成切换 + + + 密钥输入模式开关 + + + 用于在密钥和安全字符串密钥之间完成切换 + + + 密钥输入模式开关 + + + 加密文件 + property description + + + 加密的文件 + property name + + + 要加密的文件 + property description + + + 文件 + property name + + + 解密文件 + property description + + + 解密的文件 + property name + + + 要解密的文件 + property description + + + 文件 + property name + + + 要散列处理的文件 + property description + + + 文件 + property name + + + 应只为 {{0}} 和 {1} 中的各一项配置其参数。 + exception + + + 活动仅支持文件 (而非文件夹)。 + exception + + + 要用于保存加密文件的文件名。 + property description + + + 加密文件名 + property name + + + 要用于保存解密文件的文件名。 + property description + + + 解密文件名 + property name + + + 选项 + Category name + + + 使用密钥安全字符串 + + + 使用密钥 + + + 使用密钥安全字符串 + + + 使用密钥 + + + 密钥和安全字符串不可同时为非空。 + + + 密钥和安全字符串不可同时为空。 + + + 未提供所需活动参数“键”的值 + + + 密钥安全字符串不得为 null + + + 在文件路径和资源之间切换 + + + 文件输入模式切换 + + + 在文件路径和资源之间切换 + + + 文件输入模式切换 + + + 在文件路径和资源之间切换 + + + 文件输入模式切换 + + + 在文件路径和资源之间切换 + + + 文件输入模式切换 + + + 所选加密算法已弃用,未来版本将不再提供支持。 + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.zh-TW.resx b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.zh-TW.resx new file mode 100644 index 000000000..12b7df6fa --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Properties/UiPath.Cryptography.Activities.zh-TW.resx @@ -0,0 +1,875 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 所選演算法沒有符合 FIPS 的實作。這可能無法在某些電腦上運作。 + + + 輸入 + + + 文字 + property name + + + 此檔案不存在。 + + + 檔案路徑 + property name + + + 輸入路徑 + property name + + + 輸出路徑 + property name + + + 此檔案已存在。 + + + 加密作業失敗。請確保您在加密和解密作業中使用相同的演算法和金鑰。 + + + 編碼中 + + + 金鑰 + + + 輸出 + + + 常見 + + + 錯誤時繼續 + property name + + + MACTripleDES 使用的金鑰長度為 16 或 24 位元組。金鑰長度取決於編碼。 + + + 金鑰安全字串 + + + 金鑰安全字串 + + + 根據指定的金鑰編碼和演算法解密檔案。 + Activity Description + + + 解密檔案 + Activity name + + + 下拉式功能表,用於選取要使用的解密演算法。 + Property description + + + 演算法 + Property name + + + 指定即使活動擲回錯誤,是否仍應繼續進行自動化。 + Property description + + + 錯誤時繼續 + Property name + + + 您要解密的檔案的路徑。 + Property description + + + 檔路徑 + Property name + + + 用於解譯在「金鑰」屬性中指定金鑰的編碼。 + Property description + + + 金鑰編碼 + Property name + + + 用於解譯在「金鑰」屬性中指定的金鑰的編碼。 + Property description + + + 金鑰編碼 + Property name + + + 您想用於解密指定檔案的金鑰。 + Property description + + + 金鑰 + Property name + + + 您要儲存解密檔案的路徑。 + Property description + + + 輸出檔的名稱和位置 + Property name + + + 如果檔案已存在於「輸出路徑」欄位中所指定的路徑,選取此核取方塊便會覆寫該檔案。若已取消勾選,則會建立新檔案。 + Property description + + + 覆寫 + Property name + + + 解密文字 + Activity name + + + 根據指定的金鑰編碼和演算法解密文字。 + Activity Description + + + 下拉式功能表,用於選取要使用的解密演算法。 + Property description + + + 演算法 + Property name + + + 指定即使活動擲回錯誤,是否仍應繼續進行自動化。 + Property description + + + 錯誤時繼續 + Property name + + + 用於解譯在「金鑰」屬性中指定的輸入文字和金鑰的編碼。 + Property description + + + 編碼中 + Property name + + + 用於解譯在「金鑰」屬性中指定金鑰的編碼。 + Property description + + + 金鑰編碼 + Property name + + + 您要解密的文字。 + Property description + + + 文字 + Property name + + + 您想用於解密指定檔案的金鑰。 + Property description + + + 金鑰 + Property name + + + 儲存在字串變數中的解密文字。 + Property description + + + 解密的文字 + Property name + + + 根據指定的金鑰編碼和演算法,使用金鑰加密檔案。 + Activity Description + + + 加密檔案 + Activity name + + + 下拉式功能表,用於選取要使用的加密演算法。 + Property description + + + 演算法 + Property name + + + 您要加密的檔案的路徑。 + Property description + + + 檔路徑 + Property name + + + 您想用於加密指定檔案的金鑰。 + Property description + + + 金鑰 + Property name + + + 用於解密輸入檔案的安全字串。 + property description + + + 金鑰安全字串 + property name + + + 用於解密輸入字串的安全字串。 + property description + + + 金鑰安全字串 + property name + + + 指定即使活動擲回錯誤,是否仍應繼續進行自動化。 + property description + + + 錯誤時繼續 + property name + + + 用於解譯在「金鑰」屬性中指定金鑰的編碼。 + property description + + + 金鑰編碼 + property name + + + 用於解譯在「金鑰」屬性中指定的金鑰的編碼。 + property description + + + 金鑰編碼 + property name + + + 用於加密輸入檔的安全字串。 + property description + + + 金鑰安全字串 + property name + + + 您要儲存加密檔案的路徑。 + property description + + + 輸出檔的名稱和位置 + property name + + + 如果檔案已存在於「輸出路徑」欄位中所指定的路徑,選取此核取方塊便會覆寫該檔案。若已取消勾選,則會建立新檔案。 + property description + + + 覆寫 + property name + + + 根據指定的金鑰編碼和演算法,使用金鑰加密字串。 + Activity description + + + 加密文字 + Activity name + + + 下拉式功能表,用於選取要使用的加密演算法。 + Property description + + + 演算法 + Property name + + + 指定即使活動擲回錯誤,是否仍應繼續進行自動化。 + Property description + + + 錯誤時繼續 + Property name + + + 用於解譯在「金鑰」屬性中指定的輸入文字和金鑰的編碼。 + Property description + + + 編碼中 + Property name + + + 用於解譯在「金鑰」屬性中指定金鑰的編碼。 + Property description + + + 金鑰編碼 + Property name + + + 您要加密的文字。 + Property description + + + 文字 + Property name + + + 用於加密輸入字串的安全字串。 + Property description + + + 金鑰安全字串 + Property name + + + 您想用於加密指定檔案的金鑰。 + Property description + + + 金鑰 + Property name + + + 儲存在字串變數中的加密文字。 + Property description + + + 加密的文字 + Property name + + + 透過指定的演算法,使用金鑰對檔案進行雜湊處理,並傳回所產生雜湊的十六進位字串表示。它支援使用金鑰和不使用金鑰的雜湊演算法。 + Activity description + + + 雜湊檔案 + Activity name + + + 下拉式功能表,用於選取要使用的索引雜湊演算法。 + Property description + + + 演算法 + Property name + + + 指定即使活動擲回錯誤,是否仍應繼續進行自動化。 + Property description + + + 錯誤時繼續 + Property name + + + 用於解譯在「金鑰」屬性中指定的金鑰的編碼。 + Property description + + + 編碼中 + Property name + + + 用於解譯在「金鑰」屬性中指定金鑰的編碼。 + Property description + + + 金鑰編碼 + Property name + + + 您要進行雜湊處理的檔案的路徑。 + Property description + + + 檔案路徑 + Property name + + + 用於雜湊處理提供的檔案的安全字串。 + Property description + + + 金鑰安全字串 + Property name + + + 您想用於雜湊處理指定檔案的金鑰。 + Property description + + + 金鑰 + Property name + + + 儲存在字串變數中的雜湊檔案。 + Property description + + + 雜湊 + Property name + + + 透過指定的演算法,使用金鑰對字串進行雜湊處理,並傳回所產生雜湊的十六進位字串表示。它支援使用金鑰和不使用金鑰的雜湊演算法。 + Activity description + + + 雜湊文字 + Activity name + + + 下拉式功能表,用於選取要使用的索引雜湊演算法。 + Property description + + + 演算法 + Property name + + + 指定即使活動擲回錯誤,是否仍應繼續進行自動化。 + Property description + + + 錯誤時繼續 + Property name + + + 用於解譯在「金鑰」屬性中指定的金鑰的編碼。 + Property description + + + 編碼中 + Property name + + + 用於解譯在「金鑰」屬性中指定金鑰的編碼。 + Property description + + + 金鑰編碼 + Property name + + + 您要雜湊處理的文字。 + Property description + + + 文字 + Property name + + + 用於雜湊處理輸入字串的安全字串。 + Property description + + + 金鑰安全字串 + Property name + + + 您想用於雜湊處理指定文字的金鑰。 + Property description + + + 金鑰 + Property name + + + 儲存在字串變數中的雜湊文字。 + Property description + + + 雜湊 + Property name + + + 此活動現在已被淘汰。SHA1、SHA256、SHA384 和 SHA512 已移至單一活動雜湊檔案。 + Activity description + + + 雜湊檔案 (已淘汰) + Activity name + + + 下拉式功能表,用於選取要使用的雜湊演算法。 + Property description + + + 演算法 + Property name + + + 指定即使活動擲回錯誤,是否仍應繼續進行自動化。 + Property description + + + 錯誤時繼續 + Property name + + + 您要散列的檔路徑。 + Property description + + + 檔案路徑 + Property name + + + 儲存在字串變數中的雜湊檔案。 + Property description + + + 雜湊 + Property name + + + 此活動現在已被淘汰。SHA1、SHA256、SHA384 和 SHA512 已移至單一活動雜湊文字。 + Activity description + + + 雜湊文字 (已淘汰) + Activity name + + + 下拉式功能表,用於選取要使用的雜湊演算法。 + Property description + + + 演算法 + Property name + + + 指定即使活動擲回錯誤,是否仍應繼續進行自動化。 + Property description + + + 錯誤時繼續 + Property name + + + 用於解譯在「金鑰」屬性中指定的金鑰的編碼。 + Property description + + + 編碼中 + Property name + + + 您要雜湊處理的文字。 + Property description + + + 文字 + Property name + + + 儲存在字串變數中的雜湊文字。 + Property description + + + 雜湊 + Property name + + + 其他 + Category name + + + 主體 + Category name + + + 金鑰和安全字串金鑰之間的切換 + + + 金鑰輸入模式切換 + + + 金鑰和安全字串金鑰之間的切換 + + + 金鑰輸入模式切換 + + + 金鑰和安全字串金鑰之間的切換 + + + 金鑰輸入模式切換 + + + 金鑰和安全字串金鑰之間的切換 + + + 金鑰輸入模式切換 + + + 金鑰和安全字串金鑰之間的切換 + + + 金鑰輸入模式切換 + + + 金鑰和安全字串金鑰之間的切換 + + + 金鑰輸入模式切換 + + + 加密的檔案 + property description + + + 加密的檔案 + property name + + + 要加密的檔案 + property description + + + 檔案 + property name + + + 解密的檔案 + property description + + + 解密的檔案 + property name + + + 要解密的檔案 + property description + + + 檔案 + property name + + + 要進行雜湊處理的檔案 + property description + + + 檔案 + property name + + + 應只為 {{0}} 和 {1} 之一配置其引數。 + exception + + + 活動僅支援檔案,而不支援資料夾。 + exception + + + 要用於儲存加密檔案的檔案名稱。 + property description + + + 加密的檔案名稱 + property name + + + 要用於儲存解密檔案的檔案名抽。 + property description + + + 解密檔案名稱 + property name + + + 選項 + Category name + + + 使用金鑰安全字串 + + + 使用金鑰 + + + 使用金鑰安全字串 + + + 使用金鑰 + + + 金鑰和安全字串不得同時為非 null。 + + + 金鑰和安全字串不得同時為 null。 + + + 未提供所需活動引數 "索引鍵" 的值 + + + 金鑰安全字串不得為 null + + + 在檔案路徑和資源之間切換 + + + 檔案輸入模式切換 + + + 在檔案路徑和資源之間切換 + + + 檔案輸入模式切換 + + + 在檔案路徑和資源之間切換 + + + 檔案輸入模式切換 + + + 在檔案路徑和資源之間切換 + + + 檔案輸入模式切換 + + + 所選加密演算法已淘汰,未來版本中將不再支援。 + + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Resources/ActivitiesMetadata.json b/Activities/Cryptography/UiPath.Cryptography.Activities/Resources/ActivitiesMetadata.json index 2dee76838..a624bc7bb 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/Resources/ActivitiesMetadata.json +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Resources/ActivitiesMetadata.json @@ -2,15 +2,12 @@ "AssemblyRelativePath": "UiPath.Cryptography.Activities.dll", "Activities": [ { - "AssemblyQualifiedName": null, "FullName": "UiPath.Cryptography.Activities.DecryptFile", "ShortName": "DecryptFile", "DisplayNameKey": "Activity_DecryptFile_Name", "DescriptionKey": "Activity_DecryptFile_Description", "IconKey": "Decrypt_file.svg", - "CategoryKey": null, - "ActivityColor": null, - "ActivityNameBackgroundColor": null, + "ViewModelType": "UiPath.Cryptography.Activities.NetCore.ViewModels.DecryptFileViewModel", "Properties": [ { "Name": "Algorithm", @@ -20,95 +17,88 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } + }, + { + "Name": "InputFile", + "DisplayNameKey": "Activity_DecryptFile_Property_InputFile_Name", + "TooltipKey": "Activity_DecryptFile_Property_InputFile_Description", + "IsPrincipal": true, + "IsVisible": true, + "Category": { + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "InputFilePath", "DisplayNameKey": "Activity_DecryptFile_Property_InputFilePath_Name", "TooltipKey": "Activity_DecryptFile_Property_InputFilePath_Description", - "IsRequired": true, "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "Key", "DisplayNameKey": "Activity_DecryptFile_Property_Key_Name", "TooltipKey": "Activity_DecryptFile_Property_Key_Description", - "IsRequired": false, - "IsPrincipal": false, "IsVisible": true, + "IsPrincipal": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "KeySecureString", "DisplayNameKey": "Activity_DecryptFile_Property_KeySecureString_Name", "TooltipKey": "Activity_DecryptFile_Property_KeySecureString_Description", - "IsRequired": false, - "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { - "Name": "KeyEncoding", - "DisplayNameKey": "Activity_DecryptFile_Property_KeyEncoding_Name", - "TooltipKey": "Activity_DecryptFile_Property_KeyEncoding_Description", - "IsRequired": true, - "IsPrincipal": true, + "Name": "OutputFilePath", + "DisplayNameKey": "Activity_DecryptFile_Property_OutputFilePath_Name", + "TooltipKey": "Activity_DecryptFile_Property_OutputFilePath_Description", + "IsRequired": false, + "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { - "Name": "OutputFilePath", - "DisplayNameKey": "Activity_DecryptFile_Property_OutputFilePath_Name", - "TooltipKey": "Activity_DecryptFile_Property_OutputFilePath_Description", - "IsRequired": true, - "IsPrincipal": true, + "Name": "KeyEncodingString", + "DisplayNameKey": "Activity_DecryptFile_Property_KeyEncodingString_Name", + "TooltipKey": "Activity_DecryptFile_Property_KeyEncodingString_Description", + "IsRequired": false, + "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { "Name": "Overwrite", "DisplayNameKey": "Activity_DecryptFile_Property_Overwrite_Name", "TooltipKey": "Activity_DecryptFile_Property_Overwrite_Description", - "IsRequired": true, + "IsRequired": false, "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { "Name": "ContinueOnError", @@ -118,26 +108,30 @@ "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } + }, + { + "Name": "DecryptedFile", + "DisplayNameKey": "Activity_DecryptFile_Property_DecryptedFile_Name", + "TooltipKey": "Activity_DecryptFile_Property_DecryptedFile_Description", + "IsRequired": false, + "IsVisible": true, + "Category": { + "Name": "Output", + "DisplayNameKey": "Output" + } } - ], - "DefaultFactory": null, - "ViewModelType": null + ] }, { - "AssemblyQualifiedName": null, "FullName": "UiPath.Cryptography.Activities.DecryptText", "ShortName": "DecryptText", "DisplayNameKey": "Activity_DecryptText_Name", "DescriptionKey": "Activity_DecryptText_Description", "IconKey": "Decrypt_text.svg", - "CategoryKey": null, - "ActivityColor": null, - "ActivityNameBackgroundColor": null, + "ViewModelType": "UiPath.Cryptography.Activities.NetCore.ViewModels.DecryptTextViewModel", "Properties": [ { "Name": "Algorithm", @@ -147,11 +141,9 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "Input", @@ -161,67 +153,43 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "Key", "DisplayNameKey": "Activity_DecryptText_Property_Key_Name", "TooltipKey": "Activity_DecryptText_Property_Key_Description", - "IsRequired": false, - "IsPrincipal": false, + "IsRequired": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "KeySecureString", "DisplayNameKey": "Activity_DecryptText_Property_KeySecureString_Name", "TooltipKey": "Activity_DecryptText_Property_KeySecureString_Description", - "IsRequired": false, - "IsPrincipal": false, - "IsVisible": true, - "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null - }, - { - "Name": "Encoding", - "DisplayNameKey": "Activity_DecryptText_Property_Encoding_Name", - "TooltipKey": "Activity_DecryptText_Property_Encoding_Description", "IsRequired": true, - "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { - "Name": "Result", - "DisplayNameKey": "Activity_DecryptText_Property_Result_Name", - "TooltipKey": "Activity_DecryptText_Property_Result_Description", + "Name": "KeyEncodingString", + "DisplayNameKey": "Activity_DecryptText_Property_KeyEncodingString_Name", + "TooltipKey": "Activity_DecryptFile_Property_KeyEncodingString_Description", "IsRequired": false, - "IsPrincipal": true, + "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { "Name": "ContinueOnError", @@ -231,26 +199,31 @@ "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } + }, + { + "Name": "Result", + "DisplayNameKey": "Activity_DecryptText_Property_Result_Name", + "TooltipKey": "Activity_DecryptText_Property_Result_Description", + "IsRequired": false, + "IsPrincipal": true, + "IsVisible": true, + "Category": { + "Name": "Output", + "DisplayNameKey": "Output" + } } - ], - "DefaultFactory": null, - "ViewModelType": null + ] }, { - "AssemblyQualifiedName": null, "FullName": "UiPath.Cryptography.Activities.EncryptFile", "ShortName": "EncryptFile", "DisplayNameKey": "Activity_EncryptFile_Name", "DescriptionKey": "Activity_EncryptFile_Description", "IconKey": "Encrypt_file.svg", - "CategoryKey": null, - "ActivityColor": null, - "ActivityNameBackgroundColor": null, + "ViewModelType": "UiPath.Cryptography.Activities.NetCore.ViewModels.EncryptFileViewModel", "Properties": [ { "Name": "Algorithm", @@ -260,95 +233,95 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } + }, + { + "Name": "DeprecatedWarning", + "IsPrincipal": true, + "IsVisible": false }, { "Name": "InputFilePath", "DisplayNameKey": "Activity_EncryptFile_Property_InputFilePath_Name", "TooltipKey": "Activity_EncryptFile_Property_InputFilePath_Description", - "IsRequired": true, "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } + }, + { + "Name": "InputFile", + "DisplayNameKey": "Activity_EncryptFile_Property_InputFile_Name", + "TooltipKey": "Activity_EncryptFile_Property_InputFile_Description", + "IsPrincipal": true, + "IsVisible": true, + "Category": { + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "Key", "DisplayNameKey": "Activity_EncryptFile_Property_Key_Name", "TooltipKey": "Activity_EncryptFile_Property_Key_Description", - "IsRequired": false, - "IsPrincipal": false, + "IsRequired": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "KeySecureString", "DisplayNameKey": "Activity_EncryptFile_Property_KeySecureString_Name", "TooltipKey": "Activity_EncryptFile_Property_KeySecureString_Description", - "IsRequired": false, - "IsPrincipal": false, - "IsVisible": true, - "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null - }, - { - "Name": "KeyEncoding", - "DisplayNameKey": "Activity_EncryptFile_Property_KeyEncoding_Name", - "TooltipKey": "Activity_EncryptFile_Property_KeyEncoding_Description", "IsRequired": true, - "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, + { "Name": "OutputFilePath", "DisplayNameKey": "Activity_EncryptFile_Property_OutputFilePath_Name", "TooltipKey": "Activity_EncryptFile_Property_OutputFilePath_Description", - "IsRequired": true, - "IsPrincipal": true, + "IsRequired": false, + "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } + }, + { + "Name": "KeyEncodingString", + "DisplayNameKey": "Activity_EncryptFile_Property_KeyEncoding_Name", + "TooltipKey": "Activity_EncryptFile_Property_KeyEncoding_Description", + "IsRequired": false, + "IsPrincipal": false, + "IsVisible": true, + "Category": { + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { "Name": "Overwrite", "DisplayNameKey": "Activity_EncryptFile_Property_Overwrite_Name", "TooltipKey": "Activity_EncryptFile_Property_Overwrite_Description", - "IsRequired": true, + "IsRequired": false, "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { "Name": "ContinueOnError", @@ -358,26 +331,30 @@ "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } + }, + { + "Name": "EncryptedFile", + "DisplayNameKey": "Activity_EncryptFile_Property_EncryptedFile_Name", + "TooltipKey": "Activity_EncryptFile_Property_EncryptedFile_Description", + "IsRequired": false, + "IsVisible": true, + "Category": { + "Name": "Output", + "DisplayNameKey": "Output" + } } - ], - "DefaultFactory": null, - "ViewModelType": null + ] }, { - "AssemblyQualifiedName": null, "FullName": "UiPath.Cryptography.Activities.EncryptText", "ShortName": "EncryptText", "DisplayNameKey": "Activity_EncryptText_Name", "DescriptionKey": "Activity_EncryptText_Description", "IconKey": "Encrypt_text.svg", - "CategoryKey": null, - "ActivityColor": null, - "ActivityNameBackgroundColor": null, + "ViewModelType": "UiPath.Cryptography.Activities.NetCore.ViewModels.EncryptTextViewModel", "Properties": [ { "Name": "Algorithm", @@ -387,11 +364,14 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } + }, + { + "Name": "DeprecatedWarning", + "IsPrincipal": true, + "IsVisible": false }, { "Name": "Input", @@ -401,67 +381,43 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "Key", "DisplayNameKey": "Activity_EncryptText_Property_Key_Name", "TooltipKey": "Activity_EncryptText_Property_Key_Description", - "IsRequired": false, - "IsPrincipal": false, + "IsRequired": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "KeySecureString", "DisplayNameKey": "Activity_EncryptText_Property_KeySecureString_Name", "TooltipKey": "Activity_EncryptText_Property_KeySecureString_Description", - "IsRequired": false, - "IsPrincipal": false, - "IsVisible": true, - "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null - }, - { - "Name": "Encoding", - "DisplayNameKey": "Activity_EncryptText_Property_Encoding_Name", - "TooltipKey": "Activity_EncryptText_Property_Encoding_Description", "IsRequired": true, - "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { - "Name": "Result", - "DisplayNameKey": "Activity_EncryptText_Property_Result_Name", - "TooltipKey": "Activity_EncryptText_Property_Result_Description", + "Name": "KeyEncodingString", + "DisplayNameKey": "Activity_EncryptText_Property_KeyEncodingString_Name", + "TooltipKey": "Activity_EncryptText_Property_KeyEncodingString_Description", "IsRequired": false, - "IsPrincipal": true, + "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { "Name": "ContinueOnError", @@ -471,26 +427,31 @@ "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } + }, + { + "Name": "Result", + "DisplayNameKey": "Activity_EncryptText_Property_Result_Name", + "TooltipKey": "Activity_EncryptText_Property_Result_Description", + "IsRequired": false, + "IsPrincipal": true, + "IsVisible": true, + "Category": { + "Name": "Output", + "DisplayNameKey": "Output" + } } - ], - "DefaultFactory": null, - "ViewModelType": null + ] }, { - "AssemblyQualifiedName": null, "FullName": "UiPath.Cryptography.Activities.KeyedHashFile", "ShortName": "KeyedHashFile", "DisplayNameKey": "Activity_KeyedHashFile_Name", "DescriptionKey": "Activity_KeyedHashFile_Description", "IconKey": "Hash_file_with_key.svg", - "CategoryKey": null, - "ActivityColor": null, - "ActivityNameBackgroundColor": null, + "ViewModelType": "UiPath.Cryptography.Activities.NetCore.ViewModels.KeyedHashFileViewModel", "Properties": [ { "Name": "Algorithm", @@ -500,81 +461,73 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } + }, + { + "Name": "InputFile", + "DisplayNameKey": "Activity_KeyedHashFile_Property_InputFile_Name", + "TooltipKey": "Activity_KeyedHashFile_Property_InputFile_Description", + "IsPrincipal": true, + "IsVisible": true, + "Category": { + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "FilePath", "DisplayNameKey": "Activity_KeyedHashFile_Property_FilePath_Name", "TooltipKey": "Activity_KeyedHashFile_Property_FilePath_Description", - "IsRequired": true, "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "Key", "DisplayNameKey": "Activity_KeyedHashFile_Property_Key_Name", "TooltipKey": "Activity_KeyedHashFile_Property_Key_Description", - "IsRequired": false, - "IsPrincipal": false, - "IsVisible": true, - "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null - }, - { - "Name": "KeyInputModeSwitch", - "DisplayNameKey": "Activity_KeyedHashFile_Property_Algorithm_Name", - "TooltipKey": "Activity_KeyedHashFile_Property_Algorithm_Description", - "IsRequired": false, - "IsPrincipal": false, - "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "KeySecureString", "DisplayNameKey": "Activity_KeyedHashFile_Property_KeySecureString_Name", "TooltipKey": "Activity_KeyedHashFile_Property_KeySecureString_Description", + "Category": { + "Name": "Input", + "DisplayNameKey": "Input" + } + }, + { + "Name": "KeyEncodingString", + "DisplayNameKey": "Activity_KeyedHashFile_Property_KeyEncodingString_Name", + "TooltipKey": "Activity_KeyedHashFile_Property_KeyEncodingString_Description", "IsRequired": false, "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { - "Name": "Encoding", - "DisplayNameKey": "Activity_KeyedHashFile_Property_Encoding_Name", - "TooltipKey": "Activity_KeyedHashFile_Property_Encoding_Description", - "IsRequired": true, - "IsPrincipal": true, + "Name": "ContinueOnError", + "DisplayNameKey": "Activity_KeyedHashFile_Property_ContinueOnError_Name", + "TooltipKey": "Activity_KeyedHashFile_Property_ContinueOnError_Description", + "IsRequired": false, + "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { "Name": "Result", @@ -584,40 +537,19 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null - }, - { - "Name": "ContinueOnError", - "DisplayNameKey": "Activity_KeyedHashFile_Property_ContinueOnError_Name", - "TooltipKey": "Activity_KeyedHashFile_Property_ContinueOnError_Description", - "IsRequired": false, - "IsPrincipal": false, - "IsVisible": true, - "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Output", + "DisplayNameKey": "Output" + } } - ], - "DefaultFactory": null, - "ViewModelType": null + ] }, { - "AssemblyQualifiedName": null, "FullName": "UiPath.Cryptography.Activities.KeyedHashText", "ShortName": "KeyedHashText", "DisplayNameKey": "Activity_KeyedHashText_Name", "DescriptionKey": "Activity_KeyedHashText_Description", "IconKey": "Hash_text_with_key.svg", - "CategoryKey": null, - "ActivityColor": null, - "ActivityNameBackgroundColor": null, + "ViewModelType": "UiPath.Cryptography.Activities.NetCore.ViewModels.KeyedHashTextViewModel", "Properties": [ { "Name": "Algorithm", @@ -627,11 +559,9 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "Input", @@ -641,53 +571,51 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "Key", "DisplayNameKey": "Activity_KeyedHashText_Property_Key_Name", "TooltipKey": "Activity_KeyedHashText_Property_Key_Description", - "IsRequired": false, - "IsPrincipal": false, - "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Principal_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Input", + "DisplayNameKey": "Input" + } }, { "Name": "KeySecureString", "DisplayNameKey": "Activity_KeyedHashText_Property_KeySecureString_Name", "TooltipKey": "Activity_KeyedHashText_Property_KeySecureString_Description", + "Category": { + "Name": "Input", + "DisplayNameKey": "Input" + } + }, + { + "Name": "KeyEncodingString", + "DisplayNameKey": "Activity_KeyedHashText_Property_KeyEncodingString_Name", + "TooltipKey": "Activity_KeyedHashText_Property_KeyEncodingString_Description", "IsRequired": false, "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { - "Name": "Encoding", - "DisplayNameKey": "Activity_KeyedHashText_Property_Encoding_Name", - "TooltipKey": "Activity_KeyedHashText_Property_Encoding_Description", - "IsRequired": true, - "IsPrincipal": true, + "Name": "ContinueOnError", + "DisplayNameKey": "Activity_KeyedHashText_Property_ContinueOnError_Name", + "TooltipKey": "Activity_KeyedHashText_Property_ContinueOnError_Description", + "IsRequired": false, + "IsPrincipal": false, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Options", + "DisplayNameKey": "Category_Options_Name" + } }, { "Name": "Result", @@ -697,34 +625,15 @@ "IsPrincipal": true, "IsVisible": true, "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null - }, - { - "Name": "ContinueOnError", - "DisplayNameKey": "Activity_KeyedHashText_Property_ContinueOnError_Name", - "TooltipKey": "Activity_KeyedHashText_Property_ContinueOnError_Description", - "IsRequired": false, - "IsPrincipal": false, - "IsVisible": true, - "Category": { - "Name": null, - "DisplayNameKey": "Category_Others_Name" - }, - "Widget": null, - "IconKey": null + "Name": "Output", + "DisplayNameKey": "Output" + } } - ], - "DefaultFactory": null, - "ViewModelType": null + ] } ], "DefaultActivityColor": "#526069", "DefaultActivityNameBackgroundColor": "#FFFFFF", - "DefaultActivityIconKey": null, - "AssemblyIconKey": null, + "AssemblyIconKey": "Cryptography.svg", "ResourceManagerName": "UiPath.Cryptography.Activities.Properties.UiPath.Cryptography.Activities" } \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/Resources/Icons/Cryptography.svg b/Activities/Cryptography/UiPath.Cryptography.Activities/Resources/Icons/Cryptography.svg new file mode 100644 index 000000000..3c321eade --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/Resources/Icons/Cryptography.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Activities/Cryptography/UiPath.Cryptography.Activities/UiPath.Cryptography.Activities.csproj b/Activities/Cryptography/UiPath.Cryptography.Activities/UiPath.Cryptography.Activities.csproj index e69b6b670..333c57620 100644 --- a/Activities/Cryptography/UiPath.Cryptography.Activities/UiPath.Cryptography.Activities.csproj +++ b/Activities/Cryptography/UiPath.Cryptography.Activities/UiPath.Cryptography.Activities.csproj @@ -1,61 +1,71 @@  - - - .noconflict - net461;net5.0 - ..\..\Output\Activities\Cryptography\ - - - - - - - - - - - - - - - - - - - - - - - - - - UiPath.Cryptography.Activities.resx - - - UiPath.Cryptography.Activities.resx - - - UiPath.Cryptography.Activities.resx - - - PublicResXFileCodeGenerator - UiPath.Cryptography.Activities.Designer.cs - - - - - - - - True - True - UiPath.Cryptography.Activities.resx - - - - - - - - + + + .noconflict + net461;net6.0 + ..\..\Output\Activities\Cryptography\ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UiPath.Cryptography.Activities.resx + + + UiPath.Cryptography.Activities.resx + + + UiPath.Cryptography.Activities.resx + + + PublicResXFileCodeGenerator + UiPath.Cryptography.Activities.Designer.cs + + + + + + + + True + True + UiPath.Cryptography.Activities.resx + + + + + + + + + + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/CryptographyHelper.cs b/Activities/Cryptography/UiPath.Cryptography/CryptographyHelper.cs index f4ad5262d..98abf32e4 100644 --- a/Activities/Cryptography/UiPath.Cryptography/CryptographyHelper.cs +++ b/Activities/Cryptography/UiPath.Cryptography/CryptographyHelper.cs @@ -16,6 +16,8 @@ using System.Text; using UiPath.Cryptography.Properties; +#pragma warning disable CS0618 // obsolete encryption algorithm + namespace UiPath.Cryptography { public static class CryptographyHelper @@ -42,9 +44,13 @@ public static byte[] HashDataWithKey(KeyedHashAlgorithms keyedHashAlgorithm, byt { byte[] result; - using (KeyedHashAlgorithm algorithm = GetKeyedHashAlgorithm(keyedHashAlgorithm)) + using (HashAlgorithm algorithm = GetKeyedHashAlgorithm(keyedHashAlgorithm)) { - algorithm.Key = keyBytes; + if (algorithm is KeyedHashAlgorithm hashAlgorithm) + { + hashAlgorithm.Key = keyBytes; + } + result = algorithm.ComputeHash(inputBytes); algorithm.Clear(); @@ -218,7 +224,7 @@ private static HashAlgorithm GetHashAlgorithm(HashAlgorithms hashAlgorithm) } } - private static KeyedHashAlgorithm GetKeyedHashAlgorithm(KeyedHashAlgorithms keyedHashAlgorithm) + private static HashAlgorithm GetKeyedHashAlgorithm(KeyedHashAlgorithms keyedHashAlgorithm) { switch (keyedHashAlgorithm) { @@ -246,7 +252,14 @@ private static KeyedHashAlgorithm GetKeyedHashAlgorithm(KeyedHashAlgorithms keye case KeyedHashAlgorithms.MACTripleDES: // TODO: What about padding mode? return new MACTripleDES(); // TODO: Use TripleDESCng after upgrading to .NET Framework 4.6.2 #endif - + case KeyedHashAlgorithms.SHA1: + return SHA1.Create(); + case KeyedHashAlgorithms.SHA256: + return SHA256.Create(); + case KeyedHashAlgorithms.SHA384: + return SHA384.Create(); + case KeyedHashAlgorithms.SHA512: + return SHA512.Create(); default: throw new InvalidOperationException(Resources.UnsupportedKeyedHashAlgorithmException); } diff --git a/Activities/Cryptography/UiPath.Cryptography/Enums/CodePages.cs b/Activities/Cryptography/UiPath.Cryptography/Enums/CodePages.cs new file mode 100644 index 000000000..d36767087 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography/Enums/CodePages.cs @@ -0,0 +1,294 @@ +using UiPath.Cryptography.Properties; + +namespace UiPath.Cryptography.Enums +{ + /// + /// code pages + /// taken from System package + /// + public enum CodePages + { + [LocalizedDisplayName(nameof(Resources.DefaultCodePage))] + Default = 0, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_US_Canada))] + IBM037 = 37, + [LocalizedDisplayName(nameof(Resources.OEMUnitedStates))] + IBM437 = 437, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_International))] + IBM500 = 500, + [LocalizedDisplayName(nameof(Resources.Arabic_ASMO708))] + ASMO_708 = 708, + [LocalizedDisplayName(nameof(Resources.Arabic_DOS))] + DOS_720 = 720, + [LocalizedDisplayName(nameof(Resources.Greek_DOS))] + IBM737 = 737, + [LocalizedDisplayName(nameof(Resources.Baltic_DOS))] + IBM775 = 775, + [LocalizedDisplayName(nameof(Resources.WesternEuropean_DOS))] + IBM850 = 850, + [LocalizedDisplayName(nameof(Resources.CentralEuropean_DOS))] + IBM852 = 852, + [LocalizedDisplayName(nameof(Resources.OEMCyrillic))] + IBM855 = 855, + [LocalizedDisplayName(nameof(Resources.Turkish_DOS))] + IBM857 = 857, + [LocalizedDisplayName(nameof(Resources.OEMMultilingualLatinI))] + IBM00858 = 858, + [LocalizedDisplayName(nameof(Resources.Portuguese_DOS))] + IBM860 = 860, + [LocalizedDisplayName(nameof(Resources.Icelandic_DOS))] + IBM861 = 861, + [LocalizedDisplayName(nameof(Resources.Hebrew_DOS))] + DOS_862 = 862, + [LocalizedDisplayName(nameof(Resources.FrenchCanadian_DOS))] + IBM863 = 863, + [LocalizedDisplayName(nameof(Resources.Arabic_864))] + IBM864 = 864, + [LocalizedDisplayName(nameof(Resources.Nordic_DOS))] + IBM865 = 865, + [LocalizedDisplayName(nameof(Resources.Cyrillic_DOS))] + CP866 = 866, + [LocalizedDisplayName(nameof(Resources.Greek_Modern_DOS))] + IBM869 = 869, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_MultilingualLatin_2))] + IBM870 = 870, + [LocalizedDisplayName(nameof(Resources.Thai_Windows))] + WINDOWS_874 = 874, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_GreekModern))] + CP875 = 875, + [LocalizedDisplayName(nameof(Resources.Japanese_Shift_JIS))] + SHIFT_JIS = 932, + [LocalizedDisplayName(nameof(Resources.ChineseSimplified_GB2312))] + GB2312 = 936, + [LocalizedDisplayName(nameof(Resources.Korean))] + KS_C_5601_1987 = 949, + [LocalizedDisplayName(nameof(Resources.ChineseTraditional_Big5))] + BIG5 = 950, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_TurkishLatin_5))] + IBM1026 = 1026, + [LocalizedDisplayName(nameof(Resources.IBMLatin_1))] + IBM01047 = 1047, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_US_Canada_Euro))] + IBM01140 = 1140, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Germany_Euro))] + IBM01141 = 1141, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Denmark_Norway_Euro))] + IBM01142 = 1142, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Finland_Sweden_Euro))] + IBM01143 = 1143, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Italy_Euro))] + IBM01144 = 1144, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Spain_Euro))] + IBM01145 = 1145, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_UK_Euro))] + IBM01146 = 1146, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_France_Euro))] + IBM01147 = 1147, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_International_Euro))] + IBM01148 = 1148, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Icelandic_Euro))] + IBM01149 = 1149, + [LocalizedDisplayName(nameof(Resources.Unicode))] + UTF_16 = 1200, + [LocalizedDisplayName(nameof(Resources.Unicode_Big_Endian))] + UTF_16BE = 1201, + [LocalizedDisplayName(nameof(Resources.CentralEuropean_Windows))] + WINDOWS_1250 = 1250, + [LocalizedDisplayName(nameof(Resources.Cyrillic_Windows))] + WINDOWS_1251 = 1251, + [LocalizedDisplayName(nameof(Resources.WesternEuropean_Windows))] + WINDOWS_1252 = 1252, + [LocalizedDisplayName(nameof(Resources.Greek_Windows))] + WINDOWS_1253 = 1253, + [LocalizedDisplayName(nameof(Resources.Turkish_Windows))] + WINDOWS_1254 = 1254, + [LocalizedDisplayName(nameof(Resources.Hebrew_Windows))] + WINDOWS_1255 = 1255, + [LocalizedDisplayName(nameof(Resources.Arabic_Windows))] + WINDOWS_1256 = 1256, + [LocalizedDisplayName(nameof(Resources.Baltic_Windows))] + WINDOWS_1257 = 1257, + [LocalizedDisplayName(nameof(Resources.Vietnamese_Windows))] + WINDOWS_1258 = 1258, + [LocalizedDisplayName(nameof(Resources.Korean_Johab))] + JOHAB = 1361, + [LocalizedDisplayName(nameof(Resources.WesternEuropean_Mac))] + MACINTOSH = 10000, + [LocalizedDisplayName(nameof(Resources.Japanese_Mac))] + X_MAC_JAPANESE = 10001, + [LocalizedDisplayName(nameof(Resources.ChineseTraditional_Mac))] + X_MAC_CHINESETRAD = 10002, + [LocalizedDisplayName(nameof(Resources.Korean_Mac))] + X_MAC_KOREAN = 10003, + [LocalizedDisplayName(nameof(Resources.Arabic_Mac))] + X_MAC_ARABIC = 10004, + [LocalizedDisplayName(nameof(Resources.Hebrew_Mac))] + X_MAC_HEBREW = 10005, + [LocalizedDisplayName(nameof(Resources.Greek_Mac))] + X_MAC_GREEK = 10006, + [LocalizedDisplayName(nameof(Resources.Cyrillic_Mac))] + X_MAC_CYRILLIC = 10007, + [LocalizedDisplayName(nameof(Resources.ChineseSimplified_Mac))] + X_MAC_CHINESESIMP = 10008, + [LocalizedDisplayName(nameof(Resources.Romanian_Mac))] + X_MAC_ROMANIAN = 10010, + [LocalizedDisplayName(nameof(Resources.Ukrainian_Mac))] + X_MAC_UKRAINIAN = 10017, + [LocalizedDisplayName(nameof(Resources.Thai_Mac))] + X_MAC_THAI = 10021, + [LocalizedDisplayName(nameof(Resources.CentralEuropean_Mac))] + X_MAC_CE = 10029, + [LocalizedDisplayName(nameof(Resources.Icelandic_Mac))] + X_MAC_ICELANDIC = 10079, + [LocalizedDisplayName(nameof(Resources.Turkish_Mac))] + X_MAC_TURKISH = 10081, + [LocalizedDisplayName(nameof(Resources.Croatian_Mac))] + X_MAC_CROATIAN = 10082, + [LocalizedDisplayName(nameof(Resources.Unicode_UTF_32))] + UTF_32 = 12000, + [LocalizedDisplayName(nameof(Resources.Unicode_UTF_32Big_Endian))] + UTF_32BE = 12001, + [LocalizedDisplayName(nameof(Resources.ChineseTraditional_CNS))] + X_CHINESE_CNS = 20000, + [LocalizedDisplayName(nameof(Resources.TCATaiwan))] + X_CP20001 = 20001, + [LocalizedDisplayName(nameof(Resources.ChineseTraditional_Eten))] + X_CHINESE_ETEN = 20002, + [LocalizedDisplayName(nameof(Resources.IBM5550Taiwan))] + X_CP20003 = 20003, + [LocalizedDisplayName(nameof(Resources.TeleTextTaiwan))] + X_CP20004 = 20004, + [LocalizedDisplayName(nameof(Resources.WangTaiwan))] + X_CP20005 = 20005, + [LocalizedDisplayName(nameof(Resources.WesternEuropean_IA5))] + X_IA5 = 20105, + [LocalizedDisplayName(nameof(Resources.German_IA5))] + X_IA5_GERMAN = 20106, + [LocalizedDisplayName(nameof(Resources.Swedish_IA5))] + X_IA5_SWEDISH = 20107, + [LocalizedDisplayName(nameof(Resources.Norwegian_IA5))] + X_IA5_NORWEGIAN = 20108, + [LocalizedDisplayName(nameof(Resources.US_ASCII))] + US_ASCII = 20127, + [LocalizedDisplayName(nameof(Resources.T61))] + X_CP20261 = 20261, + [LocalizedDisplayName(nameof(Resources.ISO_6937))] + X_CP20269 = 20269, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Germany))] + IBM273 = 20273, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Denmark_Norway))] + IBM277 = 20277, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Finland_Sweden))] + IBM278 = 20278, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Italy))] + IBM280 = 20280, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Spain))] + IBM284 = 20284, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_UK))] + IBM285 = 20285, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Japanesekatakana))] + IBM290 = 20290, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_France))] + IBM297 = 20297, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Arabic))] + IBM420 = 20420, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Greek))] + IBM423 = 20423, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Hebrew))] + IBM424 = 20424, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_KoreanExtended))] + X_EBCDIC_KOREANEXTENDED = 20833, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Thai))] + IBM_THAI = 20838, + [LocalizedDisplayName(nameof(Resources.Cyrillic_KOI8_R))] + KOI8_R = 20866, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Icelandic))] + IBM871 = 20871, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_CyrillicRussian))] + IBM880 = 20880, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_Turkish))] + IBM905 = 20905, + [LocalizedDisplayName(nameof(Resources.IBMLatin_1))] + IBM00924 = 20924, + [LocalizedDisplayName(nameof(Resources.Japanese_JIS0208_1990and0212_1990))] + Japanese_JIS0208_1990and0212_1990 = 20932, + [LocalizedDisplayName(nameof(Resources.ChineseSimplified_GB2312_80))] + X_CP20936 = 20936, + [LocalizedDisplayName(nameof(Resources.KoreanWansung))] + X_CP20949 = 20949, + [LocalizedDisplayName(nameof(Resources.IBMEBCDIC_CyrillicSerbian_Bulgarian))] + CP1025 = 21025, + [LocalizedDisplayName(nameof(Resources.Cyrillic_KOI8_U))] + KOI8_U = 21866, + [LocalizedDisplayName(nameof(Resources.WesternEuropean_ISO))] + ISO_8859_1 = 28591, + [LocalizedDisplayName(nameof(Resources.CentralEuropean_ISO))] + ISO_8859_2 = 28592, + [LocalizedDisplayName(nameof(Resources.Latin3_ISO))] + ISO_8859_3 = 28593, + [LocalizedDisplayName(nameof(Resources.Baltic_ISO))] + ISO_8859_4 = 28594, + [LocalizedDisplayName(nameof(Resources.Cyrillic_ISO))] + ISO_8859_5 = 28595, + [LocalizedDisplayName(nameof(Resources.Arabic_ISO))] + ISO_8859_6 = 28596, + [LocalizedDisplayName(nameof(Resources.Greek_ISO))] + ISO_8859_7 = 28597, + [LocalizedDisplayName(nameof(Resources.Hebrew_ISO_Visual))] + ISO_8859_8 = 28598, + [LocalizedDisplayName(nameof(Resources.Turkish_ISO))] + ISO_8859_9 = 28599, + [LocalizedDisplayName(nameof(Resources.Estonian_ISO))] + ISO_8859_13 = 28603, + [LocalizedDisplayName(nameof(Resources.Latin9_ISO))] + ISO_8859_15 = 28605, + [LocalizedDisplayName(nameof(Resources.Europa))] + X_EUROPA = 29001, + [LocalizedDisplayName(nameof(Resources.Hebrew_ISO_Logical))] + ISO_8859_8_I = 38598, + [LocalizedDisplayName(nameof(Resources.Japanese_JIS))] + ISO_2022_JP = 50220, + [LocalizedDisplayName(nameof(Resources.Japanese_JIS_Allow1byteKana))] + CSISO2022JP = 50221, + [LocalizedDisplayName(nameof(Resources.Japanese_JIS_Allow1byteKana_SO_SI))] + Japanese_JIS_Allow1byteKana_SO_SI = 50222, + [LocalizedDisplayName(nameof(Resources.Korean_ISO))] + ISO_2022_KR = 50225, + [LocalizedDisplayName(nameof(Resources.ChineseSimplified_ISO_2022))] + X_CP50227 = 50227, + [LocalizedDisplayName(nameof(Resources.Japanese_EUC))] + EUC_JP = 51932, + [LocalizedDisplayName(nameof(Resources.ChineseSimplified_EUC))] + EUC_CN = 51936, + [LocalizedDisplayName(nameof(Resources.Korean_EUC))] + EUC_KR = 51949, + [LocalizedDisplayName(nameof(Resources.ChineseSimplified_HZ))] + HZ_GB_2312 = 52936, + [LocalizedDisplayName(nameof(Resources.ChineseSimplified_GB18030))] + GB18030 = 54936, + [LocalizedDisplayName(nameof(Resources.ISCIIDevanagari))] + X_ISCII_DE = 57002, + [LocalizedDisplayName(nameof(Resources.ISCIIBengali))] + X_ISCII_BE = 57003, + [LocalizedDisplayName(nameof(Resources.ISCIITamil))] + X_ISCII_TA = 57004, + [LocalizedDisplayName(nameof(Resources.ISCIITelugu))] + X_ISCII_TE = 57005, + [LocalizedDisplayName(nameof(Resources.ISCIIAssamese))] + X_ISCII_AS = 57006, + [LocalizedDisplayName(nameof(Resources.ISCIIOriya))] + X_ISCII_OR = 57007, + [LocalizedDisplayName(nameof(Resources.ISCIIKannada))] + X_ISCII_KA = 57008, + [LocalizedDisplayName(nameof(Resources.ISCIIMalayalam))] + X_ISCII_MA = 57009, + [LocalizedDisplayName(nameof(Resources.ISCIIGujarati))] + X_ISCII_GU = 57010, + [LocalizedDisplayName(nameof(Resources.ISCIIPunjabi))] + X_ISCII_PA = 57011, + [LocalizedDisplayName(nameof(Resources.Unicode_UTF_7))] + UTF_7 = 65000, + [LocalizedDisplayName(nameof(Resources.Unicode_UTF_8))] + UTF_8 = 65001 + } +} diff --git a/Activities/Cryptography/UiPath.Cryptography/Enums/FileInputMode.cs b/Activities/Cryptography/UiPath.Cryptography/Enums/FileInputMode.cs new file mode 100644 index 000000000..8b09f53fe --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography/Enums/FileInputMode.cs @@ -0,0 +1,23 @@ +using UiPath.Cryptography.Properties; + +namespace UiPath.Cryptography.Enums +{ + /// + /// Enum used to switch input mode between IResource and string + /// + public enum FileInputMode + { + /// + /// File in a string format + /// + [LocalizedDescription(nameof(Resources.General_FilePathInput))] + FilePath, + + /// + /// File in a IResource format + /// + [LocalizedDescription(nameof(Resources.General_FileInput))] + File + + } +} diff --git a/Activities/Cryptography/UiPath.Cryptography/KeyedHashAlgorithms.cs b/Activities/Cryptography/UiPath.Cryptography/KeyedHashAlgorithms.cs index 8f5e3059a..9d1ff47d3 100644 --- a/Activities/Cryptography/UiPath.Cryptography/KeyedHashAlgorithms.cs +++ b/Activities/Cryptography/UiPath.Cryptography/KeyedHashAlgorithms.cs @@ -24,13 +24,26 @@ public enum KeyedHashAlgorithms HMACSHA384, [LocalizedDescription(nameof(Resources.HMACSHA512))] - HMACSHA512 + HMACSHA512, #if NET461 - ,[LocalizedDescription(nameof(Resources.MACTripleDES))] - MACTripleDES + [LocalizedDescription(nameof(Resources.MACTripleDES))] + MACTripleDES, #endif + + [LocalizedDescription(nameof(Resources.SHA1))] + SHA1, + + [LocalizedDescription(nameof(Resources.SHA256))] + SHA256, + + [LocalizedDescription(nameof(Resources.SHA384))] + SHA384, + + [LocalizedDescription(nameof(Resources.SHA512))] + SHA512 + } } \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Localization.cs b/Activities/Cryptography/UiPath.Cryptography/Localization.cs index 423c850f9..b709ca7cc 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Localization.cs +++ b/Activities/Cryptography/UiPath.Cryptography/Localization.cs @@ -18,7 +18,7 @@ protected override string GetLocalizedString(string value) } } - [AttributeUsage(AttributeTargets.Property)] + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class | AttributeTargets.Field)] public class LocalizedDisplayNameAttribute : DisplayNameAttribute { public LocalizedDisplayNameAttribute(string displayName) diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.Designer.cs b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.Designer.cs index 912ac135a..62b100431 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.Designer.cs +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.Designer.cs @@ -78,75 +78,1065 @@ internal static string AESGCM { } } + /// + /// Looks up a localized string similar to Arabic (864). + /// + internal static string Arabic_864 { + get { + return ResourceManager.GetString("Arabic_864", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Arabic (ASMO 708). + /// + internal static string Arabic_ASMO708 { + get { + return ResourceManager.GetString("Arabic_ASMO708", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Arabic (DOS). + /// + internal static string Arabic_DOS { + get { + return ResourceManager.GetString("Arabic_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Arabic (ISO). + /// + internal static string Arabic_ISO { + get { + return ResourceManager.GetString("Arabic_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Arabic (Mac). + /// + internal static string Arabic_Mac { + get { + return ResourceManager.GetString("Arabic_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Arabic (Windows). + /// + internal static string Arabic_Windows { + get { + return ResourceManager.GetString("Arabic_Windows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Baltic (DOS). + /// + internal static string Baltic_DOS { + get { + return ResourceManager.GetString("Baltic_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Baltic (ISO). + /// + internal static string Baltic_ISO { + get { + return ResourceManager.GetString("Baltic_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Baltic (Windows). + /// + internal static string Baltic_Windows { + get { + return ResourceManager.GetString("Baltic_Windows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Central European (DOS). + /// + internal static string CentralEuropean_DOS { + get { + return ResourceManager.GetString("CentralEuropean_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Central European (ISO). + /// + internal static string CentralEuropean_ISO { + get { + return ResourceManager.GetString("CentralEuropean_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Central European (Mac). + /// + internal static string CentralEuropean_Mac { + get { + return ResourceManager.GetString("CentralEuropean_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Central European (Windows). + /// + internal static string CentralEuropean_Windows { + get { + return ResourceManager.GetString("CentralEuropean_Windows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Simplified (EUC). + /// + internal static string ChineseSimplified_EUC { + get { + return ResourceManager.GetString("ChineseSimplified_EUC", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Simplified (GB18030). + /// + internal static string ChineseSimplified_GB18030 { + get { + return ResourceManager.GetString("ChineseSimplified_GB18030", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Simplified (GB2312). + /// + internal static string ChineseSimplified_GB2312 { + get { + return ResourceManager.GetString("ChineseSimplified_GB2312", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Simplified (GB2312-80). + /// + internal static string ChineseSimplified_GB2312_80 { + get { + return ResourceManager.GetString("ChineseSimplified_GB2312_80", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Simplified (HZ). + /// + internal static string ChineseSimplified_HZ { + get { + return ResourceManager.GetString("ChineseSimplified_HZ", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Simplified (ISO-2022). + /// + internal static string ChineseSimplified_ISO_2022 { + get { + return ResourceManager.GetString("ChineseSimplified_ISO_2022", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Simplified (Mac). + /// + internal static string ChineseSimplified_Mac { + get { + return ResourceManager.GetString("ChineseSimplified_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Traditional (Big5). + /// + internal static string ChineseTraditional_Big5 { + get { + return ResourceManager.GetString("ChineseTraditional_Big5", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Traditional (CNS). + /// + internal static string ChineseTraditional_CNS { + get { + return ResourceManager.GetString("ChineseTraditional_CNS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Traditional (Eten). + /// + internal static string ChineseTraditional_Eten { + get { + return ResourceManager.GetString("ChineseTraditional_Eten", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chinese Traditional (Mac). + /// + internal static string ChineseTraditional_Mac { + get { + return ResourceManager.GetString("ChineseTraditional_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Croatian (Mac). + /// + internal static string Croatian_Mac { + get { + return ResourceManager.GetString("Croatian_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cyrillic (DOS). + /// + internal static string Cyrillic_DOS { + get { + return ResourceManager.GetString("Cyrillic_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cyrillic (ISO). + /// + internal static string Cyrillic_ISO { + get { + return ResourceManager.GetString("Cyrillic_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cyrillic (KOI8-R). + /// + internal static string Cyrillic_KOI8_R { + get { + return ResourceManager.GetString("Cyrillic_KOI8_R", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cyrillic (KOI8-U). + /// + internal static string Cyrillic_KOI8_U { + get { + return ResourceManager.GetString("Cyrillic_KOI8_U", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cyrillic (Mac). + /// + internal static string Cyrillic_Mac { + get { + return ResourceManager.GetString("Cyrillic_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cyrillic (Windows). + /// + internal static string Cyrillic_Windows { + get { + return ResourceManager.GetString("Cyrillic_Windows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to System default. + /// + internal static string DefaultCodePage { + get { + return ResourceManager.GetString("DefaultCodePage", resourceCulture); + } + } + /// /// Looks up a localized string similar to DES (Deprecated). /// - internal static string DES { + internal static string DES { + get { + return ResourceManager.GetString("DES", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Estonian (ISO). + /// + internal static string Estonian_ISO { + get { + return ResourceManager.GetString("Estonian_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Europa. + /// + internal static string Europa { + get { + return ResourceManager.GetString("Europa", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to French Canadian (DOS). + /// + internal static string FrenchCanadian_DOS { + get { + return ResourceManager.GetString("FrenchCanadian_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle to File input. + /// + internal static string General_FileInput { + get { + return ResourceManager.GetString("General_FileInput", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle to File Path input. + /// + internal static string General_FilePathInput { + get { + return ResourceManager.GetString("General_FilePathInput", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to German (IA5). + /// + internal static string German_IA5 { + get { + return ResourceManager.GetString("German_IA5", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Greek (DOS). + /// + internal static string Greek_DOS { + get { + return ResourceManager.GetString("Greek_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Greek (ISO). + /// + internal static string Greek_ISO { + get { + return ResourceManager.GetString("Greek_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Greek (Mac). + /// + internal static string Greek_Mac { + get { + return ResourceManager.GetString("Greek_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Greek, Modern (DOS). + /// + internal static string Greek_Modern_DOS { + get { + return ResourceManager.GetString("Greek_Modern_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Greek (Windows). + /// + internal static string Greek_Windows { + get { + return ResourceManager.GetString("Greek_Windows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hebrew (DOS). + /// + internal static string Hebrew_DOS { + get { + return ResourceManager.GetString("Hebrew_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hebrew (ISO-Logical). + /// + internal static string Hebrew_ISO_Logical { + get { + return ResourceManager.GetString("Hebrew_ISO_Logical", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hebrew (ISO-Visual). + /// + internal static string Hebrew_ISO_Visual { + get { + return ResourceManager.GetString("Hebrew_ISO_Visual", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hebrew (Mac). + /// + internal static string Hebrew_Mac { + get { + return ResourceManager.GetString("Hebrew_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hebrew (Windows). + /// + internal static string Hebrew_Windows { + get { + return ResourceManager.GetString("Hebrew_Windows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HMACMD5 (Non-FIPS). + /// + internal static string HMACMD5 { + get { + return ResourceManager.GetString("HMACMD5", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HMACRIPEMD160 (Non-FIPS). + /// + internal static string HMACRIPEMD160 { + get { + return ResourceManager.GetString("HMACRIPEMD160", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HMACSHA1. + /// + internal static string HMACSHA1 { + get { + return ResourceManager.GetString("HMACSHA1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HMACSHA256. + /// + internal static string HMACSHA256 { + get { + return ResourceManager.GetString("HMACSHA256", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HMACSHA384. + /// + internal static string HMACSHA384 { + get { + return ResourceManager.GetString("HMACSHA384", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HMACSHA512. + /// + internal static string HMACSHA512 { + get { + return ResourceManager.GetString("HMACSHA512", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM5550 Taiwan. + /// + internal static string IBM5550Taiwan { + get { + return ResourceManager.GetString("IBM5550Taiwan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Arabic). + /// + internal static string IBMEBCDIC_Arabic { + get { + return ResourceManager.GetString("IBMEBCDIC_Arabic", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Cyrillic Russian). + /// + internal static string IBMEBCDIC_CyrillicRussian { + get { + return ResourceManager.GetString("IBMEBCDIC_CyrillicRussian", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Cyrillic Serbian-Bulgarian). + /// + internal static string IBMEBCDIC_CyrillicSerbian_Bulgarian { + get { + return ResourceManager.GetString("IBMEBCDIC_CyrillicSerbian_Bulgarian", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Denmark-Norway). + /// + internal static string IBMEBCDIC_Denmark_Norway { + get { + return ResourceManager.GetString("IBMEBCDIC_Denmark_Norway", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Denmark-Norway-Euro). + /// + internal static string IBMEBCDIC_Denmark_Norway_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_Denmark_Norway_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Finland-Sweden). + /// + internal static string IBMEBCDIC_Finland_Sweden { + get { + return ResourceManager.GetString("IBMEBCDIC_Finland_Sweden", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Finland-Sweden-Euro). + /// + internal static string IBMEBCDIC_Finland_Sweden_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_Finland_Sweden_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (France). + /// + internal static string IBMEBCDIC_France { + get { + return ResourceManager.GetString("IBMEBCDIC_France", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (France-Euro). + /// + internal static string IBMEBCDIC_France_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_France_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Germany). + /// + internal static string IBMEBCDIC_Germany { + get { + return ResourceManager.GetString("IBMEBCDIC_Germany", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Germany-Euro). + /// + internal static string IBMEBCDIC_Germany_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_Germany_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Greek). + /// + internal static string IBMEBCDIC_Greek { + get { + return ResourceManager.GetString("IBMEBCDIC_Greek", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Greek Modern). + /// + internal static string IBMEBCDIC_GreekModern { + get { + return ResourceManager.GetString("IBMEBCDIC_GreekModern", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Hebrew). + /// + internal static string IBMEBCDIC_Hebrew { + get { + return ResourceManager.GetString("IBMEBCDIC_Hebrew", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Icelandic). + /// + internal static string IBMEBCDIC_Icelandic { + get { + return ResourceManager.GetString("IBMEBCDIC_Icelandic", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Icelandic-Euro). + /// + internal static string IBMEBCDIC_Icelandic_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_Icelandic_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (International). + /// + internal static string IBMEBCDIC_International { + get { + return ResourceManager.GetString("IBMEBCDIC_International", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (International-Euro). + /// + internal static string IBMEBCDIC_International_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_International_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Italy). + /// + internal static string IBMEBCDIC_Italy { + get { + return ResourceManager.GetString("IBMEBCDIC_Italy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Italy-Euro). + /// + internal static string IBMEBCDIC_Italy_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_Italy_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Japanese katakana). + /// + internal static string IBMEBCDIC_Japanesekatakana { + get { + return ResourceManager.GetString("IBMEBCDIC_Japanesekatakana", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Korean Extended). + /// + internal static string IBMEBCDIC_KoreanExtended { + get { + return ResourceManager.GetString("IBMEBCDIC_KoreanExtended", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Multilingual Latin-2). + /// + internal static string IBMEBCDIC_MultilingualLatin_2 { + get { + return ResourceManager.GetString("IBMEBCDIC_MultilingualLatin_2", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Spain). + /// + internal static string IBMEBCDIC_Spain { + get { + return ResourceManager.GetString("IBMEBCDIC_Spain", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Spain-Euro). + /// + internal static string IBMEBCDIC_Spain_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_Spain_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Thai). + /// + internal static string IBMEBCDIC_Thai { + get { + return ResourceManager.GetString("IBMEBCDIC_Thai", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Turkish). + /// + internal static string IBMEBCDIC_Turkish { + get { + return ResourceManager.GetString("IBMEBCDIC_Turkish", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (Turkish Latin-5). + /// + internal static string IBMEBCDIC_TurkishLatin_5 { + get { + return ResourceManager.GetString("IBMEBCDIC_TurkishLatin_5", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (UK). + /// + internal static string IBMEBCDIC_UK { + get { + return ResourceManager.GetString("IBMEBCDIC_UK", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (UK-Euro). + /// + internal static string IBMEBCDIC_UK_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_UK_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (US-Canada). + /// + internal static string IBMEBCDIC_US_Canada { + get { + return ResourceManager.GetString("IBMEBCDIC_US_Canada", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM EBCDIC (US-Canada-Euro). + /// + internal static string IBMEBCDIC_US_Canada_Euro { + get { + return ResourceManager.GetString("IBMEBCDIC_US_Canada_Euro", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IBM Latin-1. + /// + internal static string IBMLatin_1 { + get { + return ResourceManager.GetString("IBMLatin_1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Icelandic (DOS). + /// + internal static string Icelandic_DOS { + get { + return ResourceManager.GetString("Icelandic_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Icelandic (Mac). + /// + internal static string Icelandic_Mac { + get { + return ResourceManager.GetString("Icelandic_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Assamese. + /// + internal static string ISCIIAssamese { + get { + return ResourceManager.GetString("ISCIIAssamese", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Bengali. + /// + internal static string ISCIIBengali { + get { + return ResourceManager.GetString("ISCIIBengali", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Devanagari. + /// + internal static string ISCIIDevanagari { + get { + return ResourceManager.GetString("ISCIIDevanagari", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Gujarati. + /// + internal static string ISCIIGujarati { + get { + return ResourceManager.GetString("ISCIIGujarati", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Kannada. + /// + internal static string ISCIIKannada { + get { + return ResourceManager.GetString("ISCIIKannada", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Malayalam. + /// + internal static string ISCIIMalayalam { + get { + return ResourceManager.GetString("ISCIIMalayalam", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Oriya. + /// + internal static string ISCIIOriya { + get { + return ResourceManager.GetString("ISCIIOriya", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Punjabi. + /// + internal static string ISCIIPunjabi { + get { + return ResourceManager.GetString("ISCIIPunjabi", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Tamil. + /// + internal static string ISCIITamil { + get { + return ResourceManager.GetString("ISCIITamil", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISCII Telugu. + /// + internal static string ISCIITelugu { + get { + return ResourceManager.GetString("ISCIITelugu", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISO-6937. + /// + internal static string ISO_6937 { + get { + return ResourceManager.GetString("ISO_6937", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Japanese (EUC). + /// + internal static string Japanese_EUC { + get { + return ResourceManager.GetString("Japanese_EUC", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Japanese (JIS). + /// + internal static string Japanese_JIS { + get { + return ResourceManager.GetString("Japanese_JIS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Japanese (JIS-Allow 1 byte Kana). + /// + internal static string Japanese_JIS_Allow1byteKana { get { - return ResourceManager.GetString("DES", resourceCulture); + return ResourceManager.GetString("Japanese_JIS_Allow1byteKana", resourceCulture); } } /// - /// Looks up a localized string similar to HMACMD5 (Non-FIPS). + /// Looks up a localized string similar to Japanese (JIS-Allow 1 byte Kana - SO/SI). /// - internal static string HMACMD5 { + internal static string Japanese_JIS_Allow1byteKana_SO_SI { get { - return ResourceManager.GetString("HMACMD5", resourceCulture); + return ResourceManager.GetString("Japanese_JIS_Allow1byteKana_SO_SI", resourceCulture); } } /// - /// Looks up a localized string similar to HMACRIPEMD160 (Non-FIPS). + /// Looks up a localized string similar to Japanese (JIS 0208-1990 and 0212-1990). /// - internal static string HMACRIPEMD160 { + internal static string Japanese_JIS0208_1990and0212_1990 { get { - return ResourceManager.GetString("HMACRIPEMD160", resourceCulture); + return ResourceManager.GetString("Japanese_JIS0208_1990and0212_1990", resourceCulture); } } /// - /// Looks up a localized string similar to HMACSHA1. + /// Looks up a localized string similar to Japanese (Mac). /// - internal static string HMACSHA1 { + internal static string Japanese_Mac { get { - return ResourceManager.GetString("HMACSHA1", resourceCulture); + return ResourceManager.GetString("Japanese_Mac", resourceCulture); } } /// - /// Looks up a localized string similar to HMACSHA256. + /// Looks up a localized string similar to Japanese (Shift-JIS). /// - internal static string HMACSHA256 { + internal static string Japanese_Shift_JIS { get { - return ResourceManager.GetString("HMACSHA256", resourceCulture); + return ResourceManager.GetString("Japanese_Shift_JIS", resourceCulture); } } /// - /// Looks up a localized string similar to HMACSHA384. + /// Looks up a localized string similar to Toggle to text input. /// - internal static string HMACSHA384 { + internal static string Key { get { - return ResourceManager.GetString("HMACSHA384", resourceCulture); + return ResourceManager.GetString("Key", resourceCulture); } } /// - /// Looks up a localized string similar to HMACSHA512. + /// Looks up a localized string similar to Korean. /// - internal static string HMACSHA512 { + internal static string Korean { get { - return ResourceManager.GetString("HMACSHA512", resourceCulture); + return ResourceManager.GetString("Korean", resourceCulture); } } /// - /// Looks up a localized string similar to Toggle to text input. + /// Looks up a localized string similar to Korean (EUC). /// - internal static string Key { + internal static string Korean_EUC { get { - return ResourceManager.GetString("Key", resourceCulture); + return ResourceManager.GetString("Korean_EUC", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Korean (ISO). + /// + internal static string Korean_ISO { + get { + return ResourceManager.GetString("Korean_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Korean (Johab). + /// + internal static string Korean_Johab { + get { + return ResourceManager.GetString("Korean_Johab", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Korean (Mac). + /// + internal static string Korean_Mac { + get { + return ResourceManager.GetString("Korean_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Korean Wansung. + /// + internal static string KoreanWansung { + get { + return ResourceManager.GetString("KoreanWansung", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Latin 3 (ISO). + /// + internal static string Latin3_ISO { + get { + return ResourceManager.GetString("Latin3_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Latin 9 (ISO). + /// + internal static string Latin9_ISO { + get { + return ResourceManager.GetString("Latin9_ISO", resourceCulture); } } @@ -168,6 +1158,60 @@ internal static string MD5 { } } + /// + /// Looks up a localized string similar to Nordic (DOS). + /// + internal static string Nordic_DOS { + get { + return ResourceManager.GetString("Nordic_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Norwegian (IA5). + /// + internal static string Norwegian_IA5 { + get { + return ResourceManager.GetString("Norwegian_IA5", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OEM Cyrillic. + /// + internal static string OEMCyrillic { + get { + return ResourceManager.GetString("OEMCyrillic", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OEM Multilingual Latin I. + /// + internal static string OEMMultilingualLatinI { + get { + return ResourceManager.GetString("OEMMultilingualLatinI", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OEM United States. + /// + internal static string OEMUnitedStates { + get { + return ResourceManager.GetString("OEMUnitedStates", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Portuguese (DOS). + /// + internal static string Portuguese_DOS { + get { + return ResourceManager.GetString("Portuguese_DOS", resourceCulture); + } + } + /// /// Looks up a localized string similar to RC2 (Non-FIPS) (Deprecated). /// @@ -195,6 +1239,15 @@ internal static string RIPEMD160 { } } + /// + /// Looks up a localized string similar to Romanian (Mac). + /// + internal static string Romanian_Mac { + get { + return ResourceManager.GetString("Romanian_Mac", resourceCulture); + } + } + /// /// Looks up a localized string similar to Toggle to Secure input. /// @@ -240,6 +1293,60 @@ internal static string SHA512 { } } + /// + /// Looks up a localized string similar to Swedish (IA5). + /// + internal static string Swedish_IA5 { + get { + return ResourceManager.GetString("Swedish_IA5", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to T.61. + /// + internal static string T61 { + get { + return ResourceManager.GetString("T61", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TCA Taiwan. + /// + internal static string TCATaiwan { + get { + return ResourceManager.GetString("TCATaiwan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TeleText Taiwan. + /// + internal static string TeleTextTaiwan { + get { + return ResourceManager.GetString("TeleTextTaiwan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Thai (Mac). + /// + internal static string Thai_Mac { + get { + return ResourceManager.GetString("Thai_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Thai (Windows). + /// + internal static string Thai_Windows { + get { + return ResourceManager.GetString("Thai_Windows", resourceCulture); + } + } + /// /// Looks up a localized string similar to TripleDES. /// @@ -249,6 +1356,105 @@ internal static string TripleDES { } } + /// + /// Looks up a localized string similar to Turkish (DOS). + /// + internal static string Turkish_DOS { + get { + return ResourceManager.GetString("Turkish_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Turkish (ISO). + /// + internal static string Turkish_ISO { + get { + return ResourceManager.GetString("Turkish_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Turkish (Mac). + /// + internal static string Turkish_Mac { + get { + return ResourceManager.GetString("Turkish_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Turkish (Windows). + /// + internal static string Turkish_Windows { + get { + return ResourceManager.GetString("Turkish_Windows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ukrainian (Mac). + /// + internal static string Ukrainian_Mac { + get { + return ResourceManager.GetString("Ukrainian_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unicode. + /// + internal static string Unicode { + get { + return ResourceManager.GetString("Unicode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unicode (Big-Endian). + /// + internal static string Unicode_Big_Endian { + get { + return ResourceManager.GetString("Unicode_Big_Endian", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unicode (UTF-32). + /// + internal static string Unicode_UTF_32 { + get { + return ResourceManager.GetString("Unicode_UTF_32", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unicode (UTF-32 Big-Endian). + /// + internal static string Unicode_UTF_32Big_Endian { + get { + return ResourceManager.GetString("Unicode_UTF_32Big_Endian", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unicode (UTF-7). + /// + internal static string Unicode_UTF_7 { + get { + return ResourceManager.GetString("Unicode_UTF_7", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unicode (UTF-8). + /// + internal static string Unicode_UTF_8 { + get { + return ResourceManager.GetString("Unicode_UTF_8", resourceCulture); + } + } + /// /// Looks up a localized string similar to The provided hash algorithm is not supported.. /// @@ -275,5 +1481,77 @@ internal static string UnsupportedSymmetricAlgorithmException { return ResourceManager.GetString("UnsupportedSymmetricAlgorithmException", resourceCulture); } } + + /// + /// Looks up a localized string similar to US-ASCII. + /// + internal static string US_ASCII { + get { + return ResourceManager.GetString("US_ASCII", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Vietnamese (Windows). + /// + internal static string Vietnamese_Windows { + get { + return ResourceManager.GetString("Vietnamese_Windows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Wang Taiwan. + /// + internal static string WangTaiwan { + get { + return ResourceManager.GetString("WangTaiwan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Western European (DOS). + /// + internal static string WesternEuropean_DOS { + get { + return ResourceManager.GetString("WesternEuropean_DOS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Western European (IA5). + /// + internal static string WesternEuropean_IA5 { + get { + return ResourceManager.GetString("WesternEuropean_IA5", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Western European (ISO). + /// + internal static string WesternEuropean_ISO { + get { + return ResourceManager.GetString("WesternEuropean_ISO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Western European (Mac). + /// + internal static string WesternEuropean_Mac { + get { + return ResourceManager.GetString("WesternEuropean_Mac", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Western European (Windows). + /// + internal static string WesternEuropean_Windows { + get { + return ResourceManager.GetString("WesternEuropean_Windows", resourceCulture); + } + } } } diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.de.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.de.resx index e0c0e4081..b1834ac2d 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.de.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.de.resx @@ -126,6 +126,12 @@ DES (veraltet) + + Zu Dateieingabe umschalten + + + Zu Dateipfadeingabe umschalten + HMACMD5 (Nicht-FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + Zur Texteingabe umschalten + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (Nicht-FIPS) + + Zu sicherer Eingabe umschalten + SHA1 @@ -183,4 +195,425 @@ Der bereitgestellte symmetrische Algorithmus wird nicht unterstützt. + + + Systemstandard + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Koreanisch + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.es-MX.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.es-MX.resx index 91d8146a5..3368d6e96 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.es-MX.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.es-MX.resx @@ -126,6 +126,12 @@ DES (en desuso) + + Alternar a entrada segura + + + Alternar a entrada de ruta de archivo + HMACMD5 (no FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + Cambiar a entrada de texto + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (no FIPS) + + Cambiar a entrada segura + SHA1 @@ -183,4 +195,425 @@ No se admite el algoritmo simétrico proporcionado. + + + Sistema predeterminado + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Coreano + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.es.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.es.resx index c4ec2754a..a05861b17 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.es.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.es.resx @@ -126,6 +126,12 @@ DES (obsoleto) + + Cambiar a entrada de archivo + + + Cambiar a entrada de la ruta del archivo + HMACMD5 (no FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + Cambiar a entrada de texto + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (no FIPS) + + Cambiar a entrada segura + SHA1 @@ -183,4 +195,425 @@ El algoritmo simétrico proporcionado no es compatible. + + + Sistema predeterminado + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Koreano + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.fr.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.fr.resx index 7d4f3e1ff..dfff6b317 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.fr.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.fr.resx @@ -126,6 +126,12 @@ DES (obsolète) + + Basculer vers Fichier d'entrée + + + Basculer vers Chemin du fichier d'entrée + HMACMD5 (non compatible FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + Basculer vers la saisie de texte + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (non compatible FIPS) + + Basculer vers la saisie sécurisée + SHA1 @@ -183,4 +195,425 @@ L’algorithme symétrique fourni n’est pas pris en charge. + + + Valeur par défaut du système + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Coréen + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ja.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ja.resx index 454776596..5d3e61b92 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ja.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ja.resx @@ -126,6 +126,12 @@ DES (非推奨) + + ファイルの入力に切り替え + + + ファイル パスの入力に切り替え + HMACMD5 (非 FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + テキスト入力に切り替え + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (非 FIPS) + + セキュリティで保護された入力に切り替え + SHA1 @@ -183,4 +195,425 @@ 指定した対称アルゴリズムはサポートされていません。 + + + システムの既定 + + + IBM EBCDIC (米国 - カナダ) + + + OEM 米国 + + + IBM EBCDIC (インターナショナル) + + + アラビア語 (ASMO 708) + + + アラビア語 (DOS) + + + ギリシャ語 (DOS) + + + バルト言語 (DOS) + + + 西ヨーロッパ言語 (DOS) + + + 中央ヨーロッパ言語 (DOS) + + + OEM キリル + + + トルコ語 (DOS) + + + OEM マルチリンガル ラテン I + + + ポルトガル語 (DOS) + + + アイスランド語 (DOS) + + + ヘブライ語 (DOS) + + + フランス語 (カナダ) (DOS) + + + アラビア語 (864) + + + 北欧 (DOS) + + + キリル言語 (DOS) + + + ギリシャ語, Modern (DOS) + + + IBM EBCDIC (多言語ラテン 2) + + + タイ語 (Windows) + + + IBM EBCDIC (ギリシャ語 Modern) + + + 日本語 (Shift-JIS) + + + 簡体字中国語 (GB2312) + + + 韓国語 + + + 繁体字中国語 (Big5) + + + IBM EBCDIC (トルコ語ラテン 5) + + + IBM ラテン 1 + + + IBM EBCDIC (米国 - カナダ - ヨーロッパ) + + + IBM EBCDIC (ドイツ - ヨーロッパ) + + + IBM EBCDIC (デンマーク - ノルウェー - ヨーロッパ) + + + IBM EBCDIC (フィンランド - スウェーデン - ヨーロッパ) + + + IBM EBCDIC (イタリア - ヨーロッパ) + + + IBM EBCDIC (スペイン - ヨーロッパ) + + + IBM EBCDIC (英国 - ヨーロッパ) + + + IBM EBCDIC (フランス - ヨーロッパ) + + + IBM EBCDIC (インターナショナル - ヨーロッパ) + + + IBM EBCDIC (アイスランド語 - ヨーロッパ) + + + Unicode + + + Unicode (Big-Endian) + + + 中央ヨーロッパ言語 (Windows) + + + キリル言語 (Windows) + + + 西ヨーロッパ言語 (Windows) + + + ギリシャ語 (Windows) + + + トルコ語 (Windows) + + + ヘブライ語 (Windows) + + + アラビア語 (Windows) + + + バルト言語 (Windows) + + + ベトナム語 (Windows) + + + 韓国語 (Johab) + + + 西ヨーロッパ言語 (Mac) + + + 日本語 (Mac) + + + 繁体字中国語 (Mac) + + + 韓国語 (Mac) + + + アラビア語 (Mac) + + + ヘブライ語 (Mac) + + + ギリシャ語 (Mac) + + + キリル言語 (Mac) + + + 簡体字中国語 (Mac) + + + ルーマニア語 (Mac) + + + ウクライナ語 (Mac) + + + タイ語 (Mac) + + + 中央ヨーロッパ言語 (Mac) + + + アイスランド語 (Mac) + + + トルコ語 (Mac) + + + クロアチア語 (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + 繁体字中国語 (CNS) + + + TCA 台湾 + + + 繁体字中国語 (Eten) + + + IBM5550 台湾 + + + TeleText 台湾 + + + Wang 台湾 + + + 西ヨーロッパ言語 (IA5) + + + ドイツ語 (IA5) + + + スウェーデン語 (IA5) + + + ノルウェー語 (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (ドイツ) + + + IBM EBCDIC (デンマーク - ノルウェー) + + + IBM EBCDIC (フィンランド - スウェーデン) + + + IBM EBCDIC (イタリア) + + + IBM EBCDIC (スペイン) + + + IBM EBCDIC (英国) + + + IBM EBCDIC (日本語カタカナ) + + + IBM EBCDIC (フランス) + + + IBM EBCDIC (アラビア語) + + + IBM EBCDIC (ギリシャ語) + + + IBM EBCDIC (ヘブライ語) + + + IBM EBCDIC (韓国語拡張) + + + IBM EBCDIC (タイ語) + + + キリル言語 (KOI8-R) + + + IBM EBCDIC (アイスランド語) + + + IBM EBCDIC (キリル言語 - ロシア語) + + + IBM EBCDIC (トルコ語) + + + 日本語 (JIS 0208-1990 および 0212-1990) + + + 簡体字中国語 (GB2312-80) + + + 韓国語 Wansung + + + IBM EBCDIC (キリル言語 セルビア - ブルガリア) + + + キリル言語 (KOI8-U) + + + 西ヨーロッパ言語 (ISO) + + + 中央ヨーロッパ言語 (ISO) + + + ラテン 3 (ISO) + + + バルト言語 (ISO) + + + キリル言語 (ISO) + + + アラビア語 (ISO) + + + ギリシャ語 (ISO) + + + ヘブライ語 (ISO-Visual) + + + トルコ語 (ISO) + + + エストニア語 (ISO) + + + ラテン 3 (ISO) + + + ヨーロッパ + + + ヘブライ語 (ISO-Logical) + + + 日本語 (JIS) + + + 日本語 (JIS 1 バイト カタカナ可) + + + 日本語 (JIS 1 バイト カタカナ可 - SO/SI) + + + 韓国語 (ISO) + + + 簡体字中国語 (ISO-2022) + + + 日本語 (EUC) + + + 簡体字中国語 (EUC) + + + 韓国語 (EUC) + + + 簡体字中国語 (HZ) + + + 簡体字中国語 (GB18030) + + + ISCII デバナガリ文字 + + + ISCII バングラ語 + + + ISCII タミール語 + + + ISCII テルグ語 + + + ISCII アッサム語 + + + ISCII オリヤー語 + + + ISCII カンナダ語 + + + ISCII マラヤーラム語 + + + ISCII グジャラート語 + + + ISCII パンジャブ語 + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ko.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ko.resx index 75ff65053..b285b16b9 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ko.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ko.resx @@ -126,6 +126,12 @@ DES(사용되지 않음) + + 파일 입력으로 전환 + + + 파일 경로 입력으로 전환 + HMACMD5(비 FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + 텍스트 입력으로 전환 + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160(비 FIPS) + + 보안 입력으로 전환 + SHA1 @@ -183,4 +195,425 @@ 입력된 대칭 알고리즘은 지원되지 않습니다. + + + 시스템 기본값 + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + 한국어 + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.pt-BR.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.pt-BR.resx index aa380e4dd..c9cf2442c 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.pt-BR.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.pt-BR.resx @@ -126,6 +126,12 @@ DES (obsoleto) + + Alternar para entrada de arquivos + + + Alternar para entrada do Caminho do Arquivo + HMACMD5 (sem FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + Alternar para entrada de texto + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (sem FIPS) + + Alternar para entrada segura + SHA1 @@ -183,4 +195,425 @@ O algoritmo simétrico fornecido não é compatível. + + + Padrão do sistema + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Coreano + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.pt.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.pt.resx index d58dea7f3..0f5831d36 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.pt.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.pt.resx @@ -126,6 +126,12 @@ DES (Preterido) + + Alternar para Entrada de ficheiros + + + Alternar para a entrada do Caminho do Ficheiro + HMACMD5 (não FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + Alternar para introdução de texto + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (não FIPS) + + Alternar para introdução Segura + SHA1 @@ -183,4 +195,425 @@ O algoritmo simétrico fornecido não é suportado. + + + Predefinição do sistema + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Coreano + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.resx index 865765189..f19c099d9 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.resx @@ -126,6 +126,12 @@ DES (Deprecated) + + Toggle to File input + + + Toggle to File Path input + HMACMD5 (Non-FIPS) @@ -189,4 +195,425 @@ The provided symmetric algorithm is not supported. + + + System default + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Korean + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ru.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ru.resx index fded1ffd1..1d4b8531e 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ru.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.ru.resx @@ -126,6 +126,12 @@ DES (устаревший) + + Toggle to File input + + + Toggle to File Path input + HMACMD5 (не соответствует стандарту FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + Переключатель на текстовый ввод + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (не соответствует стандарту FIPS) + + Переключатель на защищенный ввод + SHA1 @@ -183,4 +195,425 @@ Предоставленный симметричный алгоритм не поддерживается. + + + Системные установки по умолчанию + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Корейский + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.tr.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.tr.resx index 042cb1cd1..29d10ded5 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.tr.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.tr.resx @@ -126,6 +126,12 @@ DES (Kullanımdan Kaldırıldı) + + Dosya girişine geç + + + Dosya Yolu girişine geç + HMACMD5 (FIPS Olmayan) @@ -144,6 +150,9 @@ HMACSHA512 + + Metin girişine geç + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (FIPS Olmayan) + + Güvenli girişe geç + SHA1 @@ -183,4 +195,425 @@ Sağlanan simetrik algoritma desteklenmiyor. + + + Sistem varsayılanı + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + Korece + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.zh-CN.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.zh-CN.resx index 16efb7765..ce2288b5a 100644 --- a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.zh-CN.resx +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.zh-CN.resx @@ -126,6 +126,12 @@ DES (已弃用) + + 切换至文件输入 + + + 切换到文件路径输入 + HMACMD5 (非 FIPS) @@ -144,6 +150,9 @@ HMACSHA512 + + 切换至文本输入 + MACTripleDES @@ -159,6 +168,9 @@ RIPEMD160 (非 FIPS) + + 切换至安全输入 + SHA1 @@ -183,4 +195,425 @@ 不支持给定的对称算法。 + + + 系统默认值 + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + 韩语 + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.zh-TW.resx b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.zh-TW.resx new file mode 100644 index 000000000..2b74f5f79 --- /dev/null +++ b/Activities/Cryptography/UiPath.Cryptography/Properties/UiPath.Cryptography.zh-TW.resx @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + AES (已淘汰) + + + AES GCM + + + DES (已淘汰) + + + 切換至檔案輸入 + + + 切換至檔案路徑輸入 + + + HMACMD5 (非 FIPS) + + + HMACRIPEMD160 (非 FIPS) + + + HMACSHA1 + + + HMACSHA256 + + + HMACSHA384 + + + HMACSHA512 + + + 切換至文字輸入 + + + MACTripleDES + + + MD5 (非 FIPS) + + + RC2 (非 FIPS) (已淘汰) + + + Rijndael (非 FIPS) (已淘汰) + + + RIPEMD160 (非 FIPS) + + + 切換至安全輸入 + + + SHA1 + + + SHA256 + + + SHA384 + + + SHA512 + + + 三重 DES + + + 不支援所提供的雜湊演算法。 + + + 不支援所提供的鍵控雜湊演算法。 + + + 不支援所提供的對稱演算法。 + + + + 系統預設值 + + + IBM EBCDIC (US-Canada) + + + OEM United States + + + IBM EBCDIC (International) + + + Arabic (ASMO 708) + + + Arabic (DOS) + + + Greek (DOS) + + + Baltic (DOS) + + + Western European (DOS) + + + Central European (DOS) + + + OEM Cyrillic + + + Turkish (DOS) + + + OEM Multilingual Latin I + + + Portuguese (DOS) + + + Icelandic (DOS) + + + Hebrew (DOS) + + + French Canadian (DOS) + + + Arabic (864) + + + Nordic (DOS) + + + Cyrillic (DOS) + + + Greek, Modern (DOS) + + + IBM EBCDIC (Multilingual Latin-2) + + + Thai (Windows) + + + IBM EBCDIC (Greek Modern) + + + Japanese (Shift-JIS) + + + Chinese Simplified (GB2312) + + + 韓語 + + + Chinese Traditional (Big5) + + + IBM EBCDIC (Turkish Latin-5) + + + IBM Latin-1 + + + IBM EBCDIC (US-Canada-Euro) + + + IBM EBCDIC (Germany-Euro) + + + IBM EBCDIC (Denmark-Norway-Euro) + + + IBM EBCDIC (Finland-Sweden-Euro) + + + IBM EBCDIC (Italy-Euro) + + + IBM EBCDIC (Spain-Euro) + + + IBM EBCDIC (UK-Euro) + + + IBM EBCDIC (France-Euro) + + + IBM EBCDIC (International-Euro) + + + IBM EBCDIC (Icelandic-Euro) + + + Unicode + + + Unicode (Big-Endian) + + + Central European (Windows) + + + Cyrillic (Windows) + + + Western European (Windows) + + + Greek (Windows) + + + Turkish (Windows) + + + Hebrew (Windows) + + + Arabic (Windows) + + + Baltic (Windows) + + + Vietnamese (Windows) + + + Korean (Johab) + + + Western European (Mac) + + + Japanese (Mac) + + + Chinese Traditional (Mac) + + + Korean (Mac) + + + Arabic (Mac) + + + Hebrew (Mac) + + + Greek (Mac) + + + Cyrillic (Mac) + + + Chinese Simplified (Mac) + + + Romanian (Mac) + + + Ukrainian (Mac) + + + Thai (Mac) + + + Central European (Mac) + + + Icelandic (Mac) + + + Turkish (Mac) + + + Croatian (Mac) + + + Unicode (UTF-32) + + + Unicode (UTF-32 Big-Endian) + + + Chinese Traditional (CNS) + + + TCA Taiwan + + + Chinese Traditional (Eten) + + + IBM5550 Taiwan + + + TeleText Taiwan + + + Wang Taiwan + + + Western European (IA5) + + + German (IA5) + + + Swedish (IA5) + + + Norwegian (IA5) + + + US-ASCII + + + T.61 + + + ISO-6937 + + + IBM EBCDIC (Germany) + + + IBM EBCDIC (Denmark-Norway) + + + IBM EBCDIC (Finland-Sweden) + + + IBM EBCDIC (Italy) + + + IBM EBCDIC (Spain) + + + IBM EBCDIC (UK) + + + IBM EBCDIC (Japanese katakana) + + + IBM EBCDIC (France) + + + IBM EBCDIC (Arabic) + + + IBM EBCDIC (Greek) + + + IBM EBCDIC (Hebrew) + + + IBM EBCDIC (Korean Extended) + + + IBM EBCDIC (Thai) + + + Cyrillic (KOI8-R) + + + IBM EBCDIC (Icelandic) + + + IBM EBCDIC (Cyrillic Russian) + + + IBM EBCDIC (Turkish) + + + Japanese (JIS 0208-1990 and 0212-1990) + + + Chinese Simplified (GB2312-80) + + + Korean Wansung + + + IBM EBCDIC (Cyrillic Serbian-Bulgarian) + + + Cyrillic (KOI8-U) + + + Western European (ISO) + + + Central European (ISO) + + + Latin 3 (ISO) + + + Baltic (ISO) + + + Cyrillic (ISO) + + + Arabic (ISO) + + + Greek (ISO) + + + Hebrew (ISO-Visual) + + + Turkish (ISO) + + + Estonian (ISO) + + + Latin 9 (ISO) + + + Europa + + + Hebrew (ISO-Logical) + + + Japanese (JIS) + + + Japanese (JIS-Allow 1 byte Kana) + + + Japanese (JIS-Allow 1 byte Kana - SO/SI) + + + Korean (ISO) + + + Chinese Simplified (ISO-2022) + + + Japanese (EUC) + + + Chinese Simplified (EUC) + + + Korean (EUC) + + + Chinese Simplified (HZ) + + + Chinese Simplified (GB18030) + + + ISCII Devanagari + + + ISCII Bengali + + + ISCII Tamil + + + ISCII Telugu + + + ISCII Assamese + + + ISCII Oriya + + + ISCII Kannada + + + ISCII Malayalam + + + ISCII Gujarati + + + ISCII Punjabi + + + Unicode (UTF-7) + + + Unicode (UTF-8) + + \ No newline at end of file diff --git a/Activities/Cryptography/UiPath.Cryptography/SymmetricAlgorithms.cs b/Activities/Cryptography/UiPath.Cryptography/SymmetricAlgorithms.cs index 4b9ab62f5..495911410 100644 --- a/Activities/Cryptography/UiPath.Cryptography/SymmetricAlgorithms.cs +++ b/Activities/Cryptography/UiPath.Cryptography/SymmetricAlgorithms.cs @@ -1,21 +1,26 @@ -using UiPath.Cryptography.Properties; +using System; +using UiPath.Cryptography.Properties; namespace UiPath.Cryptography { public enum SymmetricAlgorithms { + [Obsolete("No longer safe")] [LocalizedDescription(nameof(Resources.AES))] AES, [LocalizedDescription(nameof(Resources.AESGCM))] AESGCM, + [Obsolete("No longer safe")] [LocalizedDescription(nameof(Resources.DES))] DES, + [Obsolete("No longer safe")] [LocalizedDescription(nameof(Resources.RC2))] RC2, + [Obsolete("No longer safe")] [LocalizedDescription(nameof(Resources.Rijndael))] Rijndael, diff --git a/Activities/Cryptography/UiPath.Cryptography/UiPath.Cryptography.csproj b/Activities/Cryptography/UiPath.Cryptography/UiPath.Cryptography.csproj index 344aad8d8..8c6a3b42d 100644 --- a/Activities/Cryptography/UiPath.Cryptography/UiPath.Cryptography.csproj +++ b/Activities/Cryptography/UiPath.Cryptography/UiPath.Cryptography.csproj @@ -1,36 +1,45 @@  - - - net461;net5.0 - false - ..\..\Output\Activities\Cryptography\ - - - - - - - - - - - - - - - - - - - True - True - UiPath.Cryptography.resx - - - - - ResXFileCodeGenerator - UiPath.Cryptography.Designer.cs - - + + + + net461;net6.0 + false + ..\..\Output\Activities\Cryptography\ + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + UiPath.Cryptography.resx + + + + + + ResXFileCodeGenerator + UiPath.Cryptography.Designer.cs + + \ No newline at end of file diff --git a/Activities/Cryptography/azure-pipelines.yml b/Activities/Cryptography/azure-pipelines.yml index 500e83882..2102008c0 100644 --- a/Activities/Cryptography/azure-pipelines.yml +++ b/Activities/Cryptography/azure-pipelines.yml @@ -3,7 +3,12 @@ resources: - repository: common type: github name: UiPath/AzurePipelinesTemplates - ref: feature/activities_templates + ref: refs/tags/uipath.community.activities.1.3.0 + endpoint: "GitHub connection" + - repository: automationTests + type: github + name: UiPath/AzurePipelinesTemplates + ref: refs/tags/uipath.waitforbuild.1.0.3 endpoint: "GitHub connection" trigger: @@ -48,4 +53,35 @@ stages: sonarKeyPrefix: 'CommunityActivities' sdkBuild: true enableCDStages: false - hasQaPackages: false \ No newline at end of file + hasQaPackages: false + + - stage: BuildCryptographyRuntimeTests + displayName: 'Build Cryptography Runtime Tests' + dependsOn: + - Build + jobs: + - template: ../.pipelines/jobs/stage.build.runtime.tests.yml + parameters: + robotVersion: $(TestsStudioVersion) + studioProjectPath: 'Activities/Cryptography/UiPath.Cryptography.Activities.RuntimeTests/project.json' + buildForWindows: true + buildForPortable: true + packageUnderTestName: 'UiPath.Cryptography.Activities' + + - stage: RunCryptographyRuntimeTestsWindows + displayName: 'Run Cryptography Runtime Tests Windows' + dependsOn: + - BuildCryptographyRuntimeTests + jobs: + - template: ../.pipelines/jobs/stage.run.runtime.tests.windows.yml + parameters: + robotVersion: $(TestsStudioVersion) + + - stage: RunCryptographyRuntimeTestsPortable + displayName: 'Run Cryptography Runtime Tests Portable' + dependsOn: + - BuildCryptographyRuntimeTests + jobs: + - template: ../.pipelines/jobs/stage.run.runtime.tests.portable.yml + parameters: + robotVersion: $(TestsStudioVersion) diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/AdoDotNetConnectionProperties.cs b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/AdoDotNetConnectionProperties.cs index 328c7c81e..0d1665f6b 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/AdoDotNetConnectionProperties.cs +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/AdoDotNetConnectionProperties.cs @@ -13,6 +13,7 @@ using System.Configuration; using System.Data; using System.Linq; +using Microsoft.Data.SqlClient; namespace UiPath.Data.ConnectionUI.Dialog { @@ -82,19 +83,9 @@ public AdoDotNetConnectionProperties(string providerName) { Debug.Assert(providerName != null); _providerName = providerName; - var builder = new AttributeTableBuilder(); - DataRow dr = null; -#if NETFRAMEWORK - var dataSet = ConfigurationManager.GetSection("system.data") as System.Data.DataSet; - dr = dataSet.Tables[0].NewRow(); - dr[0] = "ODP.NET, Managed Driver"; - dr[1] = ".Net Framework Data Provider for Oracle"; - dr[2] = "Oracle.ManagedDataAccess.Client"; - dr[3] = "Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342"; -#endif #if NETCOREAPP - DbProviderFactories.RegisterFactory("System.Data.SqlClient", System.Data.SqlClient.SqlClientFactory.Instance); + DbProviderFactories.RegisterFactory("Microsoft.Data.SqlClient", Microsoft.Data.SqlClient.SqlClientFactory.Instance); DbProviderFactories.RegisterFactory("System.Data.OleDb", System.Data.OleDb.OleDbFactory.Instance); DbProviderFactories.RegisterFactory("System.Data.Odbc", System.Data.Odbc.OdbcFactory.Instance); DbProviderFactories.RegisterFactory("Oracle.ManagedDataAccess.Client", Oracle.ManagedDataAccess.Client.OracleClientFactory.Instance); @@ -106,12 +97,14 @@ public AdoDotNetConnectionProperties(string providerName) { factory = DbProviderFactories.GetFactory(providerName); } - catch(Exception ex) + catch { - if (dr != null && (string)dr[2] == providerName) - factory = DbProviderFactories.GetFactory(dr); - else - throw ex; +#if NETFRAMEWORK + if (!LegacyProviders.GetLegacyFactory(providerName, out factory)) + throw; +#else + throw; +#endif } Debug.Assert(factory != null); _connectionStringBuilder = factory.CreateConnectionStringBuilder(); @@ -175,16 +168,21 @@ public virtual void Test() // Create a connection object DbConnection connection = null; DbProviderFactory factory = null; - if (_providerName.Equals("Oracle.ManagedDataAccess.Client")) - { - connection = new OracleConnection(testString); - } - else - { - factory = DbProviderFactories.GetFactory(_providerName); - Debug.Assert(factory != null); - connection = factory.CreateConnection(); + switch (_providerName) + { + case "Oracle.ManagedDataAccess.Client": + connection = new OracleConnection(testString); + break; + case "Microsoft.Data.SqlClient": + connection = new SqlConnection(testString); + break; + default: + factory = DbProviderFactories.GetFactory(_providerName); + Debug.Assert(factory != null); + connection = factory.CreateConnection(); + break; } + Debug.Assert(connection != null); // Try to open it try @@ -423,6 +421,46 @@ public object GetPropertyOwner(PropertyDescriptor pd) } #endregion ICustomTypeDescriptor implementation +#if NETFRAMEWORK + private static class LegacyProviders + { + private static readonly Lazy> _LegacyProviders = new Lazy>(() => InitLegacyProviders()); + + private static Dictionary InitLegacyProviders() + { + var legacyConfig = new Dictionary(); + + var dataSet = ConfigurationManager.GetSection("system.data") as System.Data.DataSet; + var dr = dataSet.Tables[0].NewRow(); + dr[0] = "ODP.NET, Managed Driver"; + dr[1] = ".Net Framework Data Provider for Oracle"; + dr[2] = "Oracle.ManagedDataAccess.Client"; + dr[3] = typeof(OracleClientFactory).AssemblyQualifiedName; + legacyConfig.Add((string)dr[2], dr); + + dr = dataSet.Tables[0].NewRow(); + dr[0] = ".Net Framework Data Provider"; + dr[1] = ".Net Framework Data Provider"; + dr[2] = "Microsoft.Data.SqlClient"; + dr[3] = typeof(SqlClientFactory).AssemblyQualifiedName; + legacyConfig.Add((string)dr[2], dr); + + return legacyConfig; + } + internal static bool GetLegacyFactory(string providerName, out DbProviderFactory factory) + { + factory = null; + if (_LegacyProviders.Value.TryGetValue(providerName, out var factoryConfig)) + { + factory = DbProviderFactories.GetFactory(factoryConfig); + return true; + } + else + return false; + } + } +#endif + private class KeyValuePropertyDescriptor : PropertyDescriptor { private PropertyDescriptor m_Property; diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Controls/OdbcConnectionUIControl.xaml.cs b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Controls/OdbcConnectionUIControl.xaml.cs index 93f069c19..0b4bbac7a 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Controls/OdbcConnectionUIControl.xaml.cs +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Controls/OdbcConnectionUIControl.xaml.cs @@ -103,12 +103,12 @@ private void Build_Click(object sender, RoutedEventArgs e) } string currentConnectionString = _connectionProperties.ToFullString(); - System.Text.StringBuilder newConnectionString = new System.Text.StringBuilder(1024); - result = NativeMethods.SQLDriverConnect(hdbc, new WindowInteropHelper(Window.GetWindow(this)).Handle, currentConnectionString, (short)currentConnectionString.Length, newConnectionString, 1024, out short newConnectionStringLength, NativeMethods.SQL_DRIVER_PROMPT); + System.Text.StringBuilder newConnectionString = new System.Text.StringBuilder(short.MaxValue); + result = NativeMethods.SQLDriverConnect(hdbc, new WindowInteropHelper(Window.GetWindow(this)).Handle, currentConnectionString, (short)currentConnectionString.Length, newConnectionString, (short)newConnectionString.Capacity, out short newConnectionStringLength, NativeMethods.SQL_DRIVER_PROMPT); if (!NativeMethods.SQL_SUCCEEDED(result) && result != NativeMethods.SQL_NO_DATA) { // Try again without the current connection string, in case it was invalid - result = NativeMethods.SQLDriverConnect(hdbc, new WindowInteropHelper(Window.GetWindow(this)).Handle, null, 0, newConnectionString, 1024, out newConnectionStringLength, NativeMethods.SQL_DRIVER_PROMPT); + result = NativeMethods.SQLDriverConnect(hdbc, new WindowInteropHelper(Window.GetWindow(this)).Handle, null, 0, newConnectionString, (short)newConnectionString.Capacity, out newConnectionStringLength, NativeMethods.SQL_DRIVER_PROMPT); } if (!NativeMethods.SQL_SUCCEEDED(result) && result != NativeMethods.SQL_NO_DATA) { diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Controls/SqlConnectionUIControl.xaml.cs b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Controls/SqlConnectionUIControl.xaml.cs index 525b2d894..c77dc67ae 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Controls/SqlConnectionUIControl.xaml.cs +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Controls/SqlConnectionUIControl.xaml.cs @@ -5,7 +5,7 @@ using System.Data.Odbc; using System.Data.OleDb; using System.Data.Sql; -using System.Data.SqlClient; +using Microsoft.Data.SqlClient; using System.Diagnostics; using System.Linq; using System.Windows; @@ -571,7 +571,7 @@ public IDbConnection GetBasicConnection() } if (_properties is SqlConnectionProperties) { - connectionString += "Pooling=False;"; + connectionString += "Pooling=False;Encrypt=false"; } } if (_properties is OdbcConnectionProperties) diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/DataProvider.cs b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/DataProvider.cs index ddbc4ef07..05a3fa7c9 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/DataProvider.cs +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/DataProvider.cs @@ -84,11 +84,11 @@ public static DataProvider SqlDataProvider }; _sqlDataProvider = new DataProvider( - "System.Data.SqlClient", + "Microsoft.Data.SqlClient", Resources.DataProvider_Sql, Resources.DataProvider_Sql_Short, Resources.DataProvider_Sql_Description, - typeof(System.Data.SqlClient.SqlConnection), + typeof(Microsoft.Data.SqlClient.SqlConnection), descriptions, uiControls, properties); diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/HelpUtils.cs b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/HelpUtils.cs index e4c644e2e..9f96d057e 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/HelpUtils.cs +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/HelpUtils.cs @@ -8,8 +8,6 @@ namespace UiPath.Data.ConnectionUI.Dialog { internal sealed class HelpUtils { - private const int KeyValueNameLength = 1024; // 1024 should be enough for registry key value name. - private HelpUtils() { } @@ -76,8 +74,8 @@ public static string[] GetValueNamesWow64(string registryKey, int ulOptions) for (uint index = 0; index < numValues; index++) { - StringBuilder builder = new StringBuilder(KeyValueNameLength); - uint size = KeyValueNameLength; + StringBuilder builder = new StringBuilder(short.MaxValue); + uint size = (uint)short.MaxValue; try { diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.es-MX.resx b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.es-MX.resx index da00bf7ed..6a2d5c849 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.es-MX.resx +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.es-MX.resx @@ -235,7 +235,7 @@ Detalles - Description + Descripción Especificación del origen de datos diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.fr.resx b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.fr.resx index 902042937..2c5ec4d2c 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.fr.resx +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.fr.resx @@ -364,7 +364,7 @@ Connexion de test - Username : + Username : Utiliser l’authentification Windows diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.ja.resx b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.ja.resx index ab746e2ce..151c38cd0 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.ja.resx +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.ja.resx @@ -208,7 +208,7 @@ Oracle.ManagedDataAccess - ODP.NET 管理対象ドライバは、Oracle データベース用の 100% ネイティブ コードの .NET Framework ドライバーです。Oracle データベースに接続するために Oracle クライアント ソフトウェアを追加でインストールする必要はありません。 + ODP.NET 管理対象ドライバーは、Oracle データベース用の 100% ネイティブ コードの .NET Framework ドライバーです。Oracle データベースに接続するために Oracle クライアント ソフトウェアを追加でインストールする必要はありません。 Oracle Data Provider for .NET では、.NET クライアントから Oracle データベースへのすばやいデータ アクセスを提供します。ODP.NET を使用すると、.NET アプリケーションが Oracle の高度な機能 (Oracle Real Application Clusters (Oracle RAC) や Oracle XML DB など) を活用できます。C#、Visual Basic .NET、C++ .NET を含む、あらゆる .NET 言語でアクセスできます。 @@ -292,7 +292,7 @@ ODBC 環境ハンドルの割り当てに失敗しました。 - ODBC ドライバ接続ユーティリティの呼び出しに失敗しました。 + ODBC ドライバー接続ユーティリティの呼び出しに失敗しました。 接続プロパティ オブジェクトは、OleDBConnectionProperties 型である必要があります。 diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.zh-TW.resx b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.zh-TW.resx new file mode 100644 index 000000000..4eb148fba --- /dev/null +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Properties/UiPath.Data.ConnectionUI.Dialog.zh-TW.resx @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + mdb + + + Microsoft Access 資料庫 (*.mdb、*.accdb)|*.mdb、*.accdb|所有檔案 (*.*)|*.* + + + 選取 Microsoft Access 資料庫檔案 + + + 連線屬性物件的類型必須為 OleDBAccessConnectionProperties。 + + + 未設定任何連線屬性。 + + + 進階屬性 + + + 進階... + + + 附加資料庫檔案: + + + 瀏覽... + + + 建立... + + + 選擇資料來源 + + + 連線屬性 + + + 連接到資料庫 + + + 使用連線字串: + + + Microsoft SQL Server 資料庫 (*.mdf)|*.mdf|所有檔案 (*.*)|*.* + + + 選取或輸入資料庫名稱: + + + 測試連線已成功。 + + + 資料連結... + + + 資料提供者: + + + .NET Framework Data Provider for ODBC + + + 使用此選項來指定 ODBC 使用者或系統資料來源名稱,以透過 .NET Framework Data Provider for ODBC 連接到 ODBC 驅動程式。 + + + 使用此資料提供者連接到 ODBC 資料來源。 + + + ODBC + + + .NET Framework Data Provider for OLE DB + + + 使用此選項,透過 .NET Framework Data Provider for OLE DB 連接到 Microsoft Access 資料庫檔案。 + + + 使用此資料提供者連接到 OLE DB 資料來源。 + + + 使用此選項,透過 .NET Framework Data Provider for OLE DB 連接到使用原生 MSDAORA 提供者的 Oracle 7.3、8i、9i 或 10g。 + + + OLE DB + + + 使用此選項,透過 .NET Framework Data Provider for OLEDB 連接到 Microsoft SQL Server 2000 或更高版本。 + + + Oracle.ManagedDataAccess + + + ODP.NET,受管理驅動程式是用於 Oracle 資料庫的 100% 機器碼 .NET 架構驅動程式。無需額外安裝 Oracle 用戶端軟體即可連接到 Oracle 資料庫。 + + + Oracle Data Provider for .NET 可提供從 .NET 用戶端到 Oracle 資料庫的快速資料存取。ODP.NET 支援 .NET 應用程式利用 Oracle 進階功能,例如 Oracle Real Application Clusters (Oracle RAC) 和 XML DB。可透過任何 .NET 語言進行存取,包括 C#、Visual Basic .NET 和 C++ .NET。 + + + Oracle 用戶端 + + + .NET Framework Data Provider for SQL Server + + + 使用此選項,透過 .NET Framework Data Provider for SQL Server 連接到 Microsoft SQL Server 2005 或更高版本。 + + + 使用此資料提供者連接到 Microsoft SQL Server 2005 或更高版本。 + + + 使用此選項,透過 .NET Framework Data Provider for SQL Server 將資料庫檔附加到本機 Microsoft SQL Server 執行個體 (包括 Microsoft SQL Express)。 + + + SQL 用戶端 + + + 詳細資訊 + + + 說明 + + + 資料來源規格 + + + 使用使用者或系統資料來源 (僅限 {0}): + + + 只有一個資料提供者可用時,無法變更預設資料提供者。 + + + 找不到任何資料提供者。 + + + 資料來源: + + + Microsoft Access 資料庫檔案 + + + Microsoft ODBC 資料來源 + + + Microsoft SQL Server + + + Microsoft SQL Server 資料庫檔案 + + + <other> + + + 錯誤 + + + 資料庫檔案名稱: + + + 邏輯名稱: + + + 登入資料庫 + + + 登入伺服器 + + + 連線屬性物件的類型必須為 OdbcConnectionProperties。 + + + 未能成功配置 ODBC 連線控制代碼。 + + + 未能成功配置 ODBC 環境控制代碼。 + + + 無法叫用 ODBC 驅動程式連線公用程式。 + + + 連線屬性物件的類型必須為 OleDBConnectionProperties。 + + + 初始目錄: + + + 輸入伺服器或檔案名稱 + + + 位置: + + + 儲存密碼 + + + 伺服器或檔案名稱: + + + 使用整合安全性 + + + 空白密碼 + + + 使用特定使用者名稱和密碼 + + + OLE DB 提供者: + + + 連線屬性物件的類型必須為 OracleConnectionProperties 或 OleDBOracleConnectionProperties。 + + + 主機名稱: + + + 連接埠: + + + 服務名稱: + + + 密碼: + + + 重新整理 + + + 儲存我的密碼 + + + 伺服器名稱: + + + 使用 SQL Server 驗證 + + + 此連線無法測試,因為指定的資料庫不存在或對指定使用者不可見。 + + + 無法測試此連線,因為未指定伺服器名稱。 + + + 連線屬性物件的類型必須為 SqlFileConnectionProperties。 + + + 測試連線 + + + 使用者名稱: + + + 使用 Windows 驗證 + + \ No newline at end of file diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/SqlConnectionProperties.cs b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/SqlConnectionProperties.cs index ec12093f0..b395ac265 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/SqlConnectionProperties.cs +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/SqlConnectionProperties.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Data.SqlClient; +using Microsoft.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -41,7 +41,7 @@ protected override PropertyDescriptor DefaultProperty } public SqlConnectionProperties() - : base("System.Data.SqlClient") + : base("Microsoft.Data.SqlClient") { LocalReset(); } @@ -82,9 +82,22 @@ public override void Test() } } } - + + public override string ToFullString() + { + AddEncryptIfNeeded(); + return base.ToFullString(); + } + + public override string ToDisplayString() + { + AddEncryptIfNeeded(); + return base.ToDisplayString(); + } + protected override string ToTestString() { + AddEncryptIfNeeded(); bool savedPooling = (bool)ConnectionStringBuilder["Pooling"]; bool wasDefault = !ConnectionStringBuilder.ShouldSerialize("Pooling"); ConnectionStringBuilder["Pooling"] = false; @@ -96,6 +109,13 @@ protected override string ToTestString() } return testString; } + + private void AddEncryptIfNeeded() + { + bool wasDefault = !ConnectionStringBuilder.ShouldSerialize("Encrypt"); + if (wasDefault) + ConnectionStringBuilder["Encrypt"] = false; + } } public class SqlFileConnectionProperties : SqlConnectionProperties diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/UiPath.Data.ConnectionUI.Dialog.csproj b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/UiPath.Data.ConnectionUI.Dialog.csproj index 4f9c51858..534de2c93 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/UiPath.Data.ConnectionUI.Dialog.csproj +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/UiPath.Data.ConnectionUI.Dialog.csproj @@ -1,17 +1,21 @@  - net461;net5.0-windows + net461;net6.0-windows true true true AnyCPU;x86;x64 - + - + + + + + @@ -40,13 +44,13 @@ - 19.11.0 + 19.20.0 - + - 3.21.1 + 3.21.90 1.0.0-20201117-04 diff --git a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Workaround/DbWorkarounds.cs b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Workaround/DbWorkarounds.cs index 3b8d6c107..e35465126 100644 --- a/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Workaround/DbWorkarounds.cs +++ b/Activities/Database/ConnectionDialog/UiPath.Data.ConnectionUI.Dialog/Workaround/DbWorkarounds.cs @@ -11,10 +11,10 @@ namespace UiPath.Data.ConnectionUI.Dialog.Workaround public static class DbWorkarounds { #if NETCOREAPP - private const string RelativePath = @"\..\runtimes\win-x64\native\sni.dll"; + private static string RelativePath = @"\..\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.dll"; #endif #if NETFRAMEWORK - private const string RelativePath = @"\..\runtimes\win-x86\native\sni.dll"; + private static string RelativePath = Environment.Is64BitProcess ? @"\..\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.dll" : @"\..\runtimes\win-x86\native\Microsoft.Data.SqlClient.SNI.x86.dll"; #endif [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] @@ -29,13 +29,39 @@ public static void SNILoadWorkaround(bool isWindows = true) if(!isWindows) return; - IntPtr Handle = LoadLibrary(Path.GetFullPath((typeof(DbWorkarounds).Assembly.CodeBase.Replace("file:///", "")) + RelativePath)); + var asmLocation = GetAssemblyLocation(); + var path = Path.GetFullPath(asmLocation + RelativePath); + IntPtr Handle = LoadLibrary(path); if (Handle == IntPtr.Zero) { int errorCode = Marshal.GetLastWin32Error(); - throw new Exception(string.Format("Failed to load library (ErrorCode: {0})", errorCode)); + string errorMessage = string.Format("Failed to load library {0} (ErrorCode: {1})", path, errorCode); + throw new Exception(errorMessage); } } + +#if NETCOREAPP + private static string GetAssemblyLocation() + { + return typeof(DbWorkarounds).Assembly.Location; + } +#else + private static string GetAssemblyLocation() + { + //on legacy still use the Assembly.CodeBase + //on legacy Assembly.Location returns the shadow copy location and not the original location (so we won't find the sni dll relative to this path) + var codeBase = typeof(DbWorkarounds).Assembly.CodeBase; + bool isUNCPath = codeBase.StartsWith("file:////"); + var adjustdCodeBase = codeBase.Replace("file:///", ""); + //workaround: if UNC path, we should make sure that it stats with "//" (double) and not "/" (single) + //since single "/" means relative path + if (isUNCPath && !adjustdCodeBase.StartsWith("//")) + adjustdCodeBase = "/" + adjustdCodeBase; + + return adjustdCodeBase; + } +#endif + } } diff --git a/Activities/Database/Database.build.props b/Activities/Database/Database.build.props index 2d4acaa02..513fe272b 100644 --- a/Activities/Database/Database.build.props +++ b/Activities/Database/Database.build.props @@ -4,11 +4,11 @@ UiPath UiPath © UiPath - $([System.DateTime]::UtcNow.DayOfYear.ToString("F0")) + $([System.DateTime]::UtcNow.ToString("yy"))$([System.DateTime]::UtcNow.DayOfYear.ToString("F0")) $([System.DateTime]::UtcNow.TimeOfDay.TotalMinutes.ToString("F0")) - 1.6.1 - 1.6.$(VersionBuild)-dev.$(VersionRevision) - 1.6.$(VersionBuild).$(VersionRevision) + 1.10.0 + 1.10.$(VersionBuild)-dev.$(VersionRevision) + 1.10.$(VersionBuild).$(VersionRevision) $(MSBuildThisFileDirectory) diff --git a/Activities/Database/UiPath.Database.Activities.Design/DesignerMetadata.cs b/Activities/Database/UiPath.Database.Activities.Design/DesignerMetadata.cs index 7e6bd2c32..ee01c105f 100644 --- a/Activities/Database/UiPath.Database.Activities.Design/DesignerMetadata.cs +++ b/Activities/Database/UiPath.Database.Activities.Design/DesignerMetadata.cs @@ -41,8 +41,8 @@ public void Register() builder.AddCustomAttributes(typeof(DatabaseConnect), new DesignerAttribute(typeof(ConnectDatabaseDesigner))); builder.AddCustomAttributes(typeof(DatabaseDisconnect), new DesignerAttribute(typeof(DisconnectDesigner))); builder.AddCustomAttributes(typeof(DatabaseTransaction), new DesignerAttribute(typeof(ConnectDatabaseDesigner))); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), new DesignerAttribute(typeof(GenericDatabaseDesigner))); - builder.AddCustomAttributes(typeof(ExecuteQuery), new DesignerAttribute(typeof(GenericDatabaseDesigner))); + builder.AddCustomAttributes(typeof(ExecuteNonQuery), new DesignerAttribute(typeof(ExecuteNonQueryDesigner))); + builder.AddCustomAttributes(typeof(ExecuteQuery), new DesignerAttribute(typeof(ExecuteQueryDesigner))); builder.AddCustomAttributes(typeof(InsertDataTable), new DesignerAttribute(typeof(InsertDataTableDesigner))); builder.AddCustomAttributes(typeof(BulkInsert), new DesignerAttribute(typeof(BulkInsertDesigner))); builder.AddCustomAttributes(typeof(BulkUpdate), new DesignerAttribute(typeof(BulkUpdateDesigner))); @@ -82,103 +82,11 @@ public void Register() builder.AddCustomAttributes(typeof(BulkInsert), appIntegrationDatabaseCategoryAttribute); builder.AddCustomAttributes(typeof(BulkUpdate), appIntegrationDatabaseCategoryAttribute); - AddDescription(builder); + AddToAll(builder, typeof(DatabaseConnect).Assembly, nameof(Activity.DisplayName), new DisplayNameAttribute(Resources.DisplayName)); MetadataStore.AddAttributeTable(builder.CreateTable()); } - private static void AddDescription(AttributeTableBuilder builder) - { - // Activities - builder.AddCustomAttributes(typeof(DatabaseConnect), new DescriptionAttribute(Resources.DatabaseConnectDescription)); - builder.AddCustomAttributes(typeof(DatabaseDisconnect), new DescriptionAttribute(Resources.DatabaseDisconnectDescription)); - builder.AddCustomAttributes(typeof(DatabaseTransaction), new DescriptionAttribute(Resources.DbTransactionDescription)); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), new DescriptionAttribute(Resources.ExecuteNonQueryDescription)); - builder.AddCustomAttributes(typeof(ExecuteQuery), new DescriptionAttribute(Resources.ExecuteQueryDescription)); - builder.AddCustomAttributes(typeof(InsertDataTable), new DescriptionAttribute(Resources.InsertDataTableDescription)); - builder.AddCustomAttributes(typeof(BulkInsert), new DescriptionAttribute(Resources.BulkInsertDescription)); - builder.AddCustomAttributes(typeof(BulkUpdate), new DescriptionAttribute(Resources.BulkUpdateDescription)); - - // Properties and Descriptions - var AffectedRecordsDescription = new DescriptionAttribute(Resources.AffectedRecordsDescription); - var AffectedRecordsInsertDescription = new DescriptionAttribute(Resources.AffectedRecordsInsertDescription); - var AffectedRecordsUpdateDescription = new DescriptionAttribute(Resources.AffectedRecordsUpdateDescription); - var CommandTypeDescription = new DescriptionAttribute(Resources.CommandTypeDescription); - var connectionString = new DescriptionAttribute(Resources.ConnectionStringDescription); - var connectionSecureString = new DescriptionAttribute(Resources.ConnectionSecureStringDescription); - var ContinueOnError = new DescriptionAttribute(Resources.ContinueOnError); - var DatabaseConnectionDescription = new DescriptionAttribute(Resources.DatabaseConnectionDescription); - var DataTableDescription = new DescriptionAttribute(Resources.DataTableDescription); - var ExistingDbConnectionDescription = new DescriptionAttribute(Resources.ExistingDbConnectionDescription); - var InserDataTableInputDescription = new DescriptionAttribute(Resources.InserDataTableInputDescription); - var UpdateDataTableInputDescription = new DescriptionAttribute(Resources.UpdateDataTableInputDescription); - var parameters = new DescriptionAttribute(Resources.ParametersDescription); - var providerName = new DescriptionAttribute(Resources.ProviderNameDescription); - var QueryTimeoutMSDescription = new DescriptionAttribute(Resources.QueryTimeoutMSDescription); - var SqlDescription = new DescriptionAttribute(Resources.SqlDescription); - var TableNameDescription = new DescriptionAttribute(Resources.TableNameDescription); - var BulkFlagDescription = new DescriptionAttribute(Resources.BulkFlagDescription); - var TimeoutMSDescription = new DescriptionAttribute(Resources.TimeoutMSDescription); - var UseTransactionDescription = new DescriptionAttribute(Resources.UseTransactionDescription); - - builder.AddCustomAttributes(typeof(DatabaseTransaction), nameof(DatabaseTransaction.ConnectionString), connectionString); - builder.AddCustomAttributes(typeof(DatabaseTransaction), nameof(DatabaseTransaction.ConnectionSecureString), connectionSecureString); - builder.AddCustomAttributes(typeof(DatabaseTransaction), nameof(DatabaseTransaction.ContinueOnError), ContinueOnError); - builder.AddCustomAttributes(typeof(DatabaseTransaction), nameof(DatabaseTransaction.DatabaseConnection), DatabaseConnectionDescription); - builder.AddCustomAttributes(typeof(DatabaseTransaction), nameof(DatabaseTransaction.ExistingDbConnection), ExistingDbConnectionDescription); - builder.AddCustomAttributes(typeof(DatabaseTransaction), nameof(DatabaseTransaction.ProviderName), providerName); - builder.AddCustomAttributes(typeof(DatabaseTransaction), nameof(DatabaseTransaction.UseTransaction), UseTransactionDescription); - - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteNonQuery.ConnectionString), connectionString); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteNonQuery.ConnectionSecureString), connectionSecureString); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteNonQuery.ProviderName), providerName); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteQuery.CommandType), CommandTypeDescription); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteQuery.ContinueOnError), ContinueOnError); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteQuery.DataTable), DataTableDescription); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteQuery.ExistingDbConnection), ExistingDbConnectionDescription); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteQuery.Parameters), parameters); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteQuery.Sql), SqlDescription); - builder.AddCustomAttributes(typeof(ExecuteQuery), nameof(ExecuteQuery.TimeoutMS), QueryTimeoutMSDescription); - - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.AffectedRecords), AffectedRecordsDescription); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.CommandType), CommandTypeDescription); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.ConnectionString), connectionString); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.ConnectionSecureString), connectionSecureString); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.ContinueOnError), ContinueOnError); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.ExistingDbConnection), ExistingDbConnectionDescription); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.Parameters), parameters); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.ProviderName), providerName); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.Sql), SqlDescription); - builder.AddCustomAttributes(typeof(ExecuteNonQuery), nameof(ExecuteNonQuery.TimeoutMS), TimeoutMSDescription); - - builder.AddCustomAttributes(typeof(InsertDataTable), nameof(InsertDataTable.AffectedRecords), AffectedRecordsInsertDescription); - builder.AddCustomAttributes(typeof(InsertDataTable), nameof(InsertDataTable.ConnectionString), connectionString); - builder.AddCustomAttributes(typeof(InsertDataTable), nameof(InsertDataTable.ConnectionSecureString), connectionSecureString); - builder.AddCustomAttributes(typeof(InsertDataTable), nameof(InsertDataTable.ContinueOnError), ContinueOnError); - builder.AddCustomAttributes(typeof(InsertDataTable), nameof(InsertDataTable.DataTable), InserDataTableInputDescription); - builder.AddCustomAttributes(typeof(InsertDataTable), nameof(InsertDataTable.ExistingDbConnection), ExistingDbConnectionDescription); - builder.AddCustomAttributes(typeof(InsertDataTable), nameof(InsertDataTable.ProviderName), providerName); - builder.AddCustomAttributes(typeof(InsertDataTable), nameof(InsertDataTable.TableName), TableNameDescription); - - builder.AddCustomAttributes(typeof(BulkUpdate), nameof(BulkUpdate.AffectedRecords), AffectedRecordsUpdateDescription); - builder.AddCustomAttributes(typeof(BulkUpdate), nameof(BulkUpdate.ConnectionString), connectionString); - builder.AddCustomAttributes(typeof(BulkUpdate), nameof(BulkUpdate.ContinueOnError), ContinueOnError); - builder.AddCustomAttributes(typeof(BulkUpdate), nameof(BulkUpdate.DataTable), UpdateDataTableInputDescription); - builder.AddCustomAttributes(typeof(BulkUpdate), nameof(BulkUpdate.ExistingDbConnection), ExistingDbConnectionDescription); - builder.AddCustomAttributes(typeof(BulkUpdate), nameof(BulkUpdate.ProviderName), providerName); - builder.AddCustomAttributes(typeof(BulkUpdate), nameof(BulkUpdate.TableName), TableNameDescription); - builder.AddCustomAttributes(typeof(BulkUpdate), nameof(BulkUpdate.BulkUpdateFlag), BulkFlagDescription); - - builder.AddCustomAttributes(typeof(DatabaseConnect), nameof(DatabaseConnect.ConnectionString), connectionString); - builder.AddCustomAttributes(typeof(DatabaseConnect), nameof(DatabaseConnect.ConnectionSecureString), connectionSecureString); - builder.AddCustomAttributes(typeof(DatabaseConnect), nameof(DatabaseConnect.DatabaseConnection), DatabaseConnectionDescription); - builder.AddCustomAttributes(typeof(DatabaseConnect), nameof(DatabaseConnect.ProviderName), providerName); - - builder.AddCustomAttributes(typeof(DatabaseDisconnect), nameof(DatabaseConnect.DatabaseConnection), DatabaseConnectionDescription); - - AddToAll(builder, typeof(DatabaseConnect).Assembly, nameof(Activity.DisplayName), new DisplayNameAttribute(Resources.DisplayName)); - } - private static void AddToAll(AttributeTableBuilder builder, Assembly asmb, string propName, DisplayNameAttribute attr) { var activities = asmb.GetExportedTypes().Where(a => typeof(Activity).IsAssignableFrom(a)); diff --git a/Activities/Database/UiPath.Database.Activities.Design/Dialogs/ConnectionDialog.xaml.cs b/Activities/Database/UiPath.Database.Activities.Design/Dialogs/ConnectionDialog.xaml.cs index aa5a6680f..9a3daa553 100644 --- a/Activities/Database/UiPath.Database.Activities.Design/Dialogs/ConnectionDialog.xaml.cs +++ b/Activities/Database/UiPath.Database.Activities.Design/Dialogs/ConnectionDialog.xaml.cs @@ -16,6 +16,10 @@ namespace UiPath.Database.Activities.Design /// public partial class ConnectionDialog : WorkflowElementDialog { + private const string DefaultSqlClient = "System.Data.SqlClient"; + private const string MicrosoftSqlClient = "Microsoft.Data.SqlClient"; + private const string OracleClient = "Oracle.ManagedDataAccess.Client"; + public static List ProviderNames { get; set; } public ConnectionDialog(ModelItem modelItem) @@ -23,10 +27,11 @@ public ConnectionDialog(ModelItem modelItem) ProviderNames = new List(); List providers = new List(); #if NETFRAMEWORK - providers.Add("Oracle.ManagedDataAccess.Client"); + providers.Add(OracleClient); + providers.Add(MicrosoftSqlClient); #endif #if NETCOREAPP - DbProviderFactories.RegisterFactory("System.Data.SqlClient", System.Data.SqlClient.SqlClientFactory.Instance); + DbProviderFactories.RegisterFactory("Microsoft.Data.SqlClient", Microsoft.Data.SqlClient.SqlClientFactory.Instance); DbProviderFactories.RegisterFactory("System.Data.OleDb", System.Data.OleDb.OleDbFactory.Instance); DbProviderFactories.RegisterFactory("System.Data.Odbc", System.Data.Odbc.OdbcFactory.Instance); DbProviderFactories.RegisterFactory("Oracle.ManagedDataAccess.Client", Oracle.ManagedDataAccess.Client.OracleClientFactory.Instance); @@ -34,7 +39,8 @@ public ConnectionDialog(ModelItem modelItem) var installedProviders = DbProviderFactories.GetFactoryClasses(); foreach (DataRow installedProvider in installedProviders.Rows) { - ProviderNames.Add(installedProvider["InvariantName"] as string); + if((installedProvider["InvariantName"] as string).ToLower() != DefaultSqlClient) + ProviderNames.Add(installedProvider["InvariantName"] as string); } foreach (var provider in providers) if (!ProviderNames.Contains(provider)) diff --git a/Activities/Database/UiPath.Database.Activities.Design/ExecuteNonQueryDesigner.xaml b/Activities/Database/UiPath.Database.Activities.Design/ExecuteNonQueryDesigner.xaml new file mode 100644 index 000000000..2ff9bcddf --- /dev/null +++ b/Activities/Database/UiPath.Database.Activities.Design/ExecuteNonQueryDesigner.xaml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + +