Skip to content

Commit 2fa9584

Browse files
authored
Task/rdmp 339 prep v9.0.3 (#2242)
* fix extraction add catalogues * remove filter * update rsa * revert key * update deps * update release date * delete key * add try * remove rsa key from gh actions * fix runner * update tests * use test env variable * add check * remove test * tidy up * change RSA key * re-add tests * tidy up * fix test * tidy up * remove password test for new key * update deps * tidy up
1 parent c784a90 commit 2fa9584

File tree

8 files changed

+31
-79
lines changed

8 files changed

+31
-79
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ jobs:
1515
tests_db:
1616
name: Run Database Tests
1717
runs-on: windows-latest
18-
env:
19-
RDMP_KEY_LOCATION: D:\a\RDMP\RDMP\key\private-key.xml
2018
steps:
2119
- name: Checkout code
2220
uses: actions/checkout@v4
@@ -29,12 +27,6 @@ jobs:
2927
CatalogueConnectionString: Server=(localdb)\MSSQLLocalDB;Database=TEST_Catalogue;Trusted_Connection=True;TrustServerCertificate=true;
3028
DataExportConnectionString: Server=(localdb)\MSSQLLocalDB;Database=TEST_DataExport;Trusted_Connection=True;TrustServerCertificate=true;
3129
EOF
32-
- name: Set RSA Key
33-
run: |
34-
$SavePath="D:\a\RDMP\RDMP\key"
35-
New-Item -ItemType Directory -Force -Path $SavePath | Out-Null
36-
$text="<?xml version=""1.0"" encoding=""utf-16""?><RSAParameters xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""><Modulus>5CBYA/4GKu57eepMM5dHguZR6QxPakujvUPq81YQlAs9XdAS5OugT9xYATXV0ZUVeQrtCOj1jjS6cSnekJKzXMD48H2IbT+ImRVqyjE19dgeeZtK1cGa8wDKTdNtjo+ur2iaMzItE3VChcMidWncQpiieieSUwQ81uoab7foVdaQm078TzlHLaWiSyAPCOOIeeO2q7HEjVPkbiqCGl2Lkrzvzct84SDMFkyQXzXVJCfdlFn5bX3/8OwC9gWVICPBVbVFZZQ3skUKFqK/aYcgJL/svDyhFsj89TK3xzz8YE1r8VwxVtvqLfRXrWqUCV1n2vEm4XUjuTwQi2nwclREuQ==</Modulus><Exponent>AQAB</Exponent><P>+zfBbR8e3gLc5TDOSoyjclKdPyl62BZvp0kdlmihI5rJ/Bk+CnymYr22vBbWe/wJugWL4bLEAMWiWsa0ri0mJig24aJZ+DMEJDh+wz4J70OBbsE7jydw9whkt6r/8dYCwE2L4aKlL5pUOL/DzgQJ6vxkQ3UAjYMvEzBPapd7Z7c=</P><Q>6HgO3YVz2umROVrHkQ0xa+4a+EMZVAEBhS+ZuJ5KhXBomxYptfAud0WmGN1zOM7TpBYnk8IBx2kuBKoAavFtjbjsoINVxlLlUvUDEJmeElVz5TqRRCNEChY0sfDlR9gVIopB/p7BU5SFRz5i7+qpsWzWdBU/BR93K2vJNsj2Vw8=</Q><DP>ecv4bY1vC7hbnIrjGWXCQMUpE9xqgKWwEGz0eV3U8kwzrZQXbkIs8SaFl/+Cka4KkTPrM8vWF4G6S0SXiPK+0jUhFpf+AsXJNj5lxwcnDeeusyHgXHGE5WAeZKX1XSyjPNTcAtM2PzQVrUXcCuAOZu1jNwlc8T8u7aC4gDddT1U=</DP><DQ>KNlP42Ub4o/AUQ++maJz2L9SReWkgbpbhgfDP0mxVplWCEpwseOuho7ajOv83zKYxfCOq8wfe+bjizZENIaP9aNVES+C1wKiAV3EWBpmSFpzrwgHlq2LuyoDwHDQGTvDGvqodhF3bzRd5xLzV60ofGDfni5NkJzi1+JszQ+rGck=</DQ><InverseQ>BC4M2rtw/lHKW8gDVcQSB1a1yWlgtLqtoX+krelqO59/6Np2ApsPc43SUoy4PY1f+Oxf+Erik1NM1+TRucVBGB8AP1q0SFuTsmWiLE9zv/1zjeJJLOoPbpGia+bQ/r7fP+ZhBK8ldae7FAOctcoSfQ0jAn2IBpDyvlAlcnwRvwQ=</InverseQ><D>q1e/w//gEg7dn0xjv7w4chEcJLaiT2xQp6+DoRFbklZ+2R+XkWmJF3KghwgweSJI5olWUALprM3d23FfQaduIJSwZbFj7upxZsm3U/ZyWRzihuQk6ThpcWt+h8Xt283/nrAqYZmmUZ8ZP+64ywef8EVEhAuE0+Wy7JkZEiBH2W/MEXUvbMV8w282/X6H8zpIkHgjMvy/rouDMFA+ZLR9OOCofw7aVV9VivOVCVIhWe+inrQzG3UCLEEmKNOy0FmqQYvZ4vtwJ+kAByo6xW2YO9cHtEJFiKrZ1O2A0P0xtziOqStDq6JqoeE/bty8y3oM3HPyXMZXG2ecLuwbP4usoQ==</D></RSAParameters>"
37-
$text| Out-File $SavePath\private-key.xml
3830
- name: Build
3931
run: |
4032
dotnet build --configuration Release --verbosity minimal
@@ -90,8 +82,6 @@ jobs:
9082
tests_file_system:
9183
name: Run File System Tests
9284
runs-on: windows-latest
93-
env:
94-
RDMP_KEY_LOCATION: D:\a\RDMP\RDMP\key\private-key.xml
9585
steps:
9686
- name: Checkout code
9787
uses: actions/checkout@v4
@@ -104,12 +94,6 @@ jobs:
10494
CatalogueConnectionString: Server=(localdb)\MSSQLLocalDB;Database=TEST_Catalogue;Trusted_Connection=True;TrustServerCertificate=true;
10595
DataExportConnectionString: Server=(localdb)\MSSQLLocalDB;Database=TEST_DataExport;Trusted_Connection=True;TrustServerCertificate=true;
10696
EOF
107-
- name: Set RSA Key
108-
run: |
109-
$SavePath="D:\a\RDMP\RDMP\key"
110-
New-Item -ItemType Directory -Force -Path $SavePath | Out-Null
111-
$text="<?xml version=""1.0"" encoding=""utf-16""?><RSAParameters xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""><Modulus>5CBYA/4GKu57eepMM5dHguZR6QxPakujvUPq81YQlAs9XdAS5OugT9xYATXV0ZUVeQrtCOj1jjS6cSnekJKzXMD48H2IbT+ImRVqyjE19dgeeZtK1cGa8wDKTdNtjo+ur2iaMzItE3VChcMidWncQpiieieSUwQ81uoab7foVdaQm078TzlHLaWiSyAPCOOIeeO2q7HEjVPkbiqCGl2Lkrzvzct84SDMFkyQXzXVJCfdlFn5bX3/8OwC9gWVICPBVbVFZZQ3skUKFqK/aYcgJL/svDyhFsj89TK3xzz8YE1r8VwxVtvqLfRXrWqUCV1n2vEm4XUjuTwQi2nwclREuQ==</Modulus><Exponent>AQAB</Exponent><P>+zfBbR8e3gLc5TDOSoyjclKdPyl62BZvp0kdlmihI5rJ/Bk+CnymYr22vBbWe/wJugWL4bLEAMWiWsa0ri0mJig24aJZ+DMEJDh+wz4J70OBbsE7jydw9whkt6r/8dYCwE2L4aKlL5pUOL/DzgQJ6vxkQ3UAjYMvEzBPapd7Z7c=</P><Q>6HgO3YVz2umROVrHkQ0xa+4a+EMZVAEBhS+ZuJ5KhXBomxYptfAud0WmGN1zOM7TpBYnk8IBx2kuBKoAavFtjbjsoINVxlLlUvUDEJmeElVz5TqRRCNEChY0sfDlR9gVIopB/p7BU5SFRz5i7+qpsWzWdBU/BR93K2vJNsj2Vw8=</Q><DP>ecv4bY1vC7hbnIrjGWXCQMUpE9xqgKWwEGz0eV3U8kwzrZQXbkIs8SaFl/+Cka4KkTPrM8vWF4G6S0SXiPK+0jUhFpf+AsXJNj5lxwcnDeeusyHgXHGE5WAeZKX1XSyjPNTcAtM2PzQVrUXcCuAOZu1jNwlc8T8u7aC4gDddT1U=</DP><DQ>KNlP42Ub4o/AUQ++maJz2L9SReWkgbpbhgfDP0mxVplWCEpwseOuho7ajOv83zKYxfCOq8wfe+bjizZENIaP9aNVES+C1wKiAV3EWBpmSFpzrwgHlq2LuyoDwHDQGTvDGvqodhF3bzRd5xLzV60ofGDfni5NkJzi1+JszQ+rGck=</DQ><InverseQ>BC4M2rtw/lHKW8gDVcQSB1a1yWlgtLqtoX+krelqO59/6Np2ApsPc43SUoy4PY1f+Oxf+Erik1NM1+TRucVBGB8AP1q0SFuTsmWiLE9zv/1zjeJJLOoPbpGia+bQ/r7fP+ZhBK8ldae7FAOctcoSfQ0jAn2IBpDyvlAlcnwRvwQ=</InverseQ><D>q1e/w//gEg7dn0xjv7w4chEcJLaiT2xQp6+DoRFbklZ+2R+XkWmJF3KghwgweSJI5olWUALprM3d23FfQaduIJSwZbFj7upxZsm3U/ZyWRzihuQk6ThpcWt+h8Xt283/nrAqYZmmUZ8ZP+64ywef8EVEhAuE0+Wy7JkZEiBH2W/MEXUvbMV8w282/X6H8zpIkHgjMvy/rouDMFA+ZLR9OOCofw7aVV9VivOVCVIhWe+inrQzG3UCLEEmKNOy0FmqQYvZ4vtwJ+kAByo6xW2YO9cHtEJFiKrZ1O2A0P0xtziOqStDq6JqoeE/bty8y3oM3HPyXMZXG2ecLuwbP4usoQ==</D></RSAParameters>"
112-
$text| Out-File $SavePath\private-key.xml
11397
- name: Build
11498
run: |
11599
dotnet build --configuration Release --verbosity minimal
@@ -323,4 +307,4 @@ jobs:
323307
file: dist/*
324308
tag: ${{ github.ref }}
325309
overwrite: true
326-
file_glob: true
310+
file_glob: true

CHANGELOG.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7-
## [9.0.2] - Unreleased
7+
## [9.0.2] - 2025-10-21
88
- Add ability to view logs as a flat list. Default settings can be updated via user settings
9-
- allow the use of Catalogue CIC filters in coresponding Extractions
109
- Add Data Load component to allow SQL to be executed on an external database server
1110
- Improve Extraction Log Viewer Filter
1211
- Add Dataset Variable document to extractions

Directory.Packages.props

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
<Project>
22
<ItemGroup>
3-
<PackageVersion Include="AWSSDK.S3" Version="4.0.6" />
4-
<PackageVersion Include="AWSSDK.SecurityToken" Version="4.0.1.5" />
5-
<PackageVersion Include="AWSSDK.SSO" Version="4.0.0.14" />
6-
<PackageVersion Include="AWSSDK.SSOOIDC" Version="4.0.0.14" />
3+
<PackageVersion Include="AWSSDK.S3" Version="4.0.7.12" />
4+
<PackageVersion Include="AWSSDK.SecurityToken" Version="4.0.2.9" />
5+
<PackageVersion Include="AWSSDK.SSO" Version="4.0.1.9" />
6+
<PackageVersion Include="AWSSDK.SSOOIDC" Version="4.0.2.6" />
77
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
88
<PackageVersion Include="Equ" Version="2.3.0" />
99
<PackageVersion Include="ExcelNumberFormat" Version="1.1.0" />
10-
<PackageVersion Include="FluentFTP" Version="53.0.1" />
10+
<PackageVersion Include="FluentFTP" Version="53.0.2" />
1111
<PackageVersion Include="HIC.SynthEHR" Version="2.0.1" />
1212
<PackageVersion Include="HIC.FAnsiSql" Version="3.2.7" />
1313
<PackageVersion Include="LibArchive.Net" Version="0.1.5" />
14-
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.7" />
14+
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.10" />
1515
<PackageVersion Include="Microsoft.Net.Sdk.Compilers.Toolset" Version="9.0.300" />
1616
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0">
1717
<PrivateAssets>all</PrivateAssets>
1818
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1919
</PackageVersion>
2020
<PackageVersion Include="Minio" Version="6.0.5" />
21-
<PackageVersion Include="MongoDB.Driver" Version="3.4.1" />
22-
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
23-
<PackageVersion Include="NPOI" Version="2.7.4" />
24-
<PackageVersion Include="NLog" Version="6.0.2" />
21+
<PackageVersion Include="MongoDB.Driver" Version="3.5.0" />
22+
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
23+
<PackageVersion Include="NPOI" Version="2.7.5" />
24+
<PackageVersion Include="NLog" Version="6.0.5" />
2525
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.11" />
26-
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="2.1.6" />
27-
<PackageVersion Include="Spectre.Console" Version="0.50.0" />
26+
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="2.1.7" />
27+
<PackageVersion Include="Spectre.Console" Version="0.52.0" />
2828
<PackageVersion Include="SSH.NET" Version="2025.0.0" />
2929
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
3030
<PackageVersion Include="Terminal.Gui" Version="1.19.0" />
@@ -33,17 +33,17 @@
3333
<PackageVersion Include="Autoupdater.NET.Official" Version="1.9.2" />
3434
<PackageVersion Include="DockPanelSuite.ThemeVS2015" Version="3.1.1" />
3535
<PackageVersion Include="System.Threading.ThreadPool" Version="4.3.0" />
36-
<PackageVersion Include="WeCantSpell.Hunspell" Version="6.0.0" />
37-
<PackageVersion Include="NUnit" Version="4.3.2" />
36+
<PackageVersion Include="WeCantSpell.Hunspell" Version="6.0.3" />
37+
<PackageVersion Include="NUnit" Version="4.4.0" />
3838
<PackageVersion Include="ObjectListView.Repack.NET6Plus" Version="2.9.5" />
3939
<PackageVersion Include="Scintilla.NET" Version="5.3.2.9" />
40-
<PackageVersion Include="System.Resources.Extensions" Version="9.0.7" />
40+
<PackageVersion Include="System.Resources.Extensions" Version="9.0.10" />
4141
<PackageVersion Include="VPKSoft.ScintillaLexers.NET" Version="1.1.16" />
4242
<PackageVersion Include="HIC.System.Windows.Forms.DataVisualization" Version="1.0.1" />
43-
<PackageVersion Include="NUnit3TestAdapter" Version="5.0.0" />
44-
<PackageVersion Include="NUnit.Analyzers" Version="4.9.2" />
43+
<PackageVersion Include="NUnit3TestAdapter" Version="5.2.0" />
44+
<PackageVersion Include="NUnit.Analyzers" Version="4.10.0" />
4545
<PackageVersion Include="NSubstitute" Version="5.3.0" />
46-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
46+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
4747
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
4848
</ItemGroup>
4949
</Project>

Rdmp.Core.Tests/Curation/Integration/EncryptionTests.cs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -240,21 +240,4 @@ public void MigrationOfOldPasswordsTest()
240240
creds.DeleteInDatabase();
241241
}
242242
}
243-
244-
[Test]
245-
public void PasswordTooLong()
246-
{
247-
if (RepositoryLocator.CatalogueRepository.EncryptionManager is PasswordEncryptionKeyLocation em &&
248-
!string.IsNullOrWhiteSpace(em.GetKeyFileLocation()))
249-
Assert.Inconclusive(
250-
"Could not run test because there is already an encryption key set up. Likely one that handles very long passwords");
251-
252-
var password = "a";
253-
for (var i = 0; i < 200; i++)
254-
password += "a";
255-
256-
var ex = Assert.Throws<InvalidOperationException>(() => TestFreakyPasswordValues(password));
257-
Assert.That(
258-
ex.Message, Is.EqualTo("The free text Value supplied to this class was too long to be encrypted (Length of string was 201)"));
259-
}
260243
}

Rdmp.Core.Tests/Curation/Integration/PasswordEncryptionKeyLocationTests.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ protected override void SetUp()
3131
public void NoKeyFileToStartWith()
3232
{
3333
var keyLocation = new PasswordEncryptionKeyLocation(CatalogueRepository);
34-
3534
//there shouldn't already be a key
3635
Assert.That(keyLocation.GetKeyFileLocation(), Is.Null);
3736

@@ -79,7 +78,6 @@ public void Encrypt()
7978

8079
Console.WriteLine($"Encrypted (stock) is:{encrypter.Value}");
8180
Console.WriteLine($"Decrypted (stock) is:{encrypter.GetDecryptedValue()}");
82-
8381
var keyLocation = new PasswordEncryptionKeyLocation(CatalogueRepository);
8482
keyLocation.CreateNewKeyFile(Path.Combine(TestContext.CurrentContext.TestDirectory, "my.key"));
8583
var p = keyLocation.OpenKeyFile();
@@ -88,7 +86,6 @@ public void Encrypt()
8886

8987
var s = CatalogueRepository.EncryptionManager.GetEncrypter();
9088
var exception = Assert.Throws<CryptographicException>(() => s.Decrypt(encrypter.Value));
91-
Assert.That(exception.Message, Does.StartWith("Could not decrypt an encrypted string, possibly you are trying to decrypt it after having changed the PrivateKey "));
9289

9390
var encrypted = s.Encrypt(value);
9491
Console.WriteLine($"Encrypted (with key) is:{encrypted}");

Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandAddDatasetsToConfiguration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public override void Execute()
9797
}, _toadd.Cast<ExtractableDataSet>().ToArray(), out var selected))
9898
return;
9999

100-
foreach (var ds in selected.Where(ds => BasicActivator.IsInteractive && ds.Catalogue.IsDeprecated && YesNo($"{ds.Catalogue.Name} is deprecated. Are you sure you wish to extract it?", "Confirm use of Deprecated Catalogue")))
100+
foreach (var ds in selected.Where(ds => !ds.Catalogue.IsDeprecated || (BasicActivator.IsInteractive && ds.Catalogue.IsDeprecated && YesNo($"{ds.Catalogue.Name} is deprecated. Are you sure you wish to extract it?", "Confirm use of Deprecated Catalogue"))))
101101
{
102102
_targetExtractionConfiguration.AddDatasetToConfiguration(ds);
103103
}

Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandCreateNewFilter.cs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -205,17 +205,6 @@ public override void Execute()
205205

206206
var c = GetCatalogue();
207207
_offerFilters = c?.GetAllFilters();
208-
if (_host is SelectedDataSets sds)
209-
{
210-
var cohortId = sds.ExtractionConfiguration.Cohort.OriginID;
211-
var cic = c.CatalogueRepository.GetObjectByID<CohortIdentificationConfiguration>(cohortId);
212-
if (cic != null)
213-
{
214-
var filters = cic.RootCohortAggregateContainer.GetAllAggregateConfigurationsRecursively().SelectMany(ac => ac.RootFilterContainer.GetAllFiltersIncludingInSubContainersRecursively());
215-
filters = filters.Where(f => f.GetCatalogue().ID == c.ID);
216-
_offerFilters = _offerFilters.Concat(filters).ToArray();
217-
}
218-
}
219208
if (_offerFilters == null || !_offerFilters.Any())
220209
SetImpossible($"There are no Filters declared in Catalogue '{c?.ToString() ?? "NULL"}'");
221210

Rdmp.Core/Curation/SimpleStringValueEncryption.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ public class SimpleStringValueEncryption : IEncryptStrings
2323

2424
private const string Key =
2525
@"<?xml version=""1.0"" encoding=""utf-16""?>
26-
<RSAParameters xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">
27-
<Exponent>AQAB</Exponent>
28-
<Modulus>sMDeszVErUmbqOxQavw5OsWpL3frccEGtTJYM8G54Fw7NK6xFVUrq79nWB6px4/B</Modulus>
29-
<P>6kcXnTVJrVuD9j6qUm+F71jIL2H92lgN</P>
30-
<Q>wSRbrdj1qGBPBnYMO5dx11gvfNCKKdWF</Q>
31-
<DP>aKdxaQzQ6Nwkyu+bbk/baNwkMOZ5W/xR</DP>
32-
<DQ>B/B8rErM3l0HIpbbrd9t2JJRcWoJI+sZ</DQ>
33-
<InverseQ>NFv4Z26nbMpOkOcAnO3rktoMffza+3Ul</InverseQ>
34-
<D>Y8zC8dUF7gI9zeeAkKfReInauV6wpg4iVh7jaTDN5DAmKFURTAyv6Il6LEyr07JB</D>
35-
</RSAParameters>";
26+
<RSAKeyValue>
27+
<Modulus>xZ7V6twqlj+3L1hsjB+BwhzQEgcs8tpqzgSjwgjPwzfisLFBN9HkwX2u+ZrgrKhKmZgSOVBYRhZiGJeF1hY5gLz3/Zo05fcvtgL0ylEhi6wnH9y6CPu8+4xCOJ26eywtNS02v2CC/0HUWnw6kNHBqdyyNjwuC12Ll5YJ3wZ1kQZ2mce3DMjpgRDvYqnm8ldwLWpgreK7I5vggQgons3v39x+Cx501Eo0qd+iHzXf6/8pUhYqb+xhDdb9gnHcitipXVFG3Ts27OUiuO0uLAO4Es400ApyWpvHdCCNrBJ/EQWZGEO/qVKmfP0CWBmokVL+IUawX9lPl/Luo9W5AFpaIQ==</Modulus>
28+
<Exponent>AQAB</Exponent>
29+
<P>xvQflEOfLYAXiMFrG/alxcgUbimbY8Qc1/3Jm21CFVrkQL1rNQ/PEXavXYyNP3jRwUrqKbJrtcdz5MPgKpvA/iWdqjp4Qx+V7N2DkdzKL7liViKoCHf1eXfyeWkCErHOgInTerOSlCaeABqkqpr+eaAtzy2j4df5U/1+j8g7I48=</P>
30+
<Q>/kjapfiD7aC1yQX8BYiJ29oTlvZx0sptfXA0Bx9qXvd1UFTqjDbVoIF7tXk+DsottRL97G52ImpYf4w4wJFb1F+d5sQCaCrEzIdQ/4mJdpn7FLYxErYXpoZl0e2knIoqQie7+vaw2oV9YSx3iJHoEVfDM+0NAW+aCUUJGNorD08=</Q>
31+
<DP>mAYms0ZQtZXxZcBWNhHsbgsLAXqtkDhkye7VRPzhyCuhyo5zAyLHWVLVgahKrjuGHCtAbwg1Ibv8pMu/2Q8XE5xus4rmJnRWPZ6uUKDjpkAEEkl9GKuBWYX8NCW3Pc28O6AVhub8lFRF21KAjRTOauWo22zGk2ZS0IkdUoTwG6U=</DP>
32+
<DQ>nQsrllNMT0bw3k0G3/f6hEBD1vkvROrmAhF44GlDjZEw78Lx9FStTOqLF4HglMvCvNEU55808H5TV7qnFi7v0tKWt32YqvK3BkYP/THZJtlkWt9GoXK6WosoeSVWg6NFBAR8MTuH7/1/eLM4w6yw8X0NPpWJcbiWHmF3g9TBwTs=</DQ>
33+
<InverseQ>fbI4APSSbOOd07goBWzZYjdrEVEZDiboK4jFKYoMI19PrbQBTvpRmLsJxhg96fgjiFfmw05tsPIsLSQPczsav6JDq25sQyOaz7VE33Y8CEV4rVvI+l7vlWqvn/EfThPqYdR4UOHa6G5wcBTI48O4+SmKMhLQl1GK/ZA+XEmlHx8=</InverseQ>
34+
<D>QC+Uv1F/K4nKT8BikShylr+Q/SoDeWVjp0Juhcki4f82y7jmu+CachYGTN/29V07zaNM1/y2jx0aA27Dc4OIbb3ythXt9HtSrcVMCKJNSPZDRuAENIK/INyvbYAdX4A7trfWvlX0dj/FXxZWV08pnagm4eKt+dcKTdPXpO6OJOnnSYMcdRBFdZLAj/sh8oMNXMHSxsCA7YHjL+4NGbpyTMYnfa6CUxFc36cLi2/Hm6JhV1nYEswTI5T1qRqmWpF1+H0ksxLKx6I5D61mzfaf7RQPJRCLhddXoLPIh8IaoNIomPcZyZQBxwBhtgj8pf9rcBN50aqNc5V2vKoEOt/gGQ==</D>
35+
</RSAKeyValue>";
3636

3737
private readonly string _parameters;
3838

0 commit comments

Comments
 (0)