summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--BouncyCastle-PCL.sln46
-rw-r--r--BouncyCastle.Mobile.sln38
-rw-r--r--BouncyCastle.sln39
-rw-r--r--GitVersionConfig.yaml13
-rw-r--r--License.html39
-rw-r--r--Portable.BouncyCastle.nuspec109
-rw-r--r--README.md7
-rw-r--r--appveyor.yml28
-rw-r--r--crypto.tests.Net45/Properties/AssemblyInfo.cs36
-rw-r--r--crypto.tests.Net45/crypto.tests.Net45.csproj92
-rw-r--r--crypto.tests.Net45/packages.config5
-rw-r--r--crypto/BouncyCastle.Android.csproj1548
-rw-r--r--crypto/BouncyCastle.csproj1542
-rw-r--r--crypto/BouncyCastle.iOS.csproj1543
-rw-r--r--crypto/crypto.Net45.csproj54
-rw-r--r--crypto/crypto.dotnet.csproj98
-rw-r--r--crypto/crypto.dotnet.project.json17
-rw-r--r--crypto/crypto.pcl.csproj106
-rw-r--r--crypto/crypto.pcl2.csproj92
-rw-r--r--crypto/src/AssemblyInfo.cs62
-rw-r--r--crypto/src/asn1/DerUTCTime.cs2
-rw-r--r--crypto/src/asn1/util/Dump.cs2
-rw-r--r--crypto/src/cms/CMSEnvelopedDataStreamGenerator.cs2
-rw-r--r--crypto/src/cms/CMSProcessableFile.cs8
-rw-r--r--crypto/src/cms/CMSSignedDataStreamGenerator.cs86
-rw-r--r--crypto/src/crypto.csproj41
-rw-r--r--crypto/src/crypto/engines/NaccacheSternEngine.cs6
-rw-r--r--crypto/src/crypto/generators/NaccacheSternKeyPairGenerator.cs8
-rw-r--r--crypto/src/crypto/prng/ThreadedSeedGenerator.cs132
-rw-r--r--crypto/src/openpgp/PgpLiteralDataGenerator.cs2
-rw-r--r--crypto/src/openpgp/PgpUtilities.cs2
-rw-r--r--crypto/src/pkcs/Pkcs12Store.cs174
-rw-r--r--crypto/src/util/zlib/ZDeflaterOutputStream.cs2
-rw-r--r--crypto/test/UnitTests.csproj1307
-rw-r--r--crypto/test/crypto.test.csproj27
-rw-r--r--crypto/test/lib/nunit.core.dllbin139264 -> 0 bytes
-rw-r--r--crypto/test/lib/nunit.core.interfaces.dllbin61440 -> 0 bytes
-rw-r--r--crypto/test/lib/nunit.framework.dllbin139264 -> 0 bytes
-rw-r--r--crypto/test/src/asn1/test/AdditionalInformationSyntaxUnitTest.cs5
-rw-r--r--crypto/test/src/asn1/test/AdmissionSyntaxUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/AdmissionsUnitTest.cs5
-rw-r--r--crypto/test/src/asn1/test/AllTests.cs2
-rw-r--r--crypto/test/src/asn1/test/AttributeTableUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/BiometricDataUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/BitStringTest.cs4
-rw-r--r--crypto/test/src/asn1/test/CMSTest.cs4
-rw-r--r--crypto/test/src/asn1/test/CertHashUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/CertificateTest.cs4
-rw-r--r--crypto/test/src/asn1/test/CommitmentTypeIndicationUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/CommitmentTypeQualifierUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/ContentHintsUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/CscaMasterListTest.cs4
-rw-r--r--crypto/test/src/asn1/test/DERApplicationSpecificTest.cs4
-rw-r--r--crypto/test/src/asn1/test/DERUTF8StringTest.cs4
-rw-r--r--crypto/test/src/asn1/test/DataGroupHashUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/DeclarationOfMajorityUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/EncryptedPrivateKeyInfoTest.cs4
-rw-r--r--crypto/test/src/asn1/test/EqualsAndHashCodeTest.cs6
-rw-r--r--crypto/test/src/asn1/test/EssCertIDv2UnitTest.cs5
-rw-r--r--crypto/test/src/asn1/test/GeneralNameTest.cs5
-rw-r--r--crypto/test/src/asn1/test/GeneralizedTimeTest.cs7
-rw-r--r--crypto/test/src/asn1/test/GenerationTest.cs5
-rw-r--r--crypto/test/src/asn1/test/InputStreamTest.cs5
-rw-r--r--crypto/test/src/asn1/test/Iso4217CurrencyCodeUnitTest.cs4
-rw-r--r--crypto/test/src/asn1/test/IssuingDistributionPointTest.cs6
-rw-r--r--crypto/test/src/asn1/test/KeyUsageTest.cs6
-rw-r--r--crypto/test/src/asn1/test/LDSSecurityObjectUnitTest.cs6
-rw-r--r--crypto/test/src/asn1/test/MiscTest.cs5
-rw-r--r--crypto/test/src/asn1/test/MonetaryLimitUnitTest.cs6
-rw-r--r--crypto/test/src/asn1/test/MonetaryValueUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/NameOrPseudonymUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/NamingAuthorityUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/NetscapeCertTypeTest.cs2
-rw-r--r--crypto/test/src/asn1/test/OCSPTest.cs2
-rw-r--r--crypto/test/src/asn1/test/OIDTest.cs6
-rw-r--r--crypto/test/src/asn1/test/OtherCertIDUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/OtherSigningCertificateUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/PKCS10Test.cs2
-rw-r--r--crypto/test/src/asn1/test/PKCS12Test.cs2
-rw-r--r--crypto/test/src/asn1/test/PKIFailureInfoTest.cs2
-rw-r--r--crypto/test/src/asn1/test/ParsingTest.cs2
-rw-r--r--crypto/test/src/asn1/test/PersonalDataUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/ProcurationSyntaxUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/ProfessionInfoUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/QCStatementUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/ReasonFlagsTest.cs2
-rw-r--r--crypto/test/src/asn1/test/RegressionTest.cs2
-rw-r--r--crypto/test/src/asn1/test/RequestedCertificateUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/RestrictionUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/SMIMETest.cs2
-rw-r--r--crypto/test/src/asn1/test/SemanticsInformationUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/SetTest.cs2
-rw-r--r--crypto/test/src/asn1/test/SignerLocationUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/StringTest.cs2
-rw-r--r--crypto/test/src/asn1/test/SubjectKeyIdentifierTest.cs2
-rw-r--r--crypto/test/src/asn1/test/TagTest.cs2
-rw-r--r--crypto/test/src/asn1/test/TargetInformationTest.cs2
-rw-r--r--crypto/test/src/asn1/test/TypeOfBiometricDataUnitTest.cs2
-rw-r--r--crypto/test/src/asn1/test/UTCTimeTest.cs2
-rw-r--r--crypto/test/src/asn1/test/X509ExtensionsTest.cs2
-rw-r--r--crypto/test/src/asn1/test/X509NameTest.cs2
-rw-r--r--crypto/test/src/asn1/test/X9Test.cs2
-rw-r--r--crypto/test/src/cms/test/AllTests.cs2
-rw-r--r--crypto/test/src/cms/test/AuthenticatedDataTest.cs2
-rw-r--r--crypto/test/src/cms/test/CMSTestUtil.cs4
-rw-r--r--crypto/test/src/cms/test/EnvelopedDataStreamTest.cs6
-rw-r--r--crypto/test/src/cms/test/EnvelopedDataTest.cs3
-rw-r--r--crypto/test/src/crypto/agreement/test/AllTests.cs2
-rw-r--r--crypto/test/src/crypto/agreement/test/JPakeParticipantTest.cs2
-rw-r--r--crypto/test/src/crypto/agreement/test/JPakePrimeOrderGroupTest.cs2
-rw-r--r--crypto/test/src/crypto/agreement/test/JPakeUtilitiesTest.cs2
-rw-r--r--crypto/test/src/crypto/io/test/AllTests.cs2
-rw-r--r--crypto/test/src/crypto/prng/test/CtrDrbgTest.cs2
-rw-r--r--crypto/test/src/crypto/prng/test/HMacDrbgTest.cs2
-rw-r--r--crypto/test/src/crypto/prng/test/HashDrbgTest.cs2
-rw-r--r--crypto/test/src/crypto/prng/test/X931Test.cs2
-rw-r--r--crypto/test/src/crypto/test/AESFastTest.cs2
-rw-r--r--crypto/test/src/crypto/test/AESLightTest.cs2
-rw-r--r--crypto/test/src/crypto/test/AESTest.cs2
-rw-r--r--crypto/test/src/crypto/test/AESWrapTest.cs2
-rw-r--r--crypto/test/src/crypto/test/AllTests.cs4
-rw-r--r--crypto/test/src/crypto/test/BCryptTest.cs2
-rw-r--r--crypto/test/src/crypto/test/BlowfishTest.cs2
-rw-r--r--crypto/test/src/crypto/test/CAST6Test.cs2
-rw-r--r--crypto/test/src/crypto/test/CCMTest.cs2
-rw-r--r--crypto/test/src/crypto/test/CMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/CTSTest.cs2
-rw-r--r--crypto/test/src/crypto/test/CamelliaLightTest.cs2
-rw-r--r--crypto/test/src/crypto/test/CamelliaTest.cs2
-rw-r--r--crypto/test/src/crypto/test/Cast5Test.cs2
-rw-r--r--crypto/test/src/crypto/test/ChaChaTest.cs2
-rw-r--r--crypto/test/src/crypto/test/DESTest.cs2
-rw-r--r--crypto/test/src/crypto/test/DESedeTest.cs2
-rw-r--r--crypto/test/src/crypto/test/DHKEKGeneratorTest.cs2
-rw-r--r--crypto/test/src/crypto/test/DHTest.cs2
-rw-r--r--crypto/test/src/crypto/test/DSATest.cs2
-rw-r--r--crypto/test/src/crypto/test/DSTU7564Test.cs2
-rw-r--r--crypto/test/src/crypto/test/DSTU7624Test.cs2
-rw-r--r--crypto/test/src/crypto/test/DeterministicDSATest.cs2
-rw-r--r--crypto/test/src/crypto/test/DigestRandomNumberTest.cs2
-rw-r--r--crypto/test/src/crypto/test/EAXTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ECDHKEKGeneratorTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ECGOST3410Test.cs2
-rw-r--r--crypto/test/src/crypto/test/ECIESTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ECNRTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ECTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ElGamalTest.cs2
-rw-r--r--crypto/test/src/crypto/test/EqualsHashCodeTest.cs2
-rw-r--r--crypto/test/src/crypto/test/GCMTest.cs2
-rw-r--r--crypto/test/src/crypto/test/GMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/GOST28147MacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/GOST28147Test.cs2
-rw-r--r--crypto/test/src/crypto/test/GOST3410Test.cs2
-rw-r--r--crypto/test/src/crypto/test/GOST3411DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/HCFamilyTest.cs2
-rw-r--r--crypto/test/src/crypto/test/HCFamilyVecTest.cs2
-rw-r--r--crypto/test/src/crypto/test/HKDFGeneratorTest.cs2
-rw-r--r--crypto/test/src/crypto/test/IDEATest.cs2
-rw-r--r--crypto/test/src/crypto/test/ISAACTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ISO9796Test.cs2
-rw-r--r--crypto/test/src/crypto/test/ISO9797Alg3MacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/KDF1GeneratorTest.cs2
-rw-r--r--crypto/test/src/crypto/test/KDF2GeneratorTest.cs2
-rw-r--r--crypto/test/src/crypto/test/KeccakDigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/MD2DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/MD4DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/MD5DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/MD5HMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/MGF1GeneratorTest.cs2
-rw-r--r--crypto/test/src/crypto/test/MacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ModeTest.cs2
-rw-r--r--crypto/test/src/crypto/test/NaccacheSternTest.cs2
-rw-r--r--crypto/test/src/crypto/test/NoekeonTest.cs2
-rw-r--r--crypto/test/src/crypto/test/NonMemoableDigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/NullTest.cs2
-rw-r--r--crypto/test/src/crypto/test/OAEPTest.cs2
-rw-r--r--crypto/test/src/crypto/test/OCBTest.cs2
-rw-r--r--crypto/test/src/crypto/test/OpenBsdBCryptTest.cs2
-rw-r--r--crypto/test/src/crypto/test/PSSBlindTest.cs2
-rw-r--r--crypto/test/src/crypto/test/PSSTest.cs2
-rw-r--r--crypto/test/src/crypto/test/PaddingTest.cs2
-rw-r--r--crypto/test/src/crypto/test/Pkcs12Test.cs2
-rw-r--r--crypto/test/src/crypto/test/Pkcs5Test.cs2
-rw-r--r--crypto/test/src/crypto/test/Poly1305Test.cs2
-rw-r--r--crypto/test/src/crypto/test/RC2Test.cs2
-rw-r--r--crypto/test/src/crypto/test/RC2WrapTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RC4Test.cs2
-rw-r--r--crypto/test/src/crypto/test/RC5Test.cs2
-rw-r--r--crypto/test/src/crypto/test/RC6Test.cs2
-rw-r--r--crypto/test/src/crypto/test/RFC3211WrapTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RSABlindedTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RegressionTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RijndaelTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RipeMD128DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RipeMD128HMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RipeMD160DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RipeMD160HMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RipeMD256DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RipeMD320DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/RsaTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SCryptTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SEEDTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA1DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA1HMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA224DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA224HMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA256DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA256HMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA384DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA384HMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA3DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA512DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA512HMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA512t224DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SHA512t256DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SM2EngineTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SM2KeyExchangeTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SM2SignerTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SM3DigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SRP6Test.cs2
-rw-r--r--crypto/test/src/crypto/test/Salsa20Test.cs2
-rw-r--r--crypto/test/src/crypto/test/SerpentTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ShakeDigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/ShortenedDigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SipHashTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SkeinDigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SkeinMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/SkipjackTest.cs2
-rw-r--r--crypto/test/src/crypto/test/StreamCipherResetTest.cs2
-rw-r--r--crypto/test/src/crypto/test/TEATest.cs2
-rw-r--r--crypto/test/src/crypto/test/Threefish1024Test.cs2
-rw-r--r--crypto/test/src/crypto/test/Threefish256Test.cs2
-rw-r--r--crypto/test/src/crypto/test/Threefish512Test.cs2
-rw-r--r--crypto/test/src/crypto/test/TigerDigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/TnepresTest.cs2
-rw-r--r--crypto/test/src/crypto/test/TwofishTest.cs2
-rw-r--r--crypto/test/src/crypto/test/VMPCKSA3Test.cs2
-rw-r--r--crypto/test/src/crypto/test/VMPCMacTest.cs2
-rw-r--r--crypto/test/src/crypto/test/VMPCTest.cs2
-rw-r--r--crypto/test/src/crypto/test/WhirlpoolDigestTest.cs2
-rw-r--r--crypto/test/src/crypto/test/X931SignerTest.cs2
-rw-r--r--crypto/test/src/crypto/test/XSalsa20Test.cs2
-rw-r--r--crypto/test/src/crypto/test/XTEATest.cs2
-rw-r--r--crypto/test/src/crypto/tls/test/DtlsTestCase.cs8
-rw-r--r--crypto/test/src/crypto/tls/test/MockDatagramAssociation.cs6
-rw-r--r--crypto/test/src/crypto/tls/test/NetworkStream.cs9
-rw-r--r--crypto/test/src/crypto/tls/test/PipedStream.cs21
-rw-r--r--crypto/test/src/crypto/tls/test/PskTlsClientTest.cs8
-rw-r--r--crypto/test/src/crypto/tls/test/TlsClientTest.cs4
-rw-r--r--crypto/test/src/crypto/tls/test/TlsServerTest.cs6
-rw-r--r--crypto/test/src/crypto/tls/test/TlsTestCase.cs2
-rw-r--r--crypto/test/src/crypto/tls/test/TlsTestServerImpl.cs2
-rw-r--r--crypto/test/src/crypto/tls/test/TlsTestUtilities.cs2
-rw-r--r--crypto/test/src/math/ec/test/AllTests.cs2
-rw-r--r--crypto/test/src/math/ec/test/ECPointPerformanceTest.cs2
-rw-r--r--crypto/test/src/math/ec/test/F2mProofer.cs2
-rw-r--r--crypto/test/src/math/test/AllTests.cs2
-rw-r--r--crypto/test/src/ocsp/test/AllTests.cs2
-rw-r--r--crypto/test/src/ocsp/test/OCSPTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PGPArmoredTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PGPClearSignedSignatureTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PGPCompressionTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PGPDSAElGamalTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PGPDSATest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PGPNoPrivateKeyTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PGPPBETest.cs46
-rw-r--r--crypto/test/src/openpgp/test/PGPPacketTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PGPRSATest.cs58
-rw-r--r--crypto/test/src/openpgp/test/PGPSignatureTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PgpECDHTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PgpECDsaTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PgpECMessageTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PgpKeyRingTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PgpMarkerTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PgpParsingTest.cs2
-rw-r--r--crypto/test/src/openpgp/test/PgpUnicodeTest.cs5
-rw-r--r--crypto/test/src/openpgp/test/RegressionTest.cs2
-rw-r--r--crypto/test/src/openssl/test/AllTests.cs2
-rw-r--r--crypto/test/src/openssl/test/ReaderTest.cs6
-rw-r--r--crypto/test/src/openssl/test/WriterTest.cs2
-rw-r--r--crypto/test/src/pkcs/test/EncryptedPrivateKeyInfoTest.cs2
-rw-r--r--crypto/test/src/pkcs/test/PKCS10Test.cs2
-rw-r--r--crypto/test/src/pkcs/test/PKCS12StoreTest.cs2
-rw-r--r--crypto/test/src/security/test/TestMacUtil.cs7
-rw-r--r--crypto/test/src/security/test/TestParameterUtil.cs4
-rw-r--r--crypto/test/src/security/test/TestSignerUtil.cs2
-rw-r--r--crypto/test/src/test/AESSICTest.cs2
-rw-r--r--crypto/test/src/test/AESTest.cs2
-rw-r--r--crypto/test/src/test/AttrCertSelectorTest.cs2
-rw-r--r--crypto/test/src/test/AttrCertTest.cs2
-rw-r--r--crypto/test/src/test/BlockCipherTest.cs6
-rw-r--r--crypto/test/src/test/CMacTest.cs2
-rw-r--r--crypto/test/src/test/CRL5Test.cs2
-rw-r--r--crypto/test/src/test/CamelliaTest.cs2
-rw-r--r--crypto/test/src/test/CertPathBuilderTest.cs2
-rw-r--r--crypto/test/src/test/CertPathTest.cs2
-rw-r--r--crypto/test/src/test/CertPathValidatorTest.cs2
-rw-r--r--crypto/test/src/test/CertTest.cs2
-rw-r--r--crypto/test/src/test/CipherStreamTest.cs2
-rw-r--r--crypto/test/src/test/DESedeTest.cs2
-rw-r--r--crypto/test/src/test/DHTest.cs2
-rw-r--r--crypto/test/src/test/DSATest.cs2
-rw-r--r--crypto/test/src/test/DigestTest.cs2
-rw-r--r--crypto/test/src/test/ECDSA5Test.cs2
-rw-r--r--crypto/test/src/test/ECEncodingTest.cs2
-rw-r--r--crypto/test/src/test/ECNRTest.cs2
-rw-r--r--crypto/test/src/test/ElGamalTest.cs2
-rw-r--r--crypto/test/src/test/EncryptedPrivateKeyInfoTest.cs2
-rw-r--r--crypto/test/src/test/FIPSDESTest.cs2
-rw-r--r--crypto/test/src/test/GOST28147Test.cs2
-rw-r--r--crypto/test/src/test/GOST3410Test.cs2
-rw-r--r--crypto/test/src/test/HMacTest.cs2
-rw-r--r--crypto/test/src/test/IESTest.cs2
-rw-r--r--crypto/test/src/test/MacTest.cs2
-rw-r--r--crypto/test/src/test/MqvTest.cs2
-rw-r--r--crypto/test/src/test/NamedCurveTest.cs2
-rw-r--r--crypto/test/src/test/NistCertPathTest.cs2
-rw-r--r--crypto/test/src/test/NoekeonTest.cs2
-rw-r--r--crypto/test/src/test/PBETest.cs2
-rw-r--r--crypto/test/src/test/PKCS10CertRequestTest.cs2
-rw-r--r--crypto/test/src/test/PSSTest.cs2
-rw-r--r--crypto/test/src/test/PkixNameConstraintsTest.cs2
-rw-r--r--crypto/test/src/test/PkixPolicyMappingTest.cs2
-rw-r--r--crypto/test/src/test/PkixTest.cs2
-rw-r--r--crypto/test/src/test/RSATest.cs2
-rw-r--r--crypto/test/src/test/RegressionTest.cs2
-rw-r--r--crypto/test/src/test/SEEDTest.cs2
-rw-r--r--crypto/test/src/test/SigTest.cs2
-rw-r--r--crypto/test/src/test/WrapTest.cs2
-rw-r--r--crypto/test/src/test/X509CertificatePairTest.cs2
-rw-r--r--crypto/test/src/test/X509StoreTest.cs2
-rw-r--r--crypto/test/src/tsp/test/AllTests.cs2
-rw-r--r--crypto/test/src/util/io/pem/test/AllTests.cs2
-rw-r--r--crypto/test/src/util/test/PortableExtensions.cs22
-rw-r--r--crypto/test/src/util/test/SimpleTest.cs18
-rw-r--r--crypto/test/src/x509/test/TestCertificateGen.cs6
-rw-r--r--csharp.sln29
-rw-r--r--scripts/Sign-Package.ps125
-rw-r--r--scripts/SignClient.json13
339 files changed, 957 insertions, 7320 deletions
diff --git a/BouncyCastle-PCL.sln b/BouncyCastle-PCL.sln
deleted file mode 100644
index afd9396fa..000000000
--- a/BouncyCastle-PCL.sln
+++ /dev/null
@@ -1,46 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.24606.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{43196EF9-B75F-4ABB-8967-DAFD621A7D05}"
-	ProjectSection(SolutionItems) = preProject
-		Portable.BouncyCastle.nuspec = Portable.BouncyCastle.nuspec
-		README.md = README.md
-	EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crypto.pcl", "Crypto\crypto.pcl.csproj", "{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crypto.tests.Net45", "crypto.tests.Net45\crypto.tests.Net45.csproj", "{45473847-8AF8-4BAF-B768-442C6875B8CE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crypto.pcl2", "crypto\crypto.pcl2.csproj", "{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crypto.dotnet", "crypto\crypto.dotnet.csproj", "{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A2}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}.Release|Any CPU.Build.0 = Release|Any CPU
-		{45473847-8AF8-4BAF-B768-442C6875B8CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{45473847-8AF8-4BAF-B768-442C6875B8CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{45473847-8AF8-4BAF-B768-442C6875B8CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{45473847-8AF8-4BAF-B768-442C6875B8CE}.Release|Any CPU.Build.0 = Release|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A1}.Release|Any CPU.Build.0 = Release|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A2}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/BouncyCastle.Mobile.sln b/BouncyCastle.Mobile.sln
deleted file mode 100644
index 0b41d742d..000000000
--- a/BouncyCastle.Mobile.sln
+++ /dev/null
@@ -1,38 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncyCastle", "crypto\BouncyCastle.csproj", "{4C235092-820C-4DEB-9074-D356FB797D8B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncyCastle.iOS", "crypto\BouncyCastle.iOS.csproj", "{0249241C-205E-4AC0-828B-90F822359B9E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncyCastle.Android", "crypto\BouncyCastle.Android.csproj", "{A0D302CB-8866-4AB1-98B9-F0772EABF5DF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "crypto\test\UnitTests.csproj", "{D4EB669D-7C88-48C0-A480-C5CC73A7369B}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{0249241C-205E-4AC0-828B-90F822359B9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{0249241C-205E-4AC0-828B-90F822359B9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{0249241C-205E-4AC0-828B-90F822359B9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{0249241C-205E-4AC0-828B-90F822359B9E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{4C235092-820C-4DEB-9074-D356FB797D8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{4C235092-820C-4DEB-9074-D356FB797D8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{4C235092-820C-4DEB-9074-D356FB797D8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{4C235092-820C-4DEB-9074-D356FB797D8B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{A0D302CB-8866-4AB1-98B9-F0772EABF5DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A0D302CB-8866-4AB1-98B9-F0772EABF5DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{A0D302CB-8866-4AB1-98B9-F0772EABF5DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A0D302CB-8866-4AB1-98B9-F0772EABF5DF}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D4EB669D-7C88-48C0-A480-C5CC73A7369B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D4EB669D-7C88-48C0-A480-C5CC73A7369B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D4EB669D-7C88-48C0-A480-C5CC73A7369B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D4EB669D-7C88-48C0-A480-C5CC73A7369B}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(MonoDevelopProperties) = preSolution
-		StartupItem = crypto\BouncyCastle.csproj
-	EndGlobalSection
-EndGlobal
diff --git a/BouncyCastle.sln b/BouncyCastle.sln
index 588f3d8ca..8963c9e1f 100644
--- a/BouncyCastle.sln
+++ b/BouncyCastle.sln
@@ -1,9 +1,17 @@
 
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncyCastle", "crypto\BouncyCastle.csproj", "{4C235092-820C-4DEB-9074-D356FB797D8B}"
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26906.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{43196EF9-B75F-4ABB-8967-DAFD621A7D05}"
+	ProjectSection(SolutionItems) = preProject
+		appveyor.yml = appveyor.yml
+		README.md = README.md
+	EndProjectSection
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "crypto\test\UnitTests.csproj", "{D4EB669D-7C88-48C0-A480-C5CC73A7369B}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "crypto", "crypto\src\crypto.csproj", "{60F6E5B2-8CE6-4817-89B6-369AAE1C6187}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "crypto.test", "crypto\test\crypto.test.csproj", "{8EAF3F18-33E6-47A6-B299-4584822399B6}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,16 +19,19 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{4C235092-820C-4DEB-9074-D356FB797D8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{4C235092-820C-4DEB-9074-D356FB797D8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{4C235092-820C-4DEB-9074-D356FB797D8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{4C235092-820C-4DEB-9074-D356FB797D8B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D4EB669D-7C88-48C0-A480-C5CC73A7369B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D4EB669D-7C88-48C0-A480-C5CC73A7369B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D4EB669D-7C88-48C0-A480-C5CC73A7369B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D4EB669D-7C88-48C0-A480-C5CC73A7369B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{60F6E5B2-8CE6-4817-89B6-369AAE1C6187}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{60F6E5B2-8CE6-4817-89B6-369AAE1C6187}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{60F6E5B2-8CE6-4817-89B6-369AAE1C6187}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{60F6E5B2-8CE6-4817-89B6-369AAE1C6187}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8EAF3F18-33E6-47A6-B299-4584822399B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8EAF3F18-33E6-47A6-B299-4584822399B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8EAF3F18-33E6-47A6-B299-4584822399B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8EAF3F18-33E6-47A6-B299-4584822399B6}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
 	EndGlobalSection
-	GlobalSection(MonoDevelopProperties) = preSolution
-		StartupItem = crypto\BouncyCastle.csproj
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {BD9C9675-3AF5-41BA-8A57-7D70CAAFAA70}
 	EndGlobalSection
 EndGlobal
diff --git a/GitVersionConfig.yaml b/GitVersionConfig.yaml
new file mode 100644
index 000000000..ba842addb
--- /dev/null
+++ b/GitVersionConfig.yaml
@@ -0,0 +1,13 @@
+tag-prefix: 'pcl-[vV]'
+legacy-semver-padding: 0
+branches:
+  pcl:
+    mode: ContinuousDeployment    
+    tag: beta
+    increment: Inherit
+    regex: pcl
+  netstandard:
+    mode: ContinuousDeployment    
+    tag: beta
+    increment: Inherit
+    regex: netstandard
\ No newline at end of file
diff --git a/License.html b/License.html
new file mode 100644
index 000000000..0dae3a978
--- /dev/null
+++ b/License.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta content="text/html; charset=ISO-8859-1"
+ http-equiv="content-type">
+  <title>License</title>
+</head>
+<body>
+<h2>The Bouncy Castle Cryptographic C#&reg; API</h2>
+<h3>License:</h3>
+The Bouncy Castle License<br>
+Copyright (c) 2000-2011 The Legion Of The Bouncy Castle
+(http://www.bouncycastle.org)<br>
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"), to deal in the
+Software without restriction, including without limitation the rights to use, copy, modify, merge,
+publish, distribute, sub license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:<br>
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.<br>
+<span style="font-weight: bold;">THE SOFTWARE IS PROVIDED "AS IS",
+WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">PURPOSE AND NONINFRINGEMENT. IN NO
+EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">DEALINGS IN THE SOFTWARE.<br>
+<br>
+</span>
+</body>
+</html>
diff --git a/Portable.BouncyCastle.nuspec b/Portable.BouncyCastle.nuspec
deleted file mode 100644
index c58a23a80..000000000
--- a/Portable.BouncyCastle.nuspec
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
-  <metadata>
-    <id>Portable.BouncyCastle</id>
-    <version>1.8.0-rc3</version>
-    <title>Bouncy Castle PCL</title>
-    <authors>Oren Novotny</authors>
-    <owners>onovotny</owners>
-    <projectUrl>https://github.com/onovotny/BouncyCastle-PCL</projectUrl>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
-    <description>BouncyCastle.Crypto is a cryptography API providing:
- -Generation and parsing of PKCS#12 files.
- -X.509: Generators and parsers for V1 and V3 certificates, V2 CRLs and attribute certificates.
- -PBE algorithms supported by PBEUtil: PBEwithMD2andDES-CBC, PBEwithMD2andRC2-CBC, PBEwithMD5andDES-CBC, PBEwithMD5andRC2-CBC, PBEwithSHA1andDES-CBC, PBEwithSHA1andRC2-CBC, PBEwithSHA-1and128bitRC4, PBEwithSHA-1and40bitRC4, PBEwithSHA-1and3-keyDESEDE-CBC, PBEwithSHA-1and2-keyDESEDE-CBC, PBEwithSHA-1and128bitRC2-CBC, PBEwithSHA-1and40bitRC2-CBC, PBEwithHmacSHA-1, PBEwithHmacSHA-224, PBEwithHmacSHA-256, PBEwithHmacRIPEMD128, PBEwithHmacRIPEMD160, and PBEwithHmacRIPEMD256.
- -Signature algorithms supported by SignerUtilities: MD2withRSA, MD4withRSA, MD5withRSA, RIPEMD128withRSA, RIPEMD160withRSA, RIPEMD256withRSA, SHA-1withRSA, SHA-224withRSA, SHA-256withRSAandMGF1, SHA-384withRSAandMGF1, SHA-512withRSAandMGF1, SHA-1withDSA, and SHA-1withECDSA.
- -Symmetric key algorithms: AES, Blowfish, Camellia, CAST5, CAST6, DESede, DES, GOST28147, HC-128, HC-256, IDEA, NaccacheStern, RC2, RC4, RC5-32, RC5-64, RC6, Rijndael, Serpent, Skipjack, TEA/XTEA, Twofish, and VMPC.
- -Symmetric key modes: CBC, CFB, CTS, GOFB, OFB, OpenPGPCFB, and SIC (or CTR).
- -Symmetric key paddings: ISO10126d2, ISO7816d4, PKCS#5/7, TBC, X.923, and Zero Byte.
- -Asymmetric key algorithms: RSA (with blinding), ElGamal, DSA, ECDSA.
- -Asymmetric key paddings/encodings: ISO9796d1, OAEP, and PKCS#1.
- -Digests: GOST3411, MD2, MD4, MD5, RIPEMD128, RIPEMD160, RIPEMD256, RIPEMD320, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger, and Whirlpool.
- -Signer mechanisms: DSA, ECDSA, ECGOST3410, GOST3410, ISO9796d2, PSS, RSA.
- -Key Agreement: Diffie-Hellman and EC-DH.
- -Macs: CBCBlockCipher, CFBBlockCipher, GOST28147, HMac, and ISO9797 Alg. 3.
- -PBE generators: PKCS#12, and PKCS#5 - schemes 1 and 2.
- -OpenPGP (RFC 2440)
- -Cryptographic Message Syntax (CMS, RFC 3852), including streaming API.
- -Online Certificate Status Protocol (OCSP, RFC 2560).
- -Time Stamp Protocol (TSP, RFC 3161).
- -TLS/SSL Client with support for client side authentication.
- 
-        Support for .NET 4, Windows Phone 8, Windows Phone App 8.1, Windows 8, MonoTouch, MonoAndroid, Xamarin.iOS, Core CLR
-        </description>
-    <language>en-US</language>
-    <tags>bouncycastle, cryptography, encryption, security, PCL, wp8, wpa81, coreclr, dotnet, dnx, uwp, sl5, monotouch, monoandroid, xamarin, xamarin.ios</tags>
-    <dependencies>
-      <group targetFramework="dotnet">
-        <dependency id="System.Collections" version="4.0.10" />
-        <dependency id="System.Diagnostics.Debug" version="4.0.10" />
-        <dependency id="System.Globalization" version="4.0.10" />
-        <dependency id="System.IO" version="4.0.10" />
-        <dependency id="System.IO.FileSystem" version="4.0.0" />
-        <dependency id="System.IO.FileSystem.Primitives" version="4.0.0" />
-        <dependency id="System.Linq" version="4.0.0" />
-        <dependency id="System.Reflection" version="4.0.10" />
-        <dependency id="System.Reflection.Extensions" version="4.0.0" />
-        <dependency id="System.Runtime" version="4.0.20" />
-        <dependency id="System.Runtime.Extensions" version="4.0.10" />
-        <dependency id="System.Text.Encoding" version="4.0.10" />
-        <dependency id="System.Threading" version="4.0.10" />
-        <dependency id="System.Threading.Tasks" version="4.0.10" />
-      </group>
-      <group targetFramework="uap10.0">
-        <dependency id="System.Collections" version="4.0.10" />
-        <dependency id="System.Diagnostics.Debug" version="4.0.10" />
-        <dependency id="System.Globalization" version="4.0.10" />
-        <dependency id="System.IO" version="4.0.10" />
-        <dependency id="System.IO.FileSystem" version="4.0.0" />
-        <dependency id="System.IO.FileSystem.Primitives" version="4.0.0" />
-        <dependency id="System.Linq" version="4.0.0" />
-        <dependency id="System.Reflection" version="4.0.10" />
-        <dependency id="System.Reflection.Extensions" version="4.0.0" />
-        <dependency id="System.Runtime" version="4.0.20" />
-        <dependency id="System.Runtime.Extensions" version="4.0.10" />
-        <dependency id="System.Text.Encoding" version="4.0.10" />
-        <dependency id="System.Threading" version="4.0.10" />
-        <dependency id="System.Threading.Tasks" version="4.0.10" />
-      </group>
-      <group targetFramework="net46">
-        <dependency id="System.Collections" version="4.0.10" />
-        <dependency id="System.Diagnostics.Debug" version="4.0.10" />
-        <dependency id="System.Globalization" version="4.0.10" />
-        <dependency id="System.IO" version="4.0.10" />
-        <dependency id="System.IO.FileSystem" version="4.0.0" />
-        <dependency id="System.IO.FileSystem.Primitives" version="4.0.0" />
-        <dependency id="System.Linq" version="4.0.0" />
-        <dependency id="System.Reflection" version="4.0.10" />
-        <dependency id="System.Reflection.Extensions" version="4.0.0" />
-        <dependency id="System.Runtime" version="4.0.20" />
-        <dependency id="System.Runtime.Extensions" version="4.0.10" />
-        <dependency id="System.Text.Encoding" version="4.0.10" />
-        <dependency id="System.Threading" version="4.0.10" />
-        <dependency id="System.Threading.Tasks" version="4.0.10" />
-      </group>
-      <group targetFramework="net45" />
-      <group targetFramework="win8" />
-      <group targetFramework="wpa81" />
-      <group targetFramework="MonoTouch" />
-      <group targetFramework="MonoAndroid" />
-      <group targetFramework="XamarinMac" />
-      <group targetFramework="XamarinIos" />
-    </dependencies>
-  </metadata>
-  <files>
-    <file src="Crypto\Readme.html" target="Readme.html" />
-    <file src="Crypto\bin\pcl\Release\crypto.*" exclude="**\*.srcsrv" target="lib\portable-net4+sl5+wp8+win8+wpa81+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10" />
-    <file src="Crypto\bin\pcl2\Release\crypto.*" exclude="**\*.srcsrv" target="lib\portable-net45+win8+wpa81+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10" />
-    <file src="Crypto\bin\pcl2\Release\crypto.*" exclude="**\*.srcsrv" target="lib\net45" />
-    <file src="Crypto\bin\pcl2\Release\crypto.*" exclude="**\*.srcsrv" target="lib\win8" />
-    <file src="Crypto\bin\pcl2\Release\crypto.*" exclude="**\*.srcsrv" target="lib\wpa81" />
-    <file src="Crypto\bin\pcl2\Release\crypto.*" exclude="**\*.srcsrv" target="lib\MonoTouch" />
-    <file src="Crypto\bin\pcl2\Release\crypto.*" exclude="**\*.srcsrv" target="lib\MonoAndroid" />
-    <file src="Crypto\bin\pcl2\Release\crypto.*" exclude="**\*.srcsrv" target="lib\XamarinMac" />
-    <file src="Crypto\bin\pcl2\Release\crypto.*" exclude="**\*.srcsrv" target="lib\XamarinIos" />
-    <file src="Crypto\bin\dotnet\Release\crypto.*" exclude="**\*.srcsrv" target="lib\dotnet" />
-    <file src="Crypto\bin\dotnet\Release\crypto.*" exclude="**\*.srcsrv" target="lib\uap10.0" />
-    <file src="Crypto\bin\dotnet\Release\crypto.*" exclude="**\*.srcsrv" target="lib\net46" />
-  </files>
-</package>
\ No newline at end of file
diff --git a/README.md b/README.md
index 270d9cca5..e34728cb1 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,10 @@
+Portable.BouncyCastle
+================
+
+BouncyCastle portable version with support for .NET 4, .NET Standard 1.0-2.0, WP, Silverlight, MonoAndroid, Xamarin.iOS, .NET Core
+
+================
+
 # The Bouncy Castle Crypto Package For C Sharp
 
 The Bouncy Castle Crypto package is a C\# implementation of cryptographic algorithms and protocols, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at [http://www.bouncycastle.org](http://www.bouncycastle.org). In addition to providing basic cryptography algorithms, the package also provides support for CMS, TSP, X.509 certificate generation and a variety of other standards such as OpenPGP.
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 000000000..4ff2fa493
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,28 @@
+configuration: Release
+image: Visual Studio 2017
+
+init:
+  - git config --global core.autocrlf input
+
+environment:
+  SignClientSecret:
+    secure: mn/Un/p3QvEv5TKe2f1NGmppCIMk0jslsTaw8P4+pBQ=
+  SignClientUser:
+    secure: q9qZlA/a+Z3wQbRlcjWok/PkfODgpKNECOBCzu2yIGE=
+
+install:  
+  - cmd: nuget install SignClient -Version 0.9.1 -SolutionDir %APPVEYOR_BUILD_FOLDER% -Verbosity quiet -ExcludeVersion 
+
+build_script:
+  - cmd: msbuild /t:restore BouncyCastle.sln
+  - cmd: msbuild /t:build BouncyCastle.sln 
+  - cmd: msbuild /t:pack crypto\src\crypto.csproj /p:PackageId="Portable.BouncyCastle" /p:PackageOutputPath="%APPVEYOR_BUILD_FOLDER%"  
+  
+after_build:  
+  - ps: '.\scripts\Sign-Package.ps1'  
+  - cmd: dotnet test crypto\test\crypto.test.csproj --no-build
+
+artifacts:
+  - path: '*.nupkg'
+
+test: off
diff --git a/crypto.tests.Net45/Properties/AssemblyInfo.cs b/crypto.tests.Net45/Properties/AssemblyInfo.cs
deleted file mode 100644
index 52472faf8..000000000
--- a/crypto.tests.Net45/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("crypto.tests.Net45")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("crypto.tests.Net45")]
-[assembly: AssemblyCopyright("Copyright ©  2014")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("22ae3209-5ce9-448c-9212-04b9e8f6361e")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/crypto.tests.Net45/crypto.tests.Net45.csproj b/crypto.tests.Net45/crypto.tests.Net45.csproj
deleted file mode 100644
index de668a83d..000000000
--- a/crypto.tests.Net45/crypto.tests.Net45.csproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{45473847-8AF8-4BAF-B768-442C6875B8CE}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>crypto.tests</RootNamespace>
-    <AssemblyName>crypto.tests.Net45</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;LIB;PORTABLE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE;LIB;PORTABLE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="nunit.core, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
-      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll</HintPath>
-      <Private>False</Private>
-    </Reference>
-    <Reference Include="nunit.core.interfaces, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
-      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll</HintPath>
-      <Private>False</Private>
-    </Reference>
-    <Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
-      <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
-    <Reference Include="nunit.util, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
-      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll</HintPath>
-      <Private>False</Private>
-    </Reference>
-    <Reference Include="NUnit.VisualStudio.TestAdapter, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4cb40d35494691ac, processorArchitecture=MSIL">
-      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
-      <Private>False</Private>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\crypto\test\src\**\*.cs" Exclude="..\**\examples\*.cs">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </Compile>
-    <EmbeddedResource Include="..\crypto\test\data\**\*.*" Exclude="..\**\README.txt">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\Crypto\crypto.pcl.csproj">
-      <Project>{38872a5f-e87e-4fad-b109-8eb7b2e6a4a0}</Project>
-      <Name>crypto.pcl</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="packages.config" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/crypto.tests.Net45/packages.config b/crypto.tests.Net45/packages.config
deleted file mode 100644
index 1f8800b2c..000000000
--- a/crypto.tests.Net45/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="NUnit" version="2.6.4" targetFramework="net45" />
-  <package id="NUnitTestAdapter" version="2.0.0" targetFramework="net45" />
-</packages>
\ No newline at end of file
diff --git a/crypto/BouncyCastle.Android.csproj b/crypto/BouncyCastle.Android.csproj
deleted file mode 100644
index 59674d676..000000000
--- a/crypto/BouncyCastle.Android.csproj
+++ /dev/null
@@ -1,1548 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == 'Any CPU' ">AnyCPU</Platform>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.30703</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{A0D302CB-8866-4AB1-98B9-F0772EABF5DF}</ProjectGuid>
-    <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <RootNamespace>Org.BouncyCastle</RootNamespace>
-    <MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
-    <MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
-    <AndroidUseLatestPlatformSdk>False</AndroidUseLatestPlatformSdk>
-    <AssemblyName>BouncyCastle</AssemblyName>
-    <TargetFrameworkVersion>v4.0.3</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\lib\MonoAndroid</OutputPath>
-    <IntermediateOutputPath>obj\Debug\lib\MonoAndroid</IntermediateOutputPath>
-    <DefineConstants>DEBUG;TRACE;INCLUDE_IDEA;__MOBILE__;__ANDROID__;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AndroidLinkMode>None</AndroidLinkMode>
-    <ConsolePause>false</ConsolePause>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>full</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\lib\MonoAndroid</OutputPath>
-    <IntermediateOutputPath>obj\Release\lib\MonoAndroid</IntermediateOutputPath>
-    <DefineConstants>TRACE;INCLUDE_IDEA;__MOBILE__;__ANDROID__;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>..\BouncyCastle.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Core" />
-    <Reference Include="Mono.Android" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="bzip2\src\BZip2Constants.cs" />
-    <Compile Include="bzip2\src\CBZip2InputStream.cs" />
-    <Compile Include="bzip2\src\CBZip2OutputStream.cs" />
-    <Compile Include="bzip2\src\CRC.cs" />
-    <Compile Include="src\asn1\BERBitString.cs" />
-    <Compile Include="src\AssemblyInfo.cs" />
-    <Compile Include="src\asn1\ASN1Generator.cs" />
-    <Compile Include="src\asn1\ASN1OctetStringParser.cs" />
-    <Compile Include="src\asn1\ASN1SequenceParser.cs" />
-    <Compile Include="src\asn1\ASN1SetParser.cs" />
-    <Compile Include="src\asn1\ASN1StreamParser.cs" />
-    <Compile Include="src\asn1\ASN1TaggedObjectParser.cs" />
-    <Compile Include="src\asn1\Asn1Encodable.cs" />
-    <Compile Include="src\asn1\Asn1EncodableVector.cs" />
-    <Compile Include="src\asn1\Asn1Exception.cs" />
-    <Compile Include="src\asn1\Asn1InputStream.cs" />
-    <Compile Include="src\asn1\Asn1Null.cs" />
-    <Compile Include="src\asn1\Asn1Object.cs" />
-    <Compile Include="src\asn1\Asn1OctetString.cs" />
-    <Compile Include="src\asn1\Asn1OutputStream.cs" />
-    <Compile Include="src\asn1\Asn1ParsingException.cs" />
-    <Compile Include="src\asn1\Asn1Sequence.cs" />
-    <Compile Include="src\asn1\Asn1Set.cs" />
-    <Compile Include="src\asn1\Asn1TaggedObject.cs" />
-    <Compile Include="src\asn1\Asn1Tags.cs" />
-    <Compile Include="src\asn1\BERGenerator.cs" />
-    <Compile Include="src\asn1\BEROctetStringGenerator.cs" />
-    <Compile Include="src\asn1\BEROctetStringParser.cs" />
-    <Compile Include="src\asn1\BERSequenceGenerator.cs" />
-    <Compile Include="src\asn1\BERSequenceParser.cs" />
-    <Compile Include="src\asn1\BERSetGenerator.cs" />
-    <Compile Include="src\asn1\BERSetParser.cs" />
-    <Compile Include="src\asn1\BERTaggedObjectParser.cs" />
-    <Compile Include="src\asn1\BerApplicationSpecific.cs" />
-    <Compile Include="src\asn1\BerApplicationSpecificParser.cs" />
-    <Compile Include="src\asn1\BerNull.cs" />
-    <Compile Include="src\asn1\BerOctetString.cs" />
-    <Compile Include="src\asn1\BerOutputStream.cs" />
-    <Compile Include="src\asn1\BerSequence.cs" />
-    <Compile Include="src\asn1\BerSet.cs" />
-    <Compile Include="src\asn1\BerTaggedObject.cs" />
-    <Compile Include="src\asn1\ConstructedOctetStream.cs" />
-    <Compile Include="src\asn1\DERExternal.cs" />
-    <Compile Include="src\asn1\DERExternalParser.cs" />
-    <Compile Include="src\asn1\DERGenerator.cs" />
-    <Compile Include="src\asn1\DEROctetStringParser.cs" />
-    <Compile Include="src\asn1\DERSequenceGenerator.cs" />
-    <Compile Include="src\asn1\DERSequenceParser.cs" />
-    <Compile Include="src\asn1\DERSetGenerator.cs" />
-    <Compile Include="src\asn1\DERSetParser.cs" />
-    <Compile Include="src\asn1\DefiniteLengthInputStream.cs" />
-    <Compile Include="src\asn1\DerApplicationSpecific.cs" />
-    <Compile Include="src\asn1\DerBMPString.cs" />
-    <Compile Include="src\asn1\DerBitString.cs" />
-    <Compile Include="src\asn1\DerBoolean.cs" />
-    <Compile Include="src\asn1\DerEnumerated.cs" />
-    <Compile Include="src\asn1\DerGeneralString.cs" />
-    <Compile Include="src\asn1\DerGeneralizedTime.cs" />
-    <Compile Include="src\asn1\DerGraphicString.cs" />
-    <Compile Include="src\asn1\DerIA5String.cs" />
-    <Compile Include="src\asn1\DerInteger.cs" />
-    <Compile Include="src\asn1\DerNull.cs" />
-    <Compile Include="src\asn1\DerNumericString.cs" />
-    <Compile Include="src\asn1\DerObjectIdentifier.cs" />
-    <Compile Include="src\asn1\DerOctetString.cs" />
-    <Compile Include="src\asn1\DerOutputStream.cs" />
-    <Compile Include="src\asn1\DerPrintableString.cs" />
-    <Compile Include="src\asn1\DerSequence.cs" />
-    <Compile Include="src\asn1\DerSet.cs" />
-    <Compile Include="src\asn1\DerStringBase.cs" />
-    <Compile Include="src\asn1\DerT61String.cs" />
-    <Compile Include="src\asn1\DerTaggedObject.cs" />
-    <Compile Include="src\asn1\DerUTCTime.cs" />
-    <Compile Include="src\asn1\DerUTF8String.cs" />
-    <Compile Include="src\asn1\DerUniversalString.cs" />
-    <Compile Include="src\asn1\DerVideotexString.cs" />
-    <Compile Include="src\asn1\DerVisibleString.cs" />
-    <Compile Include="src\asn1\IAsn1ApplicationSpecificParser.cs" />
-    <Compile Include="src\asn1\IAsn1Choice.cs" />
-    <Compile Include="src\asn1\IAsn1Convertible.cs" />
-    <Compile Include="src\asn1\IAsn1String.cs" />
-    <Compile Include="src\asn1\IndefiniteLengthInputStream.cs" />
-    <Compile Include="src\asn1\LazyASN1InputStream.cs" />
-    <Compile Include="src\asn1\LazyDERSequence.cs" />
-    <Compile Include="src\asn1\LazyDERSet.cs" />
-    <Compile Include="src\asn1\LimitedInputStream.cs" />
-    <Compile Include="src\asn1\OidTokenizer.cs" />
-    <Compile Include="src\asn1\anssi\ANSSINamedCurves.cs" />
-    <Compile Include="src\asn1\anssi\ANSSIObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\bc\BCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cmp\CAKeyUpdAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\CertConfirmContent.cs" />
-    <Compile Include="src\asn1\cmp\CertOrEncCert.cs" />
-    <Compile Include="src\asn1\cmp\CertRepMessage.cs" />
-    <Compile Include="src\asn1\cmp\CertResponse.cs" />
-    <Compile Include="src\asn1\cmp\CertStatus.cs" />
-    <Compile Include="src\asn1\cmp\CertifiedKeyPair.cs" />
-    <Compile Include="src\asn1\cmp\Challenge.cs" />
-    <Compile Include="src\asn1\cmp\CmpCertificate.cs" />
-    <Compile Include="src\asn1\cmp\CmpObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cmp\CrlAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\ErrorMsgContent.cs" />
-    <Compile Include="src\asn1\cmp\GenMsgContent.cs" />
-    <Compile Include="src\asn1\cmp\GenRepContent.cs" />
-    <Compile Include="src\asn1\cmp\InfoTypeAndValue.cs" />
-    <Compile Include="src\asn1\cmp\KeyRecRepContent.cs" />
-    <Compile Include="src\asn1\cmp\OobCertHash.cs" />
-    <Compile Include="src\asn1\cmp\PKIBody.cs" />
-    <Compile Include="src\asn1\cmp\PKIConfirmContent.cs" />
-    <Compile Include="src\asn1\cmp\PKIFailureInfo.cs" />
-    <Compile Include="src\asn1\cmp\PKIFreeText.cs" />
-    <Compile Include="src\asn1\cmp\PKIHeader.cs" />
-    <Compile Include="src\asn1\cmp\PKIHeaderBuilder.cs" />
-    <Compile Include="src\asn1\cmp\PKIMessage.cs" />
-    <Compile Include="src\asn1\cmp\PKIMessages.cs" />
-    <Compile Include="src\asn1\cmp\PKIStatus.cs" />
-    <Compile Include="src\asn1\cmp\PKIStatusInfo.cs" />
-    <Compile Include="src\asn1\cmp\PbmParameter.cs" />
-    <Compile Include="src\asn1\cmp\PollRepContent.cs" />
-    <Compile Include="src\asn1\cmp\PollReqContent.cs" />
-    <Compile Include="src\asn1\cmp\PopoDecKeyChallContent.cs" />
-    <Compile Include="src\asn1\cmp\PopoDecKeyRespContent.cs" />
-    <Compile Include="src\asn1\cmp\ProtectedPart.cs" />
-    <Compile Include="src\asn1\cmp\RevAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\RevDetails.cs" />
-    <Compile Include="src\asn1\cmp\RevRepContent.cs" />
-    <Compile Include="src\asn1\cmp\RevRepContentBuilder.cs" />
-    <Compile Include="src\asn1\cmp\RevReqContent.cs" />
-    <Compile Include="src\asn1\cms\Attribute.cs" />
-    <Compile Include="src\asn1\cms\AttributeTable.cs" />
-    <Compile Include="src\asn1\cms\Attributes.cs" />
-    <Compile Include="src\asn1\cms\AuthEnvelopedData.cs" />
-    <Compile Include="src\asn1\cms\AuthEnvelopedDataParser.cs" />
-    <Compile Include="src\asn1\cms\AuthenticatedData.cs" />
-    <Compile Include="src\asn1\cms\AuthenticatedDataParser.cs" />
-    <Compile Include="src\asn1\cms\CMSAttributes.cs" />
-    <Compile Include="src\asn1\cms\CMSObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cms\CompressedData.cs" />
-    <Compile Include="src\asn1\cms\CompressedDataParser.cs" />
-    <Compile Include="src\asn1\cms\ContentInfo.cs" />
-    <Compile Include="src\asn1\cms\ContentInfoParser.cs" />
-    <Compile Include="src\asn1\cms\EncryptedContentInfo.cs" />
-    <Compile Include="src\asn1\cms\EncryptedContentInfoParser.cs" />
-    <Compile Include="src\asn1\cms\EncryptedData.cs" />
-    <Compile Include="src\asn1\cms\EnvelopedData.cs" />
-    <Compile Include="src\asn1\cms\EnvelopedDataParser.cs" />
-    <Compile Include="src\asn1\cms\Evidence.cs" />
-    <Compile Include="src\asn1\cms\IssuerAndSerialNumber.cs" />
-    <Compile Include="src\asn1\cms\KEKIdentifier.cs" />
-    <Compile Include="src\asn1\cms\KEKRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\KeyAgreeRecipientIdentifier.cs" />
-    <Compile Include="src\asn1\cms\KeyAgreeRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\KeyTransRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\MetaData.cs" />
-    <Compile Include="src\asn1\cms\OriginatorIdentifierOrKey.cs" />
-    <Compile Include="src\asn1\cms\OriginatorInfo.cs" />
-    <Compile Include="src\asn1\cms\OriginatorPublicKey.cs" />
-    <Compile Include="src\asn1\cms\OtherKeyAttribute.cs" />
-    <Compile Include="src\asn1\cms\OtherRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\OtherRevocationInfoFormat.cs" />
-    <Compile Include="src\asn1\cms\PasswordRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\RecipientEncryptedKey.cs" />
-    <Compile Include="src\asn1\cms\RecipientIdentifier.cs" />
-    <Compile Include="src\asn1\cms\RecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\RecipientKeyIdentifier.cs" />
-    <Compile Include="src\asn1\cms\SCVPReqRes.cs" />
-    <Compile Include="src\asn1\cms\SignedData.cs" />
-    <Compile Include="src\asn1\cms\SignedDataParser.cs" />
-    <Compile Include="src\asn1\cms\SignerIdentifier.cs" />
-    <Compile Include="src\asn1\cms\SignerInfo.cs" />
-    <Compile Include="src\asn1\cms\Time.cs" />
-    <Compile Include="src\asn1\cms\TimeStampAndCRL.cs" />
-    <Compile Include="src\asn1\cms\TimeStampTokenEvidence.cs" />
-    <Compile Include="src\asn1\cms\TimeStampedData.cs" />
-    <Compile Include="src\asn1\cms\TimeStampedDataParser.cs" />
-    <Compile Include="src\asn1\cms\ecc\MQVuserKeyingMaterial.cs" />
-    <Compile Include="src\asn1\crmf\AttributeTypeAndValue.cs" />
-    <Compile Include="src\asn1\crmf\CertId.cs" />
-    <Compile Include="src\asn1\crmf\CertReqMessages.cs" />
-    <Compile Include="src\asn1\crmf\CertReqMsg.cs" />
-    <Compile Include="src\asn1\crmf\CertRequest.cs" />
-    <Compile Include="src\asn1\crmf\CertTemplate.cs" />
-    <Compile Include="src\asn1\crmf\CertTemplateBuilder.cs" />
-    <Compile Include="src\asn1\crmf\Controls.cs" />
-    <Compile Include="src\asn1\crmf\CrmfObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\crmf\EncKeyWithID.cs" />
-    <Compile Include="src\asn1\crmf\EncryptedKey.cs" />
-    <Compile Include="src\asn1\crmf\EncryptedValue.cs" />
-    <Compile Include="src\asn1\crmf\OptionalValidity.cs" />
-    <Compile Include="src\asn1\crmf\PKIArchiveOptions.cs" />
-    <Compile Include="src\asn1\crmf\PKIPublicationInfo.cs" />
-    <Compile Include="src\asn1\crmf\PKMacValue.cs" />
-    <Compile Include="src\asn1\crmf\PopoPrivKey.cs" />
-    <Compile Include="src\asn1\crmf\PopoSigningKey.cs" />
-    <Compile Include="src\asn1\crmf\PopoSigningKeyInput.cs" />
-    <Compile Include="src\asn1\crmf\ProofOfPossession.cs" />
-    <Compile Include="src\asn1\crmf\SinglePubInfo.cs" />
-    <Compile Include="src\asn1\crmf\SubsequentMessage.cs" />
-    <Compile Include="src\asn1\cryptopro\CryptoProObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cryptopro\ECGOST3410NamedCurves.cs" />
-    <Compile Include="src\asn1\cryptopro\ECGOST3410ParamSetParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST28147Parameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410NamedParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410ParamSetParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410PublicKeyAlgParameters.cs" />
-    <Compile Include="src\asn1\eac\EACObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\esf\CertificateValues.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeIdentifier.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeIndication.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeQualifier.cs" />
-    <Compile Include="src\asn1\esf\CompleteCertificateRefs.cs" />
-    <Compile Include="src\asn1\esf\CompleteRevocationRefs.cs" />
-    <Compile Include="src\asn1\esf\CrlIdentifier.cs" />
-    <Compile Include="src\asn1\esf\CrlListID.cs" />
-    <Compile Include="src\asn1\esf\CrlOcspRef.cs" />
-    <Compile Include="src\asn1\esf\CrlValidatedID.cs" />
-    <Compile Include="src\asn1\esf\ESFAttributes.cs" />
-    <Compile Include="src\asn1\esf\OcspIdentifier.cs" />
-    <Compile Include="src\asn1\esf\OcspListID.cs" />
-    <Compile Include="src\asn1\esf\OcspResponsesID.cs" />
-    <Compile Include="src\asn1\esf\OtherCertID.cs" />
-    <Compile Include="src\asn1\esf\OtherHash.cs" />
-    <Compile Include="src\asn1\esf\OtherHashAlgAndValue.cs" />
-    <Compile Include="src\asn1\esf\OtherRevRefs.cs" />
-    <Compile Include="src\asn1\esf\OtherRevVals.cs" />
-    <Compile Include="src\asn1\esf\OtherSigningCertificate.cs" />
-    <Compile Include="src\asn1\esf\RevocationValues.cs" />
-    <Compile Include="src\asn1\esf\SigPolicyQualifierInfo.cs" />
-    <Compile Include="src\asn1\esf\SignaturePolicyId.cs" />
-    <Compile Include="src\asn1\esf\SignaturePolicyIdentifier.cs" />
-    <Compile Include="src\asn1\esf\SignerAttribute.cs" />
-    <Compile Include="src\asn1\esf\SignerLocation.cs" />
-    <Compile Include="src\asn1\ess\ContentHints.cs" />
-    <Compile Include="src\asn1\ess\ContentIdentifier.cs" />
-    <Compile Include="src\asn1\ess\ESSCertID.cs" />
-    <Compile Include="src\asn1\ess\ESSCertIDv2.cs" />
-    <Compile Include="src\asn1\ess\OtherCertID.cs" />
-    <Compile Include="src\asn1\ess\OtherSigningCertificate.cs" />
-    <Compile Include="src\asn1\ess\SigningCertificate.cs" />
-    <Compile Include="src\asn1\ess\SigningCertificateV2.cs" />
-    <Compile Include="src\asn1\gm\GMNamedCurves.cs" />
-    <Compile Include="src\asn1\gm\GMObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\gnu\GNUObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\iana\IANAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\icao\CscaMasterList.cs" />
-    <Compile Include="src\asn1\icao\DataGroupHash.cs" />
-    <Compile Include="src\asn1\icao\ICAOObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\icao\LDSSecurityObject.cs" />
-    <Compile Include="src\asn1\icao\LDSVersionInfo.cs" />
-    <Compile Include="src\asn1\isismtt\ISISMTTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\isismtt\ocsp\CertHash.cs" />
-    <Compile Include="src\asn1\isismtt\ocsp\RequestedCertificate.cs" />
-    <Compile Include="src\asn1\isismtt\x509\AdditionalInformationSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\AdmissionSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\Admissions.cs" />
-    <Compile Include="src\asn1\isismtt\x509\DeclarationOfMajority.cs" />
-    <Compile Include="src\asn1\isismtt\x509\MonetaryLimit.cs" />
-    <Compile Include="src\asn1\isismtt\x509\NamingAuthority.cs" />
-    <Compile Include="src\asn1\isismtt\x509\ProcurationSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\ProfessionInfo.cs" />
-    <Compile Include="src\asn1\isismtt\x509\Restriction.cs" />
-    <Compile Include="src\asn1\kisa\KISAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\microsoft\MicrosoftObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\misc\CAST5CBCParameters.cs" />
-    <Compile Include="src\asn1\misc\IDEACBCPar.cs" />
-    <Compile Include="src\asn1\misc\MiscObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\misc\NetscapeCertType.cs" />
-    <Compile Include="src\asn1\misc\NetscapeRevocationURL.cs" />
-    <Compile Include="src\asn1\misc\VerisignCzagExtension.cs" />
-    <Compile Include="src\asn1\mozilla\PublicKeyAndChallenge.cs" />
-    <Compile Include="src\asn1\nist\NISTNamedCurves.cs" />
-    <Compile Include="src\asn1\nist\NISTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ntt\NTTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ocsp\BasicOCSPResponse.cs" />
-    <Compile Include="src\asn1\ocsp\CertID.cs" />
-    <Compile Include="src\asn1\ocsp\CertStatus.cs" />
-    <Compile Include="src\asn1\ocsp\CrlID.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPRequest.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPResponse.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPResponseStatus.cs" />
-    <Compile Include="src\asn1\ocsp\Request.cs" />
-    <Compile Include="src\asn1\ocsp\ResponderID.cs" />
-    <Compile Include="src\asn1\ocsp\ResponseBytes.cs" />
-    <Compile Include="src\asn1\ocsp\ResponseData.cs" />
-    <Compile Include="src\asn1\ocsp\RevokedInfo.cs" />
-    <Compile Include="src\asn1\ocsp\ServiceLocator.cs" />
-    <Compile Include="src\asn1\ocsp\Signature.cs" />
-    <Compile Include="src\asn1\ocsp\SingleResponse.cs" />
-    <Compile Include="src\asn1\ocsp\TBSRequest.cs" />
-    <Compile Include="src\asn1\oiw\ElGamalParameter.cs" />
-    <Compile Include="src\asn1\oiw\OIWObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\pkcs\Attribute.cs" />
-    <Compile Include="src\asn1\pkcs\AuthenticatedSafe.cs" />
-    <Compile Include="src\asn1\pkcs\CertBag.cs" />
-    <Compile Include="src\asn1\pkcs\CertificationRequest.cs" />
-    <Compile Include="src\asn1\pkcs\CertificationRequestInfo.cs" />
-    <Compile Include="src\asn1\pkcs\ContentInfo.cs" />
-    <Compile Include="src\asn1\pkcs\DHParameter.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptedData.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptedPrivateKeyInfo.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptionScheme.cs" />
-    <Compile Include="src\asn1\pkcs\IssuerAndSerialNumber.cs" />
-    <Compile Include="src\asn1\pkcs\KeyDerivationFunc.cs" />
-    <Compile Include="src\asn1\pkcs\MacData.cs" />
-    <Compile Include="src\asn1\pkcs\PBEParameter.cs" />
-    <Compile Include="src\asn1\pkcs\PBES2Parameters.cs" />
-    <Compile Include="src\asn1\pkcs\PBKDF2Params.cs" />
-    <Compile Include="src\asn1\pkcs\PKCS12PBEParams.cs" />
-    <Compile Include="src\asn1\pkcs\PKCSObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\pkcs\Pfx.cs" />
-    <Compile Include="src\asn1\pkcs\PrivateKeyInfo.cs" />
-    <Compile Include="src\asn1\pkcs\RC2CBCParameter.cs" />
-    <Compile Include="src\asn1\pkcs\RSAESOAEPparams.cs" />
-    <Compile Include="src\asn1\pkcs\RSAPrivateKeyStructure.cs" />
-    <Compile Include="src\asn1\pkcs\RSASSAPSSparams.cs" />
-    <Compile Include="src\asn1\pkcs\SafeBag.cs" />
-    <Compile Include="src\asn1\pkcs\SignedData.cs" />
-    <Compile Include="src\asn1\pkcs\SignerInfo.cs" />
-    <Compile Include="src\asn1\rosstandart\RosstandartObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\sec\ECPrivateKeyStructure.cs" />
-    <Compile Include="src\asn1\sec\SECNamedCurves.cs" />
-    <Compile Include="src\asn1\sec\SECObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\smime\SMIMEAttributes.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilities.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilitiesAttribute.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapability.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilityVector.cs" />
-    <Compile Include="src\asn1\smime\SMIMEEncryptionKeyPreferenceAttribute.cs" />
-    <Compile Include="src\asn1\teletrust\TeleTrusTNamedCurves.cs" />
-    <Compile Include="src\asn1\teletrust\TeleTrusTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\tsp\Accuracy.cs" />
-    <Compile Include="src\asn1\tsp\MessageImprint.cs" />
-    <Compile Include="src\asn1\tsp\TSTInfo.cs" />
-    <Compile Include="src\asn1\tsp\TimeStampReq.cs" />
-    <Compile Include="src\asn1\tsp\TimeStampResp.cs" />
-    <Compile Include="src\asn1\ua\UAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\util\Asn1Dump.cs" />
-    <Compile Include="src\asn1\util\Dump.cs" />
-    <Compile Include="src\asn1\util\FilterStream.cs" />
-    <Compile Include="src\asn1\x500\DirectoryString.cs" />
-    <Compile Include="src\asn1\x509\AccessDescription.cs" />
-    <Compile Include="src\asn1\x509\AlgorithmIdentifier.cs" />
-    <Compile Include="src\asn1\x509\AttCertIssuer.cs" />
-    <Compile Include="src\asn1\x509\AttCertValidityPeriod.cs" />
-    <Compile Include="src\asn1\x509\Attribute.cs" />
-    <Compile Include="src\asn1\x509\AttributeCertificate.cs" />
-    <Compile Include="src\asn1\x509\AttributeCertificateInfo.cs" />
-    <Compile Include="src\asn1\x509\AttributeTable.cs" />
-    <Compile Include="src\asn1\x509\AuthorityInformationAccess.cs" />
-    <Compile Include="src\asn1\x509\AuthorityKeyIdentifier.cs" />
-    <Compile Include="src\asn1\x509\BasicConstraints.cs" />
-    <Compile Include="src\asn1\x509\CRLDistPoint.cs" />
-    <Compile Include="src\asn1\x509\CRLNumber.cs" />
-    <Compile Include="src\asn1\x509\CRLReason.cs" />
-    <Compile Include="src\asn1\x509\CertPolicyId.cs" />
-    <Compile Include="src\asn1\x509\CertificateList.cs" />
-    <Compile Include="src\asn1\x509\CertificatePair.cs" />
-    <Compile Include="src\asn1\x509\CertificatePolicies.cs" />
-    <Compile Include="src\asn1\x509\DSAParameter.cs" />
-    <Compile Include="src\asn1\x509\DigestInfo.cs" />
-    <Compile Include="src\asn1\x509\DisplayText.cs" />
-    <Compile Include="src\asn1\x509\DistributionPoint.cs" />
-    <Compile Include="src\asn1\x509\DistributionPointName.cs" />
-    <Compile Include="src\asn1\x509\ExtendedKeyUsage.cs" />
-    <Compile Include="src\asn1\x509\GeneralName.cs" />
-    <Compile Include="src\asn1\x509\GeneralNames.cs" />
-    <Compile Include="src\asn1\x509\GeneralSubtree.cs" />
-    <Compile Include="src\asn1\x509\Holder.cs" />
-    <Compile Include="src\asn1\x509\IetfAttrSyntax.cs" />
-    <Compile Include="src\asn1\x509\IssuerSerial.cs" />
-    <Compile Include="src\asn1\x509\IssuingDistributionPoint.cs" />
-    <Compile Include="src\asn1\x509\KeyPurposeId.cs" />
-    <Compile Include="src\asn1\x509\KeyUsage.cs" />
-    <Compile Include="src\asn1\x509\NameConstraints.cs" />
-    <Compile Include="src\asn1\x509\NoticeReference.cs" />
-    <Compile Include="src\asn1\x509\ObjectDigestInfo.cs" />
-    <Compile Include="src\asn1\x509\PolicyInformation.cs" />
-    <Compile Include="src\asn1\x509\PolicyMappings.cs" />
-    <Compile Include="src\asn1\x509\PolicyQualifierId.cs" />
-    <Compile Include="src\asn1\x509\PolicyQualifierInfo.cs" />
-    <Compile Include="src\asn1\x509\PrivateKeyUsagePeriod.cs" />
-    <Compile Include="src\asn1\x509\RSAPublicKeyStructure.cs" />
-    <Compile Include="src\asn1\x509\ReasonFlags.cs" />
-    <Compile Include="src\asn1\x509\RoleSyntax.cs" />
-    <Compile Include="src\asn1\x509\SubjectDirectoryAttributes.cs" />
-    <Compile Include="src\asn1\x509\SubjectKeyIdentifier.cs" />
-    <Compile Include="src\asn1\x509\SubjectPublicKeyInfo.cs" />
-    <Compile Include="src\asn1\x509\TBSCertList.cs" />
-    <Compile Include="src\asn1\x509\TBSCertificateStructure.cs" />
-    <Compile Include="src\asn1\x509\Target.cs" />
-    <Compile Include="src\asn1\x509\TargetInformation.cs" />
-    <Compile Include="src\asn1\x509\Targets.cs" />
-    <Compile Include="src\asn1\x509\Time.cs" />
-    <Compile Include="src\asn1\x509\UserNotice.cs" />
-    <Compile Include="src\asn1\x509\V1TBSCertificateGenerator.cs" />
-    <Compile Include="src\asn1\x509\V2AttributeCertificateInfoGenerator.cs" />
-    <Compile Include="src\asn1\x509\V2Form.cs" />
-    <Compile Include="src\asn1\x509\V2TBSCertListGenerator.cs" />
-    <Compile Include="src\asn1\x509\V3TBSCertificateGenerator.cs" />
-    <Compile Include="src\asn1\x509\X509Attributes.cs" />
-    <Compile Include="src\asn1\x509\X509CertificateStructure.cs" />
-    <Compile Include="src\asn1\x509\X509DefaultEntryConverter.cs" />
-    <Compile Include="src\asn1\x509\X509Extension.cs" />
-    <Compile Include="src\asn1\x509\X509Extensions.cs" />
-    <Compile Include="src\asn1\x509\X509ExtensionsGenerator.cs" />
-    <Compile Include="src\asn1\x509\X509Name.cs" />
-    <Compile Include="src\asn1\x509\X509NameEntryConverter.cs" />
-    <Compile Include="src\asn1\x509\X509NameTokenizer.cs" />
-    <Compile Include="src\asn1\x509\X509ObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\BiometricData.cs" />
-    <Compile Include="src\asn1\x509\qualified\ETSIQCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\Iso4217CurrencyCode.cs" />
-    <Compile Include="src\asn1\x509\qualified\MonetaryValue.cs" />
-    <Compile Include="src\asn1\x509\qualified\QCStatement.cs" />
-    <Compile Include="src\asn1\x509\qualified\RFC3739QCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\SemanticsInformation.cs" />
-    <Compile Include="src\asn1\x509\qualified\TypeOfBiometricData.cs" />
-    <Compile Include="src\asn1\x509\sigi\NameOrPseudonym.cs" />
-    <Compile Include="src\asn1\x509\sigi\PersonalData.cs" />
-    <Compile Include="src\asn1\x509\sigi\SigIObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x9\DHDomainParameters.cs" />
-    <Compile Include="src\asn1\x9\DHPublicKey.cs" />
-    <Compile Include="src\asn1\x9\DHValidationParms.cs" />
-    <Compile Include="src\asn1\x9\ECNamedCurveTable.cs" />
-    <Compile Include="src\asn1\x9\KeySpecificInfo.cs" />
-    <Compile Include="src\asn1\x9\OtherInfo.cs" />
-    <Compile Include="src\asn1\x9\X962NamedCurves.cs" />
-    <Compile Include="src\asn1\x9\X962Parameters.cs" />
-    <Compile Include="src\asn1\x9\X9Curve.cs" />
-    <Compile Include="src\asn1\x9\X9ECParameters.cs" />
-    <Compile Include="src\asn1\x9\X9ECParametersHolder.cs" />
-    <Compile Include="src\asn1\x9\X9ECPoint.cs" />
-    <Compile Include="src\asn1\x9\X9FieldElement.cs" />
-    <Compile Include="src\asn1\x9\X9FieldID.cs" />
-    <Compile Include="src\asn1\x9\X9IntegerConverter.cs" />
-    <Compile Include="src\asn1\x9\X9ObjectIdentifiers.cs" />
-    <Compile Include="src\bcpg\ArmoredInputStream.cs" />
-    <Compile Include="src\bcpg\ArmoredOutputStream.cs" />
-    <Compile Include="src\bcpg\BcpgInputStream.cs" />
-    <Compile Include="src\bcpg\BcpgObject.cs" />
-    <Compile Include="src\bcpg\BcpgOutputStream.cs" />
-    <Compile Include="src\bcpg\CompressedDataPacket.cs" />
-    <Compile Include="src\bcpg\CompressionAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\ContainedPacket.cs" />
-    <Compile Include="src\bcpg\Crc24.cs" />
-    <Compile Include="src\bcpg\DsaPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\DsaSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\ECDHPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECDsaPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECSecretBCPGKey.cs" />
-    <Compile Include="src\bcpg\ElGamalPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\ElGamalSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\ExperimentalPacket.cs" />
-    <Compile Include="src\bcpg\HashAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\IBcpgKey.cs" />
-    <Compile Include="src\bcpg\InputStreamPacket.cs" />
-    <Compile Include="src\bcpg\LiteralDataPacket.cs" />
-    <Compile Include="src\bcpg\MPInteger.cs" />
-    <Compile Include="src\bcpg\MarkerPacket.cs" />
-    <Compile Include="src\bcpg\ModDetectionCodePacket.cs" />
-    <Compile Include="src\bcpg\OnePassSignaturePacket.cs" />
-    <Compile Include="src\bcpg\OutputStreamPacket.cs" />
-    <Compile Include="src\bcpg\Packet.cs" />
-    <Compile Include="src\bcpg\PacketTags.cs" />
-    <Compile Include="src\bcpg\PublicKeyAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\PublicKeyEncSessionPacket.cs" />
-    <Compile Include="src\bcpg\PublicKeyPacket.cs" />
-    <Compile Include="src\bcpg\PublicSubkeyPacket.cs" />
-    <Compile Include="src\bcpg\RsaPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\RsaSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\S2k.cs" />
-    <Compile Include="src\bcpg\SecretKeyPacket.cs" />
-    <Compile Include="src\bcpg\SecretSubkeyPacket.cs" />
-    <Compile Include="src\bcpg\SignaturePacket.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacket.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacketTags.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacketsReader.cs" />
-    <Compile Include="src\bcpg\SymmetricEncDataPacket.cs" />
-    <Compile Include="src\bcpg\SymmetricEncIntegrityPacket.cs" />
-    <Compile Include="src\bcpg\SymmetricKeyAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\SymmetricKeyEncSessionPacket.cs" />
-    <Compile Include="src\bcpg\TrustPacket.cs" />
-    <Compile Include="src\bcpg\UserAttributePacket.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacket.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacketTags.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacketsReader.cs" />
-    <Compile Include="src\bcpg\UserIdPacket.cs" />
-    <Compile Include="src\bcpg\attr\ImageAttrib.cs" />
-    <Compile Include="src\bcpg\sig\EmbeddedSignature.cs" />
-    <Compile Include="src\bcpg\sig\Exportable.cs" />
-    <Compile Include="src\bcpg\sig\Features.cs" />
-    <Compile Include="src\bcpg\sig\IssuerKeyId.cs" />
-    <Compile Include="src\bcpg\sig\KeyExpirationTime.cs" />
-    <Compile Include="src\bcpg\sig\KeyFlags.cs" />
-    <Compile Include="src\bcpg\sig\NotationData.cs" />
-    <Compile Include="src\bcpg\sig\PreferredAlgorithms.cs" />
-    <Compile Include="src\bcpg\sig\PrimaryUserId.cs" />
-    <Compile Include="src\bcpg\sig\Revocable.cs" />
-    <Compile Include="src\bcpg\sig\RevocationKey.cs" />
-    <Compile Include="src\bcpg\sig\RevocationKeyTags.cs" />
-    <Compile Include="src\bcpg\sig\RevocationReason.cs" />
-    <Compile Include="src\bcpg\sig\RevocationReasonTags.cs" />
-    <Compile Include="src\bcpg\sig\SignatureCreationTime.cs" />
-    <Compile Include="src\bcpg\sig\SignatureExpirationTime.cs" />
-    <Compile Include="src\bcpg\sig\SignerUserId.cs" />
-    <Compile Include="src\bcpg\sig\TrustSignature.cs" />
-    <Compile Include="src\cms\BaseDigestCalculator.cs" />
-    <Compile Include="src\cms\CMSAttributeTableGenerationException.cs" />
-    <Compile Include="src\cms\CMSAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthEnvelopedData.cs" />
-    <Compile Include="src\cms\CMSAuthEnvelopedGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedData.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataParser.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedGenerator.cs" />
-    <Compile Include="src\cms\CMSCompressedData.cs" />
-    <Compile Include="src\cms\CMSCompressedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSCompressedDataParser.cs" />
-    <Compile Include="src\cms\CMSCompressedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSContentInfoParser.cs" />
-    <Compile Include="src\cms\CMSEnvelopedData.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataParser.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedHelper.cs" />
-    <Compile Include="src\cms\CMSException.cs" />
-    <Compile Include="src\cms\CMSPBEKey.cs" />
-    <Compile Include="src\cms\CMSProcessable.cs" />
-    <Compile Include="src\cms\CMSProcessableByteArray.cs" />
-    <Compile Include="src\cms\CMSProcessableFile.cs" />
-    <Compile Include="src\cms\CMSProcessableInputStream.cs" />
-    <Compile Include="src\cms\CMSReadable.cs" />
-    <Compile Include="src\cms\CMSSecureReadable.cs" />
-    <Compile Include="src\cms\CMSSignedData.cs" />
-    <Compile Include="src\cms\CMSSignedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedDataParser.cs" />
-    <Compile Include="src\cms\CMSSignedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedHelper.cs" />
-    <Compile Include="src\cms\CMSStreamException.cs" />
-    <Compile Include="src\cms\CMSTypedStream.cs" />
-    <Compile Include="src\cms\CMSUtils.cs" />
-    <Compile Include="src\cms\CounterSignatureDigestCalculator.cs" />
-    <Compile Include="src\cms\DefaultAuthenticatedAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\DefaultSignedAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\DigOutputStream.cs" />
-    <Compile Include="src\cms\IDigestCalculator.cs" />
-    <Compile Include="src\cms\KEKRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KEKRecipientInformation.cs" />
-    <Compile Include="src\cms\KeyAgreeRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KeyAgreeRecipientInformation.cs" />
-    <Compile Include="src\cms\KeyTransRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KeyTransRecipientInformation.cs" />
-    <Compile Include="src\cms\MacOutputStream.cs" />
-    <Compile Include="src\cms\OriginatorId.cs" />
-    <Compile Include="src\cms\OriginatorInfoGenerator.cs" />
-    <Compile Include="src\cms\OriginatorInformation.cs" />
-    <Compile Include="src\cms\PKCS5Scheme2PBEKey.cs" />
-    <Compile Include="src\cms\PKCS5Scheme2UTF8PBEKey.cs" />
-    <Compile Include="src\cms\PasswordRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\PasswordRecipientInformation.cs" />
-    <Compile Include="src\cms\RecipientId.cs" />
-    <Compile Include="src\cms\RecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\RecipientInformation.cs" />
-    <Compile Include="src\cms\RecipientInformationStore.cs" />
-    <Compile Include="src\cms\SigOutputStream.cs" />
-    <Compile Include="src\cms\SignerId.cs" />
-    <Compile Include="src\cms\SignerInfoGenerator.cs" />
-    <Compile Include="src\cms\SignerInformation.cs" />
-    <Compile Include="src\cms\SignerInformationStore.cs" />
-    <Compile Include="src\cms\SimpleAttributeTableGenerator.cs" />
-    <Compile Include="src\crypto\AsymmetricCipherKeyPair.cs" />
-    <Compile Include="src\crypto\AsymmetricKeyParameter.cs" />
-    <Compile Include="src\crypto\BufferedAeadBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedAsymmetricBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedCipherBase.cs" />
-    <Compile Include="src\crypto\BufferedIesCipher.cs" />
-    <Compile Include="src\crypto\BufferedStreamCipher.cs" />
-    <Compile Include="src\crypto\Check.cs" />
-    <Compile Include="src\crypto\CipherKeyGenerator.cs" />
-    <Compile Include="src\crypto\CryptoException.cs" />
-    <Compile Include="src\crypto\DataLengthException.cs" />
-    <Compile Include="src\crypto\digests\NonMemoableDigest.cs" />
-    <Compile Include="src\crypto\engines\SerpentEngineBase.cs" />
-    <Compile Include="src\crypto\engines\TnepresEngine.cs" />
-    <Compile Include="src\crypto\generators\BCrypt.cs" />
-    <Compile Include="src\crypto\generators\HKDFBytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\OpenBsdBCrypt.cs" />
-    <Compile Include="src\crypto\IAsymmetricBlockCipher.cs" />
-    <Compile Include="src\crypto\IAsymmetricCipherKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\IBasicAgreement.cs" />
-    <Compile Include="src\crypto\IBlockCipher.cs" />
-    <Compile Include="src\crypto\IBlockResult.cs" />
-    <Compile Include="src\crypto\IBufferedCipher.cs" />
-    <Compile Include="src\crypto\ICipherParameters.cs" />
-    <Compile Include="src\crypto\IDSA.cs" />
-    <Compile Include="src\crypto\IDerivationFunction.cs" />
-    <Compile Include="src\crypto\IDerivationParameters.cs" />
-    <Compile Include="src\crypto\IDigest.cs" />
-    <Compile Include="src\crypto\IEntropySource.cs" />
-    <Compile Include="src\crypto\IEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\IMac.cs" />
-    <Compile Include="src\crypto\ISignatureFactory.cs" />
-    <Compile Include="src\crypto\IStreamCalculator.cs" />
-    <Compile Include="src\crypto\ISigner.cs" />
-    <Compile Include="src\crypto\ISignerWithRecovery.cs" />
-    <Compile Include="src\crypto\IStreamCipher.cs" />
-    <Compile Include="src\crypto\IVerifier.cs" />
-    <Compile Include="src\crypto\IVerifierFactory.cs" />
-    <Compile Include="src\crypto\IVerifierFactoryProvider.cs" />
-    <Compile Include="src\crypto\IWrapper.cs" />
-    <Compile Include="src\crypto\IXof.cs" />
-    <Compile Include="src\crypto\InvalidCipherTextException.cs" />
-    <Compile Include="src\crypto\KeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\MaxBytesExceededException.cs" />
-    <Compile Include="src\crypto\OutputLengthException.cs" />
-    <Compile Include="src\crypto\parameters\HKDFParameters.cs" />
-    <Compile Include="src\crypto\PbeParametersGenerator.cs" />
-    <Compile Include="src\crypto\prng\BasicEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\prng\CryptoApiEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\prng\drbg\CtrSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\DrbgUtilities.cs" />
-    <Compile Include="src\crypto\prng\drbg\HashSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\HMacSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\ISP80090Drbg.cs" />
-    <Compile Include="src\crypto\prng\EntropyUtilities.cs" />
-    <Compile Include="src\crypto\prng\IDrbgProvider.cs" />
-    <Compile Include="src\crypto\prng\SP800SecureRandom.cs" />
-    <Compile Include="src\crypto\prng\SP800SecureRandomBuilder.cs" />
-    <Compile Include="src\crypto\prng\X931Rng.cs" />
-    <Compile Include="src\crypto\prng\X931SecureRandom.cs" />
-    <Compile Include="src\crypto\prng\X931SecureRandomBuilder.cs" />
-    <Compile Include="src\crypto\StreamBlockCipher.cs" />
-    <Compile Include="src\crypto\agreement\DHAgreement.cs" />
-    <Compile Include="src\crypto\agreement\DHBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\DHStandardGroups.cs" />
-    <Compile Include="src\crypto\agreement\ECDHBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECDHCBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECDHWithKdfBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECMqvBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECMqvWithKdfBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\SM2KeyExchange.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeParticipant.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakePrimeOrderGroup.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakePrimeOrderGroups.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound1Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound2Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound3Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeUtilities.cs" />
-    <Compile Include="src\crypto\agreement\kdf\ConcatenationKdfGenerator.cs" />
-    <Compile Include="src\crypto\agreement\kdf\DHKdfParameters.cs" />
-    <Compile Include="src\crypto\agreement\kdf\DHKekGenerator.cs" />
-    <Compile Include="src\crypto\agreement\kdf\ECDHKekGenerator.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Client.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Server.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6StandardGroups.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Utilities.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6VerifierGenerator.cs" />
-    <Compile Include="src\crypto\digests\Blake2bDigest.cs" />
-    <Compile Include="src\crypto\digests\Blake2sDigest.cs" />
-    <Compile Include="src\crypto\digests\DSTU7564Digest.cs" />
-    <Compile Include="src\crypto\digests\GeneralDigest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012_256Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012_512Digest.cs" />
-    <Compile Include="src\crypto\digests\KeccakDigest.cs" />
-    <Compile Include="src\crypto\digests\LongDigest.cs" />
-    <Compile Include="src\crypto\digests\MD2Digest.cs" />
-    <Compile Include="src\crypto\digests\MD4Digest.cs" />
-    <Compile Include="src\crypto\digests\MD5Digest.cs" />
-    <Compile Include="src\crypto\digests\NullDigest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD128Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD160Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD256Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD320Digest.cs" />
-    <Compile Include="src\crypto\digests\SHA3Digest.cs" />
-    <Compile Include="src\crypto\digests\SM3Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha1Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha224Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha256Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha384Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha512Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha512tDigest.cs" />
-    <Compile Include="src\crypto\digests\ShakeDigest.cs" />
-    <Compile Include="src\crypto\digests\ShortenedDigest.cs" />
-    <Compile Include="src\crypto\digests\SkeinDigest.cs" />
-    <Compile Include="src\crypto\digests\SkeinEngine.cs" />
-    <Compile Include="src\crypto\digests\TigerDigest.cs" />
-    <Compile Include="src\crypto\digests\WhirlpoolDigest.cs" />
-    <Compile Include="src\crypto\ec\CustomNamedCurves.cs" />
-    <Compile Include="src\crypto\encodings\ISO9796d1Encoding.cs" />
-    <Compile Include="src\crypto\encodings\OaepEncoding.cs" />
-    <Compile Include="src\crypto\encodings\Pkcs1Encoding.cs" />
-    <Compile Include="src\crypto\engines\AesEngine.cs" />
-    <Compile Include="src\crypto\engines\AesFastEngine.cs" />
-    <Compile Include="src\crypto\engines\AesLightEngine.cs" />
-    <Compile Include="src\crypto\engines\AesWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\BlowfishEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaLightEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\Cast5Engine.cs" />
-    <Compile Include="src\crypto\engines\Cast6Engine.cs" />
-    <Compile Include="src\crypto\engines\ChaChaEngine.cs" />
-    <Compile Include="src\crypto\engines\ChaCha7539Engine.cs" />
-    <Compile Include="src\crypto\engines\DesEdeEngine.cs" />
-    <Compile Include="src\crypto\engines\DesEdeWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\DesEngine.cs" />
-    <Compile Include="src\crypto\engines\Dstu7624Engine.cs" />
-    <Compile Include="src\crypto\engines\Dstu7624WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\ElGamalEngine.cs" />
-    <Compile Include="src\crypto\engines\GOST28147Engine.cs" />
-    <Compile Include="src\crypto\engines\HC128Engine.cs" />
-    <Compile Include="src\crypto\engines\HC256Engine.cs" />
-    <Compile Include="src\crypto\engines\ISAACEngine.cs" />
-    <Compile Include="src\crypto\engines\IdeaEngine.cs" />
-    <Compile Include="src\crypto\engines\IesEngine.cs" />
-    <Compile Include="src\crypto\engines\NaccacheSternEngine.cs" />
-    <Compile Include="src\crypto\engines\NoekeonEngine.cs" />
-    <Compile Include="src\crypto\engines\NullEngine.cs" />
-    <Compile Include="src\crypto\engines\RC2Engine.cs" />
-    <Compile Include="src\crypto\engines\RC2WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RC4Engine.cs" />
-    <Compile Include="src\crypto\engines\RC532Engine.cs" />
-    <Compile Include="src\crypto\engines\RC564Engine.cs" />
-    <Compile Include="src\crypto\engines\RC6Engine.cs" />
-    <Compile Include="src\crypto\engines\RFC3211WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RFC3394WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RSABlindedEngine.cs" />
-    <Compile Include="src\crypto\engines\RSABlindingEngine.cs" />
-    <Compile Include="src\crypto\engines\RSACoreEngine.cs" />
-    <Compile Include="src\crypto\engines\RijndaelEngine.cs" />
-    <Compile Include="src\crypto\engines\RsaEngine.cs" />
-    <Compile Include="src\crypto\engines\SEEDEngine.cs" />
-    <Compile Include="src\crypto\engines\SEEDWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\Salsa20Engine.cs" />
-    <Compile Include="src\crypto\engines\SerpentEngine.cs" />
-    <Compile Include="src\crypto\engines\SkipjackEngine.cs" />
-    <Compile Include="src\crypto\engines\SM2Engine.cs" />
-    <Compile Include="src\crypto\engines\TEAEngine.cs" />
-    <Compile Include="src\crypto\engines\ThreefishEngine.cs" />
-    <Compile Include="src\crypto\engines\TwofishEngine.cs" />
-    <Compile Include="src\crypto\engines\VMPCEngine.cs" />
-    <Compile Include="src\crypto\engines\VMPCKSA3Engine.cs" />
-    <Compile Include="src\crypto\engines\XSalsa20Engine.cs" />
-    <Compile Include="src\crypto\engines\XTEAEngine.cs" />
-    <Compile Include="src\crypto\generators\BaseKdfBytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHBasicKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHKeyGeneratorHelper.cs" />
-    <Compile Include="src\crypto\generators\DHKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHParametersHelper.cs" />
-    <Compile Include="src\crypto\generators\DesEdeKeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\DesKeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\DsaKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DsaParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\ECKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\ElGamalKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\ElGamalParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\GOST3410KeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\GOST3410ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Kdf1BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\Kdf2BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\Mgf1BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\NaccacheSternKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\OpenSSLPBEParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs12ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs5S1ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs5S2ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Poly1305KeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\RSABlindingFactorGenerator.cs" />
-    <Compile Include="src\crypto\generators\RsaKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\SCrypt.cs" />
-    <Compile Include="src\crypto\io\CipherStream.cs" />
-    <Compile Include="src\crypto\io\DigestStream.cs" />
-    <Compile Include="src\crypto\io\MacStream.cs" />
-    <Compile Include="src\crypto\io\SignerStream.cs" />
-    <Compile Include="src\crypto\macs\CMac.cs" />
-    <Compile Include="src\crypto\macs\CbcBlockCipherMac.cs" />
-    <Compile Include="src\crypto\macs\CfbBlockCipherMac.cs" />
-    <Compile Include="src\crypto\macs\DSTU7564Mac.cs" />
-    <Compile Include="src\crypto\macs\DSTU7624Mac.cs" />
-    <Compile Include="src\crypto\macs\GMac.cs" />
-    <Compile Include="src\crypto\macs\GOST28147Mac.cs" />
-    <Compile Include="src\crypto\macs\HMac.cs" />
-    <Compile Include="src\crypto\macs\ISO9797Alg3Mac.cs" />
-    <Compile Include="src\crypto\macs\Poly1305.cs" />
-    <Compile Include="src\crypto\macs\SipHash.cs" />
-    <Compile Include="src\crypto\macs\SkeinMac.cs" />
-    <Compile Include="src\crypto\macs\VMPCMac.cs" />
-    <Compile Include="src\crypto\modes\CbcBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CcmBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CtsBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\EAXBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\GCMBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\GOFBBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\IAeadBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\KCcmBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\KCtrBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OCBBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OpenPgpCfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\SicBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\gcm\BasicGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\BasicGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\GcmUtilities.cs" />
-    <Compile Include="src\crypto\modes\gcm\IGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\IGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables1kGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables64kGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables8kGcmMultiplier.cs" />
-    <Compile Include="src\crypto\operators\Asn1Signature.cs" />
-    <Compile Include="src\crypto\paddings\BlockCipherPadding.cs" />
-    <Compile Include="src\crypto\paddings\ISO10126d2Padding.cs" />
-    <Compile Include="src\crypto\paddings\ISO7816d4Padding.cs" />
-    <Compile Include="src\crypto\paddings\PaddedBufferedBlockCipher.cs" />
-    <Compile Include="src\crypto\paddings\Pkcs7Padding.cs" />
-    <Compile Include="src\crypto\paddings\TbcPadding.cs" />
-    <Compile Include="src\crypto\paddings\X923Padding.cs" />
-    <Compile Include="src\crypto\paddings\ZeroBytePadding.cs" />
-    <Compile Include="src\crypto\parameters\AEADParameters.cs" />
-    <Compile Include="src\crypto\parameters\CcmParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DSAParameterGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DesEdeParameters.cs" />
-    <Compile Include="src\crypto\parameters\DesParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECDomainParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410KeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410KeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410Parameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410PrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410PublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410ValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ISO18033KDFParameters.cs" />
-    <Compile Include="src\crypto\parameters\IesParameters.cs" />
-    <Compile Include="src\crypto\parameters\IesWithCipherParameters.cs" />
-    <Compile Include="src\crypto\parameters\KdfParameters.cs" />
-    <Compile Include="src\crypto\parameters\KeyParameter.cs" />
-    <Compile Include="src\crypto\parameters\MgfParameters.cs" />
-    <Compile Include="src\crypto\parameters\MqvPrivateParameters.cs" />
-    <Compile Include="src\crypto\parameters\MqvPublicParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithID.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithIV.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithRandom.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithSBox.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithSalt.cs" />
-    <Compile Include="src\crypto\parameters\RC2Parameters.cs" />
-    <Compile Include="src\crypto\parameters\RC5Parameters.cs" />
-    <Compile Include="src\crypto\parameters\RSABlindingParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaPrivateCrtKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\SkeinParameters.cs" />
-    <Compile Include="src\crypto\parameters\SM2KeyExchangePrivateParameters.cs" />
-    <Compile Include="src\crypto\parameters\SM2KeyExchangePublicParameters.cs" />
-    <Compile Include="src\crypto\parameters\Srp6GroupParameters.cs" />
-    <Compile Include="src\crypto\parameters\TweakableBlockCipherParameters.cs" />
-    <Compile Include="src\crypto\prng\CryptoApiRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\DigestRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\IRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\ReversedWindowGenerator.cs" />
-    <Compile Include="src\crypto\prng\ThreadedSeedGenerator.cs" />
-    <Compile Include="src\crypto\prng\VMPCRandomGenerator.cs" />
-    <Compile Include="src\crypto\signers\DsaDigestSigner.cs" />
-    <Compile Include="src\crypto\signers\DsaSigner.cs" />
-    <Compile Include="src\crypto\signers\ECDsaSigner.cs" />
-    <Compile Include="src\crypto\signers\ECGOST3410Signer.cs" />
-    <Compile Include="src\crypto\signers\ECNRSigner.cs" />
-    <Compile Include="src\crypto\signers\GOST3410DigestSigner.cs" />
-    <Compile Include="src\crypto\signers\GOST3410Signer.cs" />
-    <Compile Include="src\crypto\signers\GenericSigner.cs" />
-    <Compile Include="src\crypto\signers\HMacDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\IDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\Iso9796d2PssSigner.cs" />
-    <Compile Include="src\crypto\signers\Iso9796d2Signer.cs" />
-    <Compile Include="src\crypto\signers\IsoTrailers.cs" />
-    <Compile Include="src\crypto\signers\PssSigner.cs" />
-    <Compile Include="src\crypto\signers\RandomDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\RsaDigestSigner.cs" />
-    <Compile Include="src\crypto\signers\SM2Signer.cs" />
-    <Compile Include="src\crypto\signers\X931Signer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsClient.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsContext.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsPeer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsServer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsSigner.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\AlertDescription.cs" />
-    <Compile Include="src\crypto\tls\AlertLevel.cs" />
-    <Compile Include="src\crypto\tls\BasicTlsPskIdentity.cs" />
-    <Compile Include="src\crypto\tls\BulkCipherAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ByteQueue.cs" />
-    <Compile Include="src\crypto\tls\ByteQueueStream.cs" />
-    <Compile Include="src\crypto\tls\CertChainType.cs" />
-    <Compile Include="src\crypto\tls\Certificate.cs" />
-    <Compile Include="src\crypto\tls\CertificateRequest.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatus.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatusRequest.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatusType.cs" />
-    <Compile Include="src\crypto\tls\CertificateType.cs" />
-    <Compile Include="src\crypto\tls\CertificateUrl.cs" />
-    <Compile Include="src\crypto\tls\Chacha20Poly1305.cs" />
-    <Compile Include="src\crypto\tls\ChangeCipherSpec.cs" />
-    <Compile Include="src\crypto\tls\CipherSuite.cs" />
-    <Compile Include="src\crypto\tls\CipherType.cs" />
-    <Compile Include="src\crypto\tls\ClientAuthenticationType.cs" />
-    <Compile Include="src\crypto\tls\ClientCertificateType.cs" />
-    <Compile Include="src\crypto\tls\CombinedHash.cs" />
-    <Compile Include="src\crypto\tls\CompressionMethod.cs" />
-    <Compile Include="src\crypto\tls\ConnectionEnd.cs" />
-    <Compile Include="src\crypto\tls\ContentType.cs" />
-    <Compile Include="src\crypto\tls\DatagramTransport.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsClient.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsServer.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsSrpGroupVerifier.cs" />
-    <Compile Include="src\crypto\tls\DeferredHash.cs" />
-    <Compile Include="src\crypto\tls\DigestInputBuffer.cs" />
-    <Compile Include="src\crypto\tls\DigitallySigned.cs" />
-    <Compile Include="src\crypto\tls\DtlsClientProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsEpoch.cs" />
-    <Compile Include="src\crypto\tls\DtlsHandshakeRetransmit.cs" />
-    <Compile Include="src\crypto\tls\DtlsProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsReassembler.cs" />
-    <Compile Include="src\crypto\tls\DtlsRecordLayer.cs" />
-    <Compile Include="src\crypto\tls\DtlsReliableHandshake.cs" />
-    <Compile Include="src\crypto\tls\DtlsReplayWindow.cs" />
-    <Compile Include="src\crypto\tls\DtlsServerProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsTransport.cs" />
-    <Compile Include="src\crypto\tls\ECBasisType.cs" />
-    <Compile Include="src\crypto\tls\ECCurveType.cs" />
-    <Compile Include="src\crypto\tls\ECPointFormat.cs" />
-    <Compile Include="src\crypto\tls\EncryptionAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ExporterLabel.cs" />
-    <Compile Include="src\crypto\tls\ExtensionType.cs" />
-    <Compile Include="src\crypto\tls\FiniteFieldDheGroup.cs" />
-    <Compile Include="src\crypto\tls\HandshakeType.cs" />
-    <Compile Include="src\crypto\tls\HashAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatExtension.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMessage.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMessageType.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMode.cs" />
-    <Compile Include="src\crypto\tls\KeyExchangeAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\MacAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\MaxFragmentLength.cs" />
-    <Compile Include="src\crypto\tls\NameType.cs" />
-    <Compile Include="src\crypto\tls\NamedCurve.cs" />
-    <Compile Include="src\crypto\tls\NewSessionTicket.cs" />
-    <Compile Include="src\crypto\tls\OcspStatusRequest.cs" />
-    <Compile Include="src\crypto\tls\PrfAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ProtocolVersion.cs" />
-    <Compile Include="src\crypto\tls\PskTlsClient.cs" />
-    <Compile Include="src\crypto\tls\PskTlsServer.cs" />
-    <Compile Include="src\crypto\tls\RecordStream.cs" />
-    <Compile Include="src\crypto\tls\SecurityParameters.cs" />
-    <Compile Include="src\crypto\tls\ServerDHParams.cs" />
-    <Compile Include="src\crypto\tls\ServerName.cs" />
-    <Compile Include="src\crypto\tls\ServerNameList.cs" />
-    <Compile Include="src\crypto\tls\ServerOnlyTlsAuthentication.cs" />
-    <Compile Include="src\crypto\tls\ServerSrpParams.cs" />
-    <Compile Include="src\crypto\tls\SessionParameters.cs" />
-    <Compile Include="src\crypto\tls\SignatureAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\SignatureAndHashAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\SignerInputBuffer.cs" />
-    <Compile Include="src\crypto\tls\SimulatedTlsSrpIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\SrpTlsClient.cs" />
-    <Compile Include="src\crypto\tls\SrpTlsServer.cs" />
-    <Compile Include="src\crypto\tls\SrtpProtectionProfile.cs" />
-    <Compile Include="src\crypto\tls\Ssl3Mac.cs" />
-    <Compile Include="src\crypto\tls\SupplementalDataEntry.cs" />
-    <Compile Include="src\crypto\tls\SupplementalDataType.cs" />
-    <Compile Include="src\crypto\tls\TlsAeadCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsAuthentication.cs" />
-    <Compile Include="src\crypto\tls\TlsBlockCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\TlsClient.cs" />
-    <Compile Include="src\crypto\tls\TlsClientContext.cs" />
-    <Compile Include="src\crypto\tls\TlsClientContextImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsClientProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsContext.cs" />
-    <Compile Include="src\crypto\tls\TlsCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsDHKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsDHUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsDeflateCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsDheKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsDsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsDssSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsECDHKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsECDheKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsECDsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsEccUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsException.cs" />
-    <Compile Include="src\crypto\tls\TlsExtensionsUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsFatalAlert.cs" />
-    <Compile Include="src\crypto\tls\TlsFatalAlertReceived.cs" />
-    <Compile Include="src\crypto\tls\TlsHandshakeHash.cs" />
-    <Compile Include="src\crypto\tls\TlsKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsMac.cs" />
-    <Compile Include="src\crypto\tls\TlsNoCloseNotifyException.cs" />
-    <Compile Include="src\crypto\tls\TlsNullCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsNullCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsPeer.cs" />
-    <Compile Include="src\crypto\tls\TlsProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsProtocolHandler.cs" />
-    <Compile Include="src\crypto\tls\TlsPskIdentity.cs" />
-    <Compile Include="src\crypto\tls\TlsPskIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\TlsPskKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsServer.cs" />
-    <Compile Include="src\crypto\tls\TlsServerContext.cs" />
-    <Compile Include="src\crypto\tls\TlsServerContextImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsServerProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsSession.cs" />
-    <Compile Include="src\crypto\tls\TlsSessionImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpGroupVerifier.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpLoginParameters.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsSrtpUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsStream.cs" />
-    <Compile Include="src\crypto\tls\TlsStreamCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsUtilities.cs" />
-    <Compile Include="src\crypto\tls\UrlAndHash.cs" />
-    <Compile Include="src\crypto\tls\UseSrtpData.cs" />
-    <Compile Include="src\crypto\tls\UserMappingType.cs" />
-    <Compile Include="src\crypto\util\Pack.cs" />
-    <Compile Include="src\math\BigInteger.cs" />
-    <Compile Include="src\math\Primes.cs" />
-    <Compile Include="src\math\ec\ECAlgorithms.cs" />
-    <Compile Include="src\math\ec\ECCurve.cs" />
-    <Compile Include="src\math\ec\ECFieldElement.cs" />
-    <Compile Include="src\math\ec\ECPoint.cs" />
-    <Compile Include="src\math\ec\ECPointMap.cs" />
-    <Compile Include="src\math\ec\LongArray.cs" />
-    <Compile Include="src\math\ec\ScaleXPointMap.cs" />
-    <Compile Include="src\math\ec\ScaleYPointMap.cs" />
-    <Compile Include="src\math\ec\abc\SimpleBigDecimal.cs" />
-    <Compile Include="src\math\ec\abc\Tnaf.cs" />
-    <Compile Include="src\math\ec\abc\ZTauElement.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519Field.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519Point.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Curve.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Field.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571R1Point.cs" />
-    <Compile Include="src\math\ec\endo\ECEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvTypeBEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvTypeBParameters.cs" />
-    <Compile Include="src\math\ec\multiplier\AbstractECMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\DoubleAddMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\ECMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointCombMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointUtilities.cs" />
-    <Compile Include="src\math\ec\multiplier\GlvMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\MixedNafR2LMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\MontgomeryLadderMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\NafL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\NafR2LMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\PreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\ReferenceMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafUtilities.cs" />
-    <Compile Include="src\math\ec\multiplier\WTauNafMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WTauNafPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\ZSignedDigitL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\ZSignedDigitR2LMultiplier.cs" />
-    <Compile Include="src\math\field\FiniteFields.cs" />
-    <Compile Include="src\math\field\GF2Polynomial.cs" />
-    <Compile Include="src\math\field\GenericPolynomialExtensionField.cs" />
-    <Compile Include="src\math\field\IExtensionField.cs" />
-    <Compile Include="src\math\field\IFiniteField.cs" />
-    <Compile Include="src\math\field\IPolynomial.cs" />
-    <Compile Include="src\math\field\IPolynomialExtensionField.cs" />
-    <Compile Include="src\math\field\PrimeField.cs" />
-    <Compile Include="src\math\raw\Interleave.cs" />
-    <Compile Include="src\math\raw\Mod.cs" />
-    <Compile Include="src\math\raw\Nat.cs" />
-    <Compile Include="src\math\raw\Nat128.cs" />
-    <Compile Include="src\math\raw\Nat160.cs" />
-    <Compile Include="src\math\raw\Nat192.cs" />
-    <Compile Include="src\math\raw\Nat224.cs" />
-    <Compile Include="src\math\raw\Nat256.cs" />
-    <Compile Include="src\math\raw\Nat320.cs" />
-    <Compile Include="src\math\raw\Nat384.cs" />
-    <Compile Include="src\math\raw\Nat448.cs" />
-    <Compile Include="src\math\raw\Nat512.cs" />
-    <Compile Include="src\math\raw\Nat576.cs" />
-    <Compile Include="src\ocsp\BasicOCSPResp.cs" />
-    <Compile Include="src\ocsp\BasicOCSPRespGenerator.cs" />
-    <Compile Include="src\ocsp\CertificateID.cs" />
-    <Compile Include="src\ocsp\CertificateStatus.cs" />
-    <Compile Include="src\ocsp\OCSPException.cs" />
-    <Compile Include="src\ocsp\OCSPReq.cs" />
-    <Compile Include="src\ocsp\OCSPReqGenerator.cs" />
-    <Compile Include="src\ocsp\OCSPResp.cs" />
-    <Compile Include="src\ocsp\OCSPRespGenerator.cs" />
-    <Compile Include="src\ocsp\OCSPRespStatus.cs" />
-    <Compile Include="src\ocsp\OCSPUtil.cs" />
-    <Compile Include="src\ocsp\Req.cs" />
-    <Compile Include="src\ocsp\RespData.cs" />
-    <Compile Include="src\ocsp\RespID.cs" />
-    <Compile Include="src\ocsp\RevokedStatus.cs" />
-    <Compile Include="src\ocsp\SingleResp.cs" />
-    <Compile Include="src\ocsp\UnknownStatus.cs" />
-    <Compile Include="src\openpgp\IStreamGenerator.cs" />
-    <Compile Include="src\openpgp\PGPKeyRing.cs" />
-    <Compile Include="src\openpgp\PGPObject.cs" />
-    <Compile Include="src\openpgp\PGPUserAttributeSubpacketVectorGenerator.cs" />
-    <Compile Include="src\openpgp\PgpCompressedData.cs" />
-    <Compile Include="src\openpgp\PgpCompressedDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpDataValidationException.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedDataList.cs" />
-    <Compile Include="src\openpgp\PgpException.cs" />
-    <Compile Include="src\openpgp\PgpExperimental.cs" />
-    <Compile Include="src\openpgp\PgpKeyFlags.cs" />
-    <Compile Include="src\openpgp\PgpKeyPair.cs" />
-    <Compile Include="src\openpgp\PgpKeyRingGenerator.cs" />
-    <Compile Include="src\openpgp\PgpKeyValidationException.cs" />
-    <Compile Include="src\openpgp\PgpLiteralData.cs" />
-    <Compile Include="src\openpgp\PgpLiteralDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpMarker.cs" />
-    <Compile Include="src\openpgp\PgpObjectFactory.cs" />
-    <Compile Include="src\openpgp\PgpOnePassSignature.cs" />
-    <Compile Include="src\openpgp\PgpOnePassSignatureList.cs" />
-    <Compile Include="src\openpgp\PgpPad.cs" />
-    <Compile Include="src\openpgp\PgpPbeEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpPrivateKey.cs" />
-    <Compile Include="src\openpgp\PgpPublicKey.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyRing.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyRingBundle.cs" />
-    <Compile Include="src\openpgp\PgpSecretKey.cs" />
-    <Compile Include="src\openpgp\PgpSecretKeyRing.cs" />
-    <Compile Include="src\openpgp\PgpSecretKeyRingBundle.cs" />
-    <Compile Include="src\openpgp\PgpSignature.cs" />
-    <Compile Include="src\openpgp\PgpSignatureGenerator.cs" />
-    <Compile Include="src\openpgp\PgpSignatureList.cs" />
-    <Compile Include="src\openpgp\PgpSignatureSubpacketGenerator.cs" />
-    <Compile Include="src\openpgp\PgpSignatureSubpacketVector.cs" />
-    <Compile Include="src\openpgp\PgpUserAttributeSubpacketVector.cs" />
-    <Compile Include="src\openpgp\PgpUtilities.cs" />
-    <Compile Include="src\openpgp\PgpV3SignatureGenerator.cs" />
-    <Compile Include="src\openpgp\Rfc6637Utilities.cs" />
-    <Compile Include="src\openpgp\SXprUtilities.cs" />
-    <Compile Include="src\openpgp\WrappedGeneratorStream.cs" />
-    <Compile Include="src\openssl\EncryptionException.cs" />
-    <Compile Include="src\openssl\IPasswordFinder.cs" />
-    <Compile Include="src\openssl\MiscPemGenerator.cs" />
-    <Compile Include="src\openssl\PEMException.cs" />
-    <Compile Include="src\openssl\PEMReader.cs" />
-    <Compile Include="src\openssl\PEMUtilities.cs" />
-    <Compile Include="src\openssl\PEMWriter.cs" />
-    <Compile Include="src\openssl\PasswordException.cs" />
-    <Compile Include="src\openssl\Pkcs8Generator.cs" />
-    <Compile Include="src\pkcs\AsymmetricKeyEntry.cs" />
-    <Compile Include="src\pkcs\EncryptedPrivateKeyInfoFactory.cs" />
-    <Compile Include="src\pkcs\PKCS12StoreBuilder.cs" />
-    <Compile Include="src\pkcs\Pkcs10CertificationRequest.cs" />
-    <Compile Include="src\pkcs\Pkcs10CertificationRequestDelaySigned.cs" />
-    <Compile Include="src\pkcs\Pkcs12Entry.cs" />
-    <Compile Include="src\pkcs\Pkcs12Store.cs" />
-    <Compile Include="src\pkcs\Pkcs12Utilities.cs" />
-    <Compile Include="src\pkcs\PrivateKeyInfoFactory.cs" />
-    <Compile Include="src\pkcs\X509CertificateEntry.cs" />
-    <Compile Include="src\pkix\CertStatus.cs" />
-    <Compile Include="src\pkix\PkixAttrCertChecker.cs" />
-    <Compile Include="src\pkix\PkixAttrCertPathBuilder.cs" />
-    <Compile Include="src\pkix\PkixAttrCertPathValidator.cs" />
-    <Compile Include="src\pkix\PkixBuilderParameters.cs" />
-    <Compile Include="src\pkix\PkixCertPath.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilder.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilderException.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilderResult.cs" />
-    <Compile Include="src\pkix\PkixCertPathChecker.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidator.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorException.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorResult.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorUtilities.cs" />
-    <Compile Include="src\pkix\PkixCrlUtilities.cs" />
-    <Compile Include="src\pkix\PkixNameConstraintValidator.cs" />
-    <Compile Include="src\pkix\PkixNameConstraintValidatorException.cs" />
-    <Compile Include="src\pkix\PkixParameters.cs" />
-    <Compile Include="src\pkix\PkixPolicyNode.cs" />
-    <Compile Include="src\pkix\ReasonsMask.cs" />
-    <Compile Include="src\pkix\Rfc3280CertPathUtilities.cs" />
-    <Compile Include="src\pkix\Rfc3281CertPathUtilities.cs" />
-    <Compile Include="src\pkix\TrustAnchor.cs" />
-    <Compile Include="src\security\AgreementUtilities.cs" />
-    <Compile Include="src\security\CipherUtilities.cs" />
-    <Compile Include="src\security\DigestUtilities.cs" />
-    <Compile Include="src\security\DotNetUtilities.cs" />
-    <Compile Include="src\security\GeneralSecurityException.cs" />
-    <Compile Include="src\security\GeneratorUtilities.cs" />
-    <Compile Include="src\security\InvalidKeyException.cs" />
-    <Compile Include="src\security\InvalidParameterException.cs" />
-    <Compile Include="src\security\KeyException.cs" />
-    <Compile Include="src\security\MacUtilities.cs" />
-    <Compile Include="src\security\NoSuchAlgorithmException.cs" />
-    <Compile Include="src\security\ParameterUtilities.cs" />
-    <Compile Include="src\security\PbeUtilities.cs" />
-    <Compile Include="src\security\PrivateKeyFactory.cs" />
-    <Compile Include="src\security\PublicKeyFactory.cs" />
-    <Compile Include="src\security\SecureRandom.cs" />
-    <Compile Include="src\security\SecurityUtilityException.cs" />
-    <Compile Include="src\security\SignatureException.cs" />
-    <Compile Include="src\security\SignerUtilities.cs" />
-    <Compile Include="src\security\WrapperUtilities.cs" />
-    <Compile Include="src\security\cert\CertificateEncodingException.cs" />
-    <Compile Include="src\security\cert\CertificateException.cs" />
-    <Compile Include="src\security\cert\CertificateExpiredException.cs" />
-    <Compile Include="src\security\cert\CertificateNotYetValidException.cs" />
-    <Compile Include="src\security\cert\CertificateParsingException.cs" />
-    <Compile Include="src\security\cert\CrlException.cs" />
-    <Compile Include="src\tsp\GenTimeAccuracy.cs" />
-    <Compile Include="src\tsp\TSPAlgorithms.cs" />
-    <Compile Include="src\tsp\TSPException.cs" />
-    <Compile Include="src\tsp\TSPUtil.cs" />
-    <Compile Include="src\tsp\TSPValidationException.cs" />
-    <Compile Include="src\tsp\TimeStampRequest.cs" />
-    <Compile Include="src\tsp\TimeStampRequestGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampResponse.cs" />
-    <Compile Include="src\tsp\TimeStampResponseGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampToken.cs" />
-    <Compile Include="src\tsp\TimeStampTokenGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampTokenInfo.cs" />
-    <Compile Include="src\util\Arrays.cs" />
-    <Compile Include="src\util\BigIntegers.cs" />
-    <Compile Include="src\util\Enums.cs" />
-    <Compile Include="src\util\IMemoable.cs" />
-    <Compile Include="src\util\Integers.cs" />
-    <Compile Include="src\util\MemoableResetException.cs" />
-    <Compile Include="src\util\Platform.cs" />
-    <Compile Include="src\util\Strings.cs" />
-    <Compile Include="src\util\Times.cs" />
-    <Compile Include="src\util\collections\CollectionUtilities.cs" />
-    <Compile Include="src\util\collections\EmptyEnumerable.cs" />
-    <Compile Include="src\util\collections\EnumerableProxy.cs" />
-    <Compile Include="src\util\collections\HashSet.cs" />
-    <Compile Include="src\util\collections\ISet.cs" />
-    <Compile Include="src\util\collections\LinkedDictionary.cs" />
-    <Compile Include="src\util\collections\UnmodifiableDictionary.cs" />
-    <Compile Include="src\util\collections\UnmodifiableDictionaryProxy.cs" />
-    <Compile Include="src\util\collections\UnmodifiableList.cs" />
-    <Compile Include="src\util\collections\UnmodifiableListProxy.cs" />
-    <Compile Include="src\util\collections\UnmodifiableSet.cs" />
-    <Compile Include="src\util\collections\UnmodifiableSetProxy.cs" />
-    <Compile Include="src\util\date\DateTimeObject.cs" />
-    <Compile Include="src\util\date\DateTimeUtilities.cs" />
-    <Compile Include="src\util\encoders\Base64.cs" />
-    <Compile Include="src\util\encoders\Base64Encoder.cs" />
-    <Compile Include="src\util\encoders\BufferedDecoder.cs" />
-    <Compile Include="src\util\encoders\BufferedEncoder.cs" />
-    <Compile Include="src\util\encoders\Hex.cs" />
-    <Compile Include="src\util\encoders\HexEncoder.cs" />
-    <Compile Include="src\util\encoders\HexTranslator.cs" />
-    <Compile Include="src\util\encoders\IEncoder.cs" />
-    <Compile Include="src\util\encoders\Translator.cs" />
-    <Compile Include="src\util\encoders\UrlBase64.cs" />
-    <Compile Include="src\util\encoders\UrlBase64Encoder.cs" />
-    <Compile Include="src\util\io\BaseInputStream.cs" />
-    <Compile Include="src\util\io\BaseOutputStream.cs" />
-    <Compile Include="src\util\io\FilterStream.cs" />
-    <Compile Include="src\util\io\NullOutputStream.cs" />
-    <Compile Include="src\util\io\PushbackStream.cs" />
-    <Compile Include="src\util\io\StreamOverflowException.cs" />
-    <Compile Include="src\util\io\Streams.cs" />
-    <Compile Include="src\util\io\TeeInputStream.cs" />
-    <Compile Include="src\util\io\TeeOutputStream.cs" />
-    <Compile Include="src\util\io\pem\PemGenerationException.cs" />
-    <Compile Include="src\util\io\pem\PemHeader.cs" />
-    <Compile Include="src\util\io\pem\PemObject.cs" />
-    <Compile Include="src\util\io\pem\PemObjectGenerator.cs" />
-    <Compile Include="src\util\io\pem\PemObjectParser.cs" />
-    <Compile Include="src\util\io\pem\PemReader.cs" />
-    <Compile Include="src\util\io\pem\PemWriter.cs" />
-    <Compile Include="src\util\net\IPAddress.cs" />
-    <Compile Include="src\util\TypeExtensions.cs" />
-    <Compile Include="src\util\zlib\Adler32.cs" />
-    <Compile Include="src\util\zlib\Deflate.cs" />
-    <Compile Include="src\util\zlib\InfBlocks.cs" />
-    <Compile Include="src\util\zlib\InfCodes.cs" />
-    <Compile Include="src\util\zlib\InfTree.cs" />
-    <Compile Include="src\util\zlib\Inflate.cs" />
-    <Compile Include="src\util\zlib\JZlib.cs" />
-    <Compile Include="src\util\zlib\StaticTree.cs" />
-    <Compile Include="src\util\zlib\Tree.cs" />
-    <Compile Include="src\util\zlib\ZDeflaterOutputStream.cs" />
-    <Compile Include="src\util\zlib\ZInflaterInputStream.cs" />
-    <Compile Include="src\util\zlib\ZInputStream.cs" />
-    <Compile Include="src\util\zlib\ZOutputStream.cs" />
-    <Compile Include="src\util\zlib\ZStream.cs" />
-    <Compile Include="src\x509\AttributeCertificateHolder.cs" />
-    <Compile Include="src\x509\AttributeCertificateIssuer.cs" />
-    <Compile Include="src\x509\IX509AttributeCertificate.cs" />
-    <Compile Include="src\x509\IX509Extension.cs" />
-    <Compile Include="src\x509\PEMParser.cs" />
-    <Compile Include="src\x509\PrincipalUtil.cs" />
-    <Compile Include="src\x509\SubjectPublicKeyInfoFactory.cs" />
-    <Compile Include="src\x509\X509AttrCertParser.cs" />
-    <Compile Include="src\x509\X509Attribute.cs" />
-    <Compile Include="src\x509\X509CertPairParser.cs" />
-    <Compile Include="src\x509\X509Certificate.cs" />
-    <Compile Include="src\x509\X509CertificatePair.cs" />
-    <Compile Include="src\x509\X509CertificateParser.cs" />
-    <Compile Include="src\x509\X509Crl.cs" />
-    <Compile Include="src\x509\X509CrlEntry.cs" />
-    <Compile Include="src\x509\X509CrlParser.cs" />
-    <Compile Include="src\x509\X509ExtensionBase.cs" />
-    <Compile Include="src\x509\X509KeyUsage.cs" />
-    <Compile Include="src\x509\X509SignatureUtil.cs" />
-    <Compile Include="src\x509\X509Utilities.cs" />
-    <Compile Include="src\x509\X509V1CertificateGenerator.cs" />
-    <Compile Include="src\x509\X509V2AttributeCertificate.cs" />
-    <Compile Include="src\x509\X509V2AttributeCertificateGenerator.cs" />
-    <Compile Include="src\x509\X509V2CRLGenerator.cs" />
-    <Compile Include="src\x509\X509V3CertificateGenerator.cs" />
-    <Compile Include="src\x509\extension\AuthorityKeyIdentifierStructure.cs" />
-    <Compile Include="src\x509\extension\SubjectKeyIdentifierStructure.cs" />
-    <Compile Include="src\x509\extension\X509ExtensionUtil.cs" />
-    <Compile Include="src\x509\store\IX509Selector.cs" />
-    <Compile Include="src\x509\store\IX509Store.cs" />
-    <Compile Include="src\x509\store\IX509StoreParameters.cs" />
-    <Compile Include="src\x509\store\NoSuchStoreException.cs" />
-    <Compile Include="src\x509\store\X509AttrCertStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CertPairStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CertStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CollectionStore.cs" />
-    <Compile Include="src\x509\store\X509CollectionStoreParameters.cs" />
-    <Compile Include="src\x509\store\X509CrlStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509StoreException.cs" />
-    <Compile Include="src\x509\store\X509StoreFactory.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Contributors.html" />
-    <None Include="License.html" />
-    <None Include="Readme.html" />
-    <None Include="checklist.txt" />
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
-</Project>
\ No newline at end of file
diff --git a/crypto/BouncyCastle.csproj b/crypto/BouncyCastle.csproj
deleted file mode 100644
index 004e35e78..000000000
--- a/crypto/BouncyCastle.csproj
+++ /dev/null
@@ -1,1542 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == 'Any CPU' ">AnyCPU</Platform>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.30703</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{4C235092-820C-4DEB-9074-D356FB797D8B}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>Org.BouncyCastle</RootNamespace>
-    <AssemblyName>BouncyCastle</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\lib\net20</OutputPath>
-    <IntermediateOutputPath>obj\Debug\lib\net20</IntermediateOutputPath>
-    <DefineConstants>DEBUG;TRACE;INCLUDE_IDEA;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\lib\net20</OutputPath>
-    <IntermediateOutputPath>obj\Release\lib\net20</IntermediateOutputPath>
-    <DefineConstants>TRACE;INCLUDE_IDEA;</DefineConstants>
-    <DocumentationFile>doc\BouncyCastle.xml</DocumentationFile>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <NoWarn>1591</NoWarn>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>..\BouncyCastle.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="bzip2\src\BZip2Constants.cs" />
-    <Compile Include="bzip2\src\CBZip2InputStream.cs" />
-    <Compile Include="bzip2\src\CBZip2OutputStream.cs" />
-    <Compile Include="bzip2\src\CRC.cs" />
-    <Compile Include="src\asn1\BERBitString.cs" />
-    <Compile Include="src\AssemblyInfo.cs" />
-    <Compile Include="src\asn1\ASN1Generator.cs" />
-    <Compile Include="src\asn1\ASN1OctetStringParser.cs" />
-    <Compile Include="src\asn1\ASN1SequenceParser.cs" />
-    <Compile Include="src\asn1\ASN1SetParser.cs" />
-    <Compile Include="src\asn1\ASN1StreamParser.cs" />
-    <Compile Include="src\asn1\ASN1TaggedObjectParser.cs" />
-    <Compile Include="src\asn1\Asn1Encodable.cs" />
-    <Compile Include="src\asn1\Asn1EncodableVector.cs" />
-    <Compile Include="src\asn1\Asn1Exception.cs" />
-    <Compile Include="src\asn1\Asn1InputStream.cs" />
-    <Compile Include="src\asn1\Asn1Null.cs" />
-    <Compile Include="src\asn1\Asn1Object.cs" />
-    <Compile Include="src\asn1\Asn1OctetString.cs" />
-    <Compile Include="src\asn1\Asn1OutputStream.cs" />
-    <Compile Include="src\asn1\Asn1ParsingException.cs" />
-    <Compile Include="src\asn1\Asn1Sequence.cs" />
-    <Compile Include="src\asn1\Asn1Set.cs" />
-    <Compile Include="src\asn1\Asn1TaggedObject.cs" />
-    <Compile Include="src\asn1\Asn1Tags.cs" />
-    <Compile Include="src\asn1\BERGenerator.cs" />
-    <Compile Include="src\asn1\BEROctetStringGenerator.cs" />
-    <Compile Include="src\asn1\BEROctetStringParser.cs" />
-    <Compile Include="src\asn1\BERSequenceGenerator.cs" />
-    <Compile Include="src\asn1\BERSequenceParser.cs" />
-    <Compile Include="src\asn1\BERSetGenerator.cs" />
-    <Compile Include="src\asn1\BERSetParser.cs" />
-    <Compile Include="src\asn1\BERTaggedObjectParser.cs" />
-    <Compile Include="src\asn1\BerApplicationSpecific.cs" />
-    <Compile Include="src\asn1\BerApplicationSpecificParser.cs" />
-    <Compile Include="src\asn1\BerNull.cs" />
-    <Compile Include="src\asn1\BerOctetString.cs" />
-    <Compile Include="src\asn1\BerOutputStream.cs" />
-    <Compile Include="src\asn1\BerSequence.cs" />
-    <Compile Include="src\asn1\BerSet.cs" />
-    <Compile Include="src\asn1\BerTaggedObject.cs" />
-    <Compile Include="src\asn1\ConstructedOctetStream.cs" />
-    <Compile Include="src\asn1\DERExternal.cs" />
-    <Compile Include="src\asn1\DERExternalParser.cs" />
-    <Compile Include="src\asn1\DERGenerator.cs" />
-    <Compile Include="src\asn1\DEROctetStringParser.cs" />
-    <Compile Include="src\asn1\DERSequenceGenerator.cs" />
-    <Compile Include="src\asn1\DERSequenceParser.cs" />
-    <Compile Include="src\asn1\DERSetGenerator.cs" />
-    <Compile Include="src\asn1\DERSetParser.cs" />
-    <Compile Include="src\asn1\DefiniteLengthInputStream.cs" />
-    <Compile Include="src\asn1\DerApplicationSpecific.cs" />
-    <Compile Include="src\asn1\DerBMPString.cs" />
-    <Compile Include="src\asn1\DerBitString.cs" />
-    <Compile Include="src\asn1\DerBoolean.cs" />
-    <Compile Include="src\asn1\DerEnumerated.cs" />
-    <Compile Include="src\asn1\DerGeneralString.cs" />
-    <Compile Include="src\asn1\DerGeneralizedTime.cs" />
-    <Compile Include="src\asn1\DerGraphicString.cs" />
-    <Compile Include="src\asn1\DerIA5String.cs" />
-    <Compile Include="src\asn1\DerInteger.cs" />
-    <Compile Include="src\asn1\DerNull.cs" />
-    <Compile Include="src\asn1\DerNumericString.cs" />
-    <Compile Include="src\asn1\DerObjectIdentifier.cs" />
-    <Compile Include="src\asn1\DerOctetString.cs" />
-    <Compile Include="src\asn1\DerOutputStream.cs" />
-    <Compile Include="src\asn1\DerPrintableString.cs" />
-    <Compile Include="src\asn1\DerSequence.cs" />
-    <Compile Include="src\asn1\DerSet.cs" />
-    <Compile Include="src\asn1\DerStringBase.cs" />
-    <Compile Include="src\asn1\DerT61String.cs" />
-    <Compile Include="src\asn1\DerTaggedObject.cs" />
-    <Compile Include="src\asn1\DerUTCTime.cs" />
-    <Compile Include="src\asn1\DerUTF8String.cs" />
-    <Compile Include="src\asn1\DerUniversalString.cs" />
-    <Compile Include="src\asn1\DerVideotexString.cs" />
-    <Compile Include="src\asn1\DerVisibleString.cs" />
-    <Compile Include="src\asn1\IAsn1ApplicationSpecificParser.cs" />
-    <Compile Include="src\asn1\IAsn1Choice.cs" />
-    <Compile Include="src\asn1\IAsn1Convertible.cs" />
-    <Compile Include="src\asn1\IAsn1String.cs" />
-    <Compile Include="src\asn1\IndefiniteLengthInputStream.cs" />
-    <Compile Include="src\asn1\LazyASN1InputStream.cs" />
-    <Compile Include="src\asn1\LazyDERSequence.cs" />
-    <Compile Include="src\asn1\LazyDERSet.cs" />
-    <Compile Include="src\asn1\LimitedInputStream.cs" />
-    <Compile Include="src\asn1\OidTokenizer.cs" />
-    <Compile Include="src\asn1\anssi\ANSSINamedCurves.cs" />
-    <Compile Include="src\asn1\anssi\ANSSIObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\bc\BCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cmp\CAKeyUpdAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\CertConfirmContent.cs" />
-    <Compile Include="src\asn1\cmp\CertOrEncCert.cs" />
-    <Compile Include="src\asn1\cmp\CertRepMessage.cs" />
-    <Compile Include="src\asn1\cmp\CertResponse.cs" />
-    <Compile Include="src\asn1\cmp\CertStatus.cs" />
-    <Compile Include="src\asn1\cmp\CertifiedKeyPair.cs" />
-    <Compile Include="src\asn1\cmp\Challenge.cs" />
-    <Compile Include="src\asn1\cmp\CmpCertificate.cs" />
-    <Compile Include="src\asn1\cmp\CmpObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cmp\CrlAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\ErrorMsgContent.cs" />
-    <Compile Include="src\asn1\cmp\GenMsgContent.cs" />
-    <Compile Include="src\asn1\cmp\GenRepContent.cs" />
-    <Compile Include="src\asn1\cmp\InfoTypeAndValue.cs" />
-    <Compile Include="src\asn1\cmp\KeyRecRepContent.cs" />
-    <Compile Include="src\asn1\cmp\OobCertHash.cs" />
-    <Compile Include="src\asn1\cmp\PKIBody.cs" />
-    <Compile Include="src\asn1\cmp\PKIConfirmContent.cs" />
-    <Compile Include="src\asn1\cmp\PKIFailureInfo.cs" />
-    <Compile Include="src\asn1\cmp\PKIFreeText.cs" />
-    <Compile Include="src\asn1\cmp\PKIHeader.cs" />
-    <Compile Include="src\asn1\cmp\PKIHeaderBuilder.cs" />
-    <Compile Include="src\asn1\cmp\PKIMessage.cs" />
-    <Compile Include="src\asn1\cmp\PKIMessages.cs" />
-    <Compile Include="src\asn1\cmp\PKIStatus.cs" />
-    <Compile Include="src\asn1\cmp\PKIStatusInfo.cs" />
-    <Compile Include="src\asn1\cmp\PbmParameter.cs" />
-    <Compile Include="src\asn1\cmp\PollRepContent.cs" />
-    <Compile Include="src\asn1\cmp\PollReqContent.cs" />
-    <Compile Include="src\asn1\cmp\PopoDecKeyChallContent.cs" />
-    <Compile Include="src\asn1\cmp\PopoDecKeyRespContent.cs" />
-    <Compile Include="src\asn1\cmp\ProtectedPart.cs" />
-    <Compile Include="src\asn1\cmp\RevAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\RevDetails.cs" />
-    <Compile Include="src\asn1\cmp\RevRepContent.cs" />
-    <Compile Include="src\asn1\cmp\RevRepContentBuilder.cs" />
-    <Compile Include="src\asn1\cmp\RevReqContent.cs" />
-    <Compile Include="src\asn1\cms\Attribute.cs" />
-    <Compile Include="src\asn1\cms\AttributeTable.cs" />
-    <Compile Include="src\asn1\cms\Attributes.cs" />
-    <Compile Include="src\asn1\cms\AuthEnvelopedData.cs" />
-    <Compile Include="src\asn1\cms\AuthEnvelopedDataParser.cs" />
-    <Compile Include="src\asn1\cms\AuthenticatedData.cs" />
-    <Compile Include="src\asn1\cms\AuthenticatedDataParser.cs" />
-    <Compile Include="src\asn1\cms\CMSAttributes.cs" />
-    <Compile Include="src\asn1\cms\CMSObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cms\CompressedData.cs" />
-    <Compile Include="src\asn1\cms\CompressedDataParser.cs" />
-    <Compile Include="src\asn1\cms\ContentInfo.cs" />
-    <Compile Include="src\asn1\cms\ContentInfoParser.cs" />
-    <Compile Include="src\asn1\cms\EncryptedContentInfo.cs" />
-    <Compile Include="src\asn1\cms\EncryptedContentInfoParser.cs" />
-    <Compile Include="src\asn1\cms\EncryptedData.cs" />
-    <Compile Include="src\asn1\cms\EnvelopedData.cs" />
-    <Compile Include="src\asn1\cms\EnvelopedDataParser.cs" />
-    <Compile Include="src\asn1\cms\Evidence.cs" />
-    <Compile Include="src\asn1\cms\IssuerAndSerialNumber.cs" />
-    <Compile Include="src\asn1\cms\KEKIdentifier.cs" />
-    <Compile Include="src\asn1\cms\KEKRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\KeyAgreeRecipientIdentifier.cs" />
-    <Compile Include="src\asn1\cms\KeyAgreeRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\KeyTransRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\MetaData.cs" />
-    <Compile Include="src\asn1\cms\OriginatorIdentifierOrKey.cs" />
-    <Compile Include="src\asn1\cms\OriginatorInfo.cs" />
-    <Compile Include="src\asn1\cms\OriginatorPublicKey.cs" />
-    <Compile Include="src\asn1\cms\OtherKeyAttribute.cs" />
-    <Compile Include="src\asn1\cms\OtherRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\OtherRevocationInfoFormat.cs" />
-    <Compile Include="src\asn1\cms\PasswordRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\RecipientEncryptedKey.cs" />
-    <Compile Include="src\asn1\cms\RecipientIdentifier.cs" />
-    <Compile Include="src\asn1\cms\RecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\RecipientKeyIdentifier.cs" />
-    <Compile Include="src\asn1\cms\SCVPReqRes.cs" />
-    <Compile Include="src\asn1\cms\SignedData.cs" />
-    <Compile Include="src\asn1\cms\SignedDataParser.cs" />
-    <Compile Include="src\asn1\cms\SignerIdentifier.cs" />
-    <Compile Include="src\asn1\cms\SignerInfo.cs" />
-    <Compile Include="src\asn1\cms\Time.cs" />
-    <Compile Include="src\asn1\cms\TimeStampAndCRL.cs" />
-    <Compile Include="src\asn1\cms\TimeStampTokenEvidence.cs" />
-    <Compile Include="src\asn1\cms\TimeStampedData.cs" />
-    <Compile Include="src\asn1\cms\TimeStampedDataParser.cs" />
-    <Compile Include="src\asn1\cms\ecc\MQVuserKeyingMaterial.cs" />
-    <Compile Include="src\asn1\crmf\AttributeTypeAndValue.cs" />
-    <Compile Include="src\asn1\crmf\CertId.cs" />
-    <Compile Include="src\asn1\crmf\CertReqMessages.cs" />
-    <Compile Include="src\asn1\crmf\CertReqMsg.cs" />
-    <Compile Include="src\asn1\crmf\CertRequest.cs" />
-    <Compile Include="src\asn1\crmf\CertTemplate.cs" />
-    <Compile Include="src\asn1\crmf\CertTemplateBuilder.cs" />
-    <Compile Include="src\asn1\crmf\Controls.cs" />
-    <Compile Include="src\asn1\crmf\CrmfObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\crmf\EncKeyWithID.cs" />
-    <Compile Include="src\asn1\crmf\EncryptedKey.cs" />
-    <Compile Include="src\asn1\crmf\EncryptedValue.cs" />
-    <Compile Include="src\asn1\crmf\OptionalValidity.cs" />
-    <Compile Include="src\asn1\crmf\PKIArchiveOptions.cs" />
-    <Compile Include="src\asn1\crmf\PKIPublicationInfo.cs" />
-    <Compile Include="src\asn1\crmf\PKMacValue.cs" />
-    <Compile Include="src\asn1\crmf\PopoPrivKey.cs" />
-    <Compile Include="src\asn1\crmf\PopoSigningKey.cs" />
-    <Compile Include="src\asn1\crmf\PopoSigningKeyInput.cs" />
-    <Compile Include="src\asn1\crmf\ProofOfPossession.cs" />
-    <Compile Include="src\asn1\crmf\SinglePubInfo.cs" />
-    <Compile Include="src\asn1\crmf\SubsequentMessage.cs" />
-    <Compile Include="src\asn1\cryptopro\CryptoProObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cryptopro\ECGOST3410NamedCurves.cs" />
-    <Compile Include="src\asn1\cryptopro\ECGOST3410ParamSetParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST28147Parameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410NamedParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410ParamSetParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410PublicKeyAlgParameters.cs" />
-    <Compile Include="src\asn1\eac\EACObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\esf\CertificateValues.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeIdentifier.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeIndication.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeQualifier.cs" />
-    <Compile Include="src\asn1\esf\CompleteCertificateRefs.cs" />
-    <Compile Include="src\asn1\esf\CompleteRevocationRefs.cs" />
-    <Compile Include="src\asn1\esf\CrlIdentifier.cs" />
-    <Compile Include="src\asn1\esf\CrlListID.cs" />
-    <Compile Include="src\asn1\esf\CrlOcspRef.cs" />
-    <Compile Include="src\asn1\esf\CrlValidatedID.cs" />
-    <Compile Include="src\asn1\esf\ESFAttributes.cs" />
-    <Compile Include="src\asn1\esf\OcspIdentifier.cs" />
-    <Compile Include="src\asn1\esf\OcspListID.cs" />
-    <Compile Include="src\asn1\esf\OcspResponsesID.cs" />
-    <Compile Include="src\asn1\esf\OtherCertID.cs" />
-    <Compile Include="src\asn1\esf\OtherHash.cs" />
-    <Compile Include="src\asn1\esf\OtherHashAlgAndValue.cs" />
-    <Compile Include="src\asn1\esf\OtherRevRefs.cs" />
-    <Compile Include="src\asn1\esf\OtherRevVals.cs" />
-    <Compile Include="src\asn1\esf\OtherSigningCertificate.cs" />
-    <Compile Include="src\asn1\esf\RevocationValues.cs" />
-    <Compile Include="src\asn1\esf\SigPolicyQualifierInfo.cs" />
-    <Compile Include="src\asn1\esf\SignaturePolicyId.cs" />
-    <Compile Include="src\asn1\esf\SignaturePolicyIdentifier.cs" />
-    <Compile Include="src\asn1\esf\SignerAttribute.cs" />
-    <Compile Include="src\asn1\esf\SignerLocation.cs" />
-    <Compile Include="src\asn1\ess\ContentHints.cs" />
-    <Compile Include="src\asn1\ess\ContentIdentifier.cs" />
-    <Compile Include="src\asn1\ess\ESSCertID.cs" />
-    <Compile Include="src\asn1\ess\ESSCertIDv2.cs" />
-    <Compile Include="src\asn1\ess\OtherCertID.cs" />
-    <Compile Include="src\asn1\ess\OtherSigningCertificate.cs" />
-    <Compile Include="src\asn1\ess\SigningCertificate.cs" />
-    <Compile Include="src\asn1\ess\SigningCertificateV2.cs" />
-    <Compile Include="src\asn1\gm\GMNamedCurves.cs" />
-    <Compile Include="src\asn1\gm\GMObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\gnu\GNUObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\iana\IANAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\icao\CscaMasterList.cs" />
-    <Compile Include="src\asn1\icao\DataGroupHash.cs" />
-    <Compile Include="src\asn1\icao\ICAOObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\icao\LDSSecurityObject.cs" />
-    <Compile Include="src\asn1\icao\LDSVersionInfo.cs" />
-    <Compile Include="src\asn1\isismtt\ISISMTTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\isismtt\ocsp\CertHash.cs" />
-    <Compile Include="src\asn1\isismtt\ocsp\RequestedCertificate.cs" />
-    <Compile Include="src\asn1\isismtt\x509\AdditionalInformationSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\AdmissionSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\Admissions.cs" />
-    <Compile Include="src\asn1\isismtt\x509\DeclarationOfMajority.cs" />
-    <Compile Include="src\asn1\isismtt\x509\MonetaryLimit.cs" />
-    <Compile Include="src\asn1\isismtt\x509\NamingAuthority.cs" />
-    <Compile Include="src\asn1\isismtt\x509\ProcurationSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\ProfessionInfo.cs" />
-    <Compile Include="src\asn1\isismtt\x509\Restriction.cs" />
-    <Compile Include="src\asn1\kisa\KISAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\microsoft\MicrosoftObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\misc\CAST5CBCParameters.cs" />
-    <Compile Include="src\asn1\misc\IDEACBCPar.cs" />
-    <Compile Include="src\asn1\misc\MiscObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\misc\NetscapeCertType.cs" />
-    <Compile Include="src\asn1\misc\NetscapeRevocationURL.cs" />
-    <Compile Include="src\asn1\misc\VerisignCzagExtension.cs" />
-    <Compile Include="src\asn1\mozilla\PublicKeyAndChallenge.cs" />
-    <Compile Include="src\asn1\nist\NISTNamedCurves.cs" />
-    <Compile Include="src\asn1\nist\NISTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ntt\NTTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ocsp\BasicOCSPResponse.cs" />
-    <Compile Include="src\asn1\ocsp\CertID.cs" />
-    <Compile Include="src\asn1\ocsp\CertStatus.cs" />
-    <Compile Include="src\asn1\ocsp\CrlID.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPRequest.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPResponse.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPResponseStatus.cs" />
-    <Compile Include="src\asn1\ocsp\Request.cs" />
-    <Compile Include="src\asn1\ocsp\ResponderID.cs" />
-    <Compile Include="src\asn1\ocsp\ResponseBytes.cs" />
-    <Compile Include="src\asn1\ocsp\ResponseData.cs" />
-    <Compile Include="src\asn1\ocsp\RevokedInfo.cs" />
-    <Compile Include="src\asn1\ocsp\ServiceLocator.cs" />
-    <Compile Include="src\asn1\ocsp\Signature.cs" />
-    <Compile Include="src\asn1\ocsp\SingleResponse.cs" />
-    <Compile Include="src\asn1\ocsp\TBSRequest.cs" />
-    <Compile Include="src\asn1\oiw\ElGamalParameter.cs" />
-    <Compile Include="src\asn1\oiw\OIWObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\pkcs\Attribute.cs" />
-    <Compile Include="src\asn1\pkcs\AuthenticatedSafe.cs" />
-    <Compile Include="src\asn1\pkcs\CertBag.cs" />
-    <Compile Include="src\asn1\pkcs\CertificationRequest.cs" />
-    <Compile Include="src\asn1\pkcs\CertificationRequestInfo.cs" />
-    <Compile Include="src\asn1\pkcs\ContentInfo.cs" />
-    <Compile Include="src\asn1\pkcs\DHParameter.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptedData.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptedPrivateKeyInfo.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptionScheme.cs" />
-    <Compile Include="src\asn1\pkcs\IssuerAndSerialNumber.cs" />
-    <Compile Include="src\asn1\pkcs\KeyDerivationFunc.cs" />
-    <Compile Include="src\asn1\pkcs\MacData.cs" />
-    <Compile Include="src\asn1\pkcs\PBEParameter.cs" />
-    <Compile Include="src\asn1\pkcs\PBES2Parameters.cs" />
-    <Compile Include="src\asn1\pkcs\PBKDF2Params.cs" />
-    <Compile Include="src\asn1\pkcs\PKCS12PBEParams.cs" />
-    <Compile Include="src\asn1\pkcs\PKCSObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\pkcs\Pfx.cs" />
-    <Compile Include="src\asn1\pkcs\PrivateKeyInfo.cs" />
-    <Compile Include="src\asn1\pkcs\RC2CBCParameter.cs" />
-    <Compile Include="src\asn1\pkcs\RSAESOAEPparams.cs" />
-    <Compile Include="src\asn1\pkcs\RSAPrivateKeyStructure.cs" />
-    <Compile Include="src\asn1\pkcs\RSASSAPSSparams.cs" />
-    <Compile Include="src\asn1\pkcs\SafeBag.cs" />
-    <Compile Include="src\asn1\pkcs\SignedData.cs" />
-    <Compile Include="src\asn1\pkcs\SignerInfo.cs" />
-    <Compile Include="src\asn1\rosstandart\RosstandartObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\sec\ECPrivateKeyStructure.cs" />
-    <Compile Include="src\asn1\sec\SECNamedCurves.cs" />
-    <Compile Include="src\asn1\sec\SECObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\smime\SMIMEAttributes.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilities.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilitiesAttribute.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapability.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilityVector.cs" />
-    <Compile Include="src\asn1\smime\SMIMEEncryptionKeyPreferenceAttribute.cs" />
-    <Compile Include="src\asn1\teletrust\TeleTrusTNamedCurves.cs" />
-    <Compile Include="src\asn1\teletrust\TeleTrusTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\tsp\Accuracy.cs" />
-    <Compile Include="src\asn1\tsp\MessageImprint.cs" />
-    <Compile Include="src\asn1\tsp\TSTInfo.cs" />
-    <Compile Include="src\asn1\tsp\TimeStampReq.cs" />
-    <Compile Include="src\asn1\tsp\TimeStampResp.cs" />
-    <Compile Include="src\asn1\ua\UAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\util\Asn1Dump.cs" />
-    <Compile Include="src\asn1\util\Dump.cs" />
-    <Compile Include="src\asn1\util\FilterStream.cs" />
-    <Compile Include="src\asn1\x500\DirectoryString.cs" />
-    <Compile Include="src\asn1\x509\AccessDescription.cs" />
-    <Compile Include="src\asn1\x509\AlgorithmIdentifier.cs" />
-    <Compile Include="src\asn1\x509\AttCertIssuer.cs" />
-    <Compile Include="src\asn1\x509\AttCertValidityPeriod.cs" />
-    <Compile Include="src\asn1\x509\Attribute.cs" />
-    <Compile Include="src\asn1\x509\AttributeCertificate.cs" />
-    <Compile Include="src\asn1\x509\AttributeCertificateInfo.cs" />
-    <Compile Include="src\asn1\x509\AttributeTable.cs" />
-    <Compile Include="src\asn1\x509\AuthorityInformationAccess.cs" />
-    <Compile Include="src\asn1\x509\AuthorityKeyIdentifier.cs" />
-    <Compile Include="src\asn1\x509\BasicConstraints.cs" />
-    <Compile Include="src\asn1\x509\CRLDistPoint.cs" />
-    <Compile Include="src\asn1\x509\CRLNumber.cs" />
-    <Compile Include="src\asn1\x509\CRLReason.cs" />
-    <Compile Include="src\asn1\x509\CertPolicyId.cs" />
-    <Compile Include="src\asn1\x509\CertificateList.cs" />
-    <Compile Include="src\asn1\x509\CertificatePair.cs" />
-    <Compile Include="src\asn1\x509\CertificatePolicies.cs" />
-    <Compile Include="src\asn1\x509\DSAParameter.cs" />
-    <Compile Include="src\asn1\x509\DigestInfo.cs" />
-    <Compile Include="src\asn1\x509\DisplayText.cs" />
-    <Compile Include="src\asn1\x509\DistributionPoint.cs" />
-    <Compile Include="src\asn1\x509\DistributionPointName.cs" />
-    <Compile Include="src\asn1\x509\ExtendedKeyUsage.cs" />
-    <Compile Include="src\asn1\x509\GeneralName.cs" />
-    <Compile Include="src\asn1\x509\GeneralNames.cs" />
-    <Compile Include="src\asn1\x509\GeneralSubtree.cs" />
-    <Compile Include="src\asn1\x509\Holder.cs" />
-    <Compile Include="src\asn1\x509\IetfAttrSyntax.cs" />
-    <Compile Include="src\asn1\x509\IssuerSerial.cs" />
-    <Compile Include="src\asn1\x509\IssuingDistributionPoint.cs" />
-    <Compile Include="src\asn1\x509\KeyPurposeId.cs" />
-    <Compile Include="src\asn1\x509\KeyUsage.cs" />
-    <Compile Include="src\asn1\x509\NameConstraints.cs" />
-    <Compile Include="src\asn1\x509\NoticeReference.cs" />
-    <Compile Include="src\asn1\x509\ObjectDigestInfo.cs" />
-    <Compile Include="src\asn1\x509\PolicyInformation.cs" />
-    <Compile Include="src\asn1\x509\PolicyMappings.cs" />
-    <Compile Include="src\asn1\x509\PolicyQualifierId.cs" />
-    <Compile Include="src\asn1\x509\PolicyQualifierInfo.cs" />
-    <Compile Include="src\asn1\x509\PrivateKeyUsagePeriod.cs" />
-    <Compile Include="src\asn1\x509\RSAPublicKeyStructure.cs" />
-    <Compile Include="src\asn1\x509\ReasonFlags.cs" />
-    <Compile Include="src\asn1\x509\RoleSyntax.cs" />
-    <Compile Include="src\asn1\x509\SubjectDirectoryAttributes.cs" />
-    <Compile Include="src\asn1\x509\SubjectKeyIdentifier.cs" />
-    <Compile Include="src\asn1\x509\SubjectPublicKeyInfo.cs" />
-    <Compile Include="src\asn1\x509\TBSCertList.cs" />
-    <Compile Include="src\asn1\x509\TBSCertificateStructure.cs" />
-    <Compile Include="src\asn1\x509\Target.cs" />
-    <Compile Include="src\asn1\x509\TargetInformation.cs" />
-    <Compile Include="src\asn1\x509\Targets.cs" />
-    <Compile Include="src\asn1\x509\Time.cs" />
-    <Compile Include="src\asn1\x509\UserNotice.cs" />
-    <Compile Include="src\asn1\x509\V1TBSCertificateGenerator.cs" />
-    <Compile Include="src\asn1\x509\V2AttributeCertificateInfoGenerator.cs" />
-    <Compile Include="src\asn1\x509\V2Form.cs" />
-    <Compile Include="src\asn1\x509\V2TBSCertListGenerator.cs" />
-    <Compile Include="src\asn1\x509\V3TBSCertificateGenerator.cs" />
-    <Compile Include="src\asn1\x509\X509Attributes.cs" />
-    <Compile Include="src\asn1\x509\X509CertificateStructure.cs" />
-    <Compile Include="src\asn1\x509\X509DefaultEntryConverter.cs" />
-    <Compile Include="src\asn1\x509\X509Extension.cs" />
-    <Compile Include="src\asn1\x509\X509Extensions.cs" />
-    <Compile Include="src\asn1\x509\X509ExtensionsGenerator.cs" />
-    <Compile Include="src\asn1\x509\X509Name.cs" />
-    <Compile Include="src\asn1\x509\X509NameEntryConverter.cs" />
-    <Compile Include="src\asn1\x509\X509NameTokenizer.cs" />
-    <Compile Include="src\asn1\x509\X509ObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\BiometricData.cs" />
-    <Compile Include="src\asn1\x509\qualified\ETSIQCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\Iso4217CurrencyCode.cs" />
-    <Compile Include="src\asn1\x509\qualified\MonetaryValue.cs" />
-    <Compile Include="src\asn1\x509\qualified\QCStatement.cs" />
-    <Compile Include="src\asn1\x509\qualified\RFC3739QCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\SemanticsInformation.cs" />
-    <Compile Include="src\asn1\x509\qualified\TypeOfBiometricData.cs" />
-    <Compile Include="src\asn1\x509\sigi\NameOrPseudonym.cs" />
-    <Compile Include="src\asn1\x509\sigi\PersonalData.cs" />
-    <Compile Include="src\asn1\x509\sigi\SigIObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x9\DHDomainParameters.cs" />
-    <Compile Include="src\asn1\x9\DHPublicKey.cs" />
-    <Compile Include="src\asn1\x9\DHValidationParms.cs" />
-    <Compile Include="src\asn1\x9\ECNamedCurveTable.cs" />
-    <Compile Include="src\asn1\x9\KeySpecificInfo.cs" />
-    <Compile Include="src\asn1\x9\OtherInfo.cs" />
-    <Compile Include="src\asn1\x9\X962NamedCurves.cs" />
-    <Compile Include="src\asn1\x9\X962Parameters.cs" />
-    <Compile Include="src\asn1\x9\X9Curve.cs" />
-    <Compile Include="src\asn1\x9\X9ECParameters.cs" />
-    <Compile Include="src\asn1\x9\X9ECParametersHolder.cs" />
-    <Compile Include="src\asn1\x9\X9ECPoint.cs" />
-    <Compile Include="src\asn1\x9\X9FieldElement.cs" />
-    <Compile Include="src\asn1\x9\X9FieldID.cs" />
-    <Compile Include="src\asn1\x9\X9IntegerConverter.cs" />
-    <Compile Include="src\asn1\x9\X9ObjectIdentifiers.cs" />
-    <Compile Include="src\bcpg\ArmoredInputStream.cs" />
-    <Compile Include="src\bcpg\ArmoredOutputStream.cs" />
-    <Compile Include="src\bcpg\BcpgInputStream.cs" />
-    <Compile Include="src\bcpg\BcpgObject.cs" />
-    <Compile Include="src\bcpg\BcpgOutputStream.cs" />
-    <Compile Include="src\bcpg\CompressedDataPacket.cs" />
-    <Compile Include="src\bcpg\CompressionAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\ContainedPacket.cs" />
-    <Compile Include="src\bcpg\Crc24.cs" />
-    <Compile Include="src\bcpg\DsaPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\DsaSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\ECDHPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECDsaPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECSecretBCPGKey.cs" />
-    <Compile Include="src\bcpg\ElGamalPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\ElGamalSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\ExperimentalPacket.cs" />
-    <Compile Include="src\bcpg\HashAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\IBcpgKey.cs" />
-    <Compile Include="src\bcpg\InputStreamPacket.cs" />
-    <Compile Include="src\bcpg\LiteralDataPacket.cs" />
-    <Compile Include="src\bcpg\MPInteger.cs" />
-    <Compile Include="src\bcpg\MarkerPacket.cs" />
-    <Compile Include="src\bcpg\ModDetectionCodePacket.cs" />
-    <Compile Include="src\bcpg\OnePassSignaturePacket.cs" />
-    <Compile Include="src\bcpg\OutputStreamPacket.cs" />
-    <Compile Include="src\bcpg\Packet.cs" />
-    <Compile Include="src\bcpg\PacketTags.cs" />
-    <Compile Include="src\bcpg\PublicKeyAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\PublicKeyEncSessionPacket.cs" />
-    <Compile Include="src\bcpg\PublicKeyPacket.cs" />
-    <Compile Include="src\bcpg\PublicSubkeyPacket.cs" />
-    <Compile Include="src\bcpg\RsaPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\RsaSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\S2k.cs" />
-    <Compile Include="src\bcpg\SecretKeyPacket.cs" />
-    <Compile Include="src\bcpg\SecretSubkeyPacket.cs" />
-    <Compile Include="src\bcpg\SignaturePacket.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacket.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacketTags.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacketsReader.cs" />
-    <Compile Include="src\bcpg\SymmetricEncDataPacket.cs" />
-    <Compile Include="src\bcpg\SymmetricEncIntegrityPacket.cs" />
-    <Compile Include="src\bcpg\SymmetricKeyAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\SymmetricKeyEncSessionPacket.cs" />
-    <Compile Include="src\bcpg\TrustPacket.cs" />
-    <Compile Include="src\bcpg\UserAttributePacket.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacket.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacketTags.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacketsReader.cs" />
-    <Compile Include="src\bcpg\UserIdPacket.cs" />
-    <Compile Include="src\bcpg\attr\ImageAttrib.cs" />
-    <Compile Include="src\bcpg\sig\EmbeddedSignature.cs" />
-    <Compile Include="src\bcpg\sig\Exportable.cs" />
-    <Compile Include="src\bcpg\sig\Features.cs" />
-    <Compile Include="src\bcpg\sig\IssuerKeyId.cs" />
-    <Compile Include="src\bcpg\sig\KeyExpirationTime.cs" />
-    <Compile Include="src\bcpg\sig\KeyFlags.cs" />
-    <Compile Include="src\bcpg\sig\NotationData.cs" />
-    <Compile Include="src\bcpg\sig\PreferredAlgorithms.cs" />
-    <Compile Include="src\bcpg\sig\PrimaryUserId.cs" />
-    <Compile Include="src\bcpg\sig\Revocable.cs" />
-    <Compile Include="src\bcpg\sig\RevocationKey.cs" />
-    <Compile Include="src\bcpg\sig\RevocationKeyTags.cs" />
-    <Compile Include="src\bcpg\sig\RevocationReason.cs" />
-    <Compile Include="src\bcpg\sig\RevocationReasonTags.cs" />
-    <Compile Include="src\bcpg\sig\SignatureCreationTime.cs" />
-    <Compile Include="src\bcpg\sig\SignatureExpirationTime.cs" />
-    <Compile Include="src\bcpg\sig\SignerUserId.cs" />
-    <Compile Include="src\bcpg\sig\TrustSignature.cs" />
-    <Compile Include="src\cms\BaseDigestCalculator.cs" />
-    <Compile Include="src\cms\CMSAttributeTableGenerationException.cs" />
-    <Compile Include="src\cms\CMSAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthEnvelopedData.cs" />
-    <Compile Include="src\cms\CMSAuthEnvelopedGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedData.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataParser.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedGenerator.cs" />
-    <Compile Include="src\cms\CMSCompressedData.cs" />
-    <Compile Include="src\cms\CMSCompressedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSCompressedDataParser.cs" />
-    <Compile Include="src\cms\CMSCompressedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSContentInfoParser.cs" />
-    <Compile Include="src\cms\CMSEnvelopedData.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataParser.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedHelper.cs" />
-    <Compile Include="src\cms\CMSException.cs" />
-    <Compile Include="src\cms\CMSPBEKey.cs" />
-    <Compile Include="src\cms\CMSProcessable.cs" />
-    <Compile Include="src\cms\CMSProcessableByteArray.cs" />
-    <Compile Include="src\cms\CMSProcessableFile.cs" />
-    <Compile Include="src\cms\CMSProcessableInputStream.cs" />
-    <Compile Include="src\cms\CMSReadable.cs" />
-    <Compile Include="src\cms\CMSSecureReadable.cs" />
-    <Compile Include="src\cms\CMSSignedData.cs" />
-    <Compile Include="src\cms\CMSSignedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedDataParser.cs" />
-    <Compile Include="src\cms\CMSSignedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedHelper.cs" />
-    <Compile Include="src\cms\CMSStreamException.cs" />
-    <Compile Include="src\cms\CMSTypedStream.cs" />
-    <Compile Include="src\cms\CMSUtils.cs" />
-    <Compile Include="src\cms\CounterSignatureDigestCalculator.cs" />
-    <Compile Include="src\cms\DefaultAuthenticatedAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\DefaultSignedAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\DigOutputStream.cs" />
-    <Compile Include="src\cms\IDigestCalculator.cs" />
-    <Compile Include="src\cms\KEKRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KEKRecipientInformation.cs" />
-    <Compile Include="src\cms\KeyAgreeRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KeyAgreeRecipientInformation.cs" />
-    <Compile Include="src\cms\KeyTransRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KeyTransRecipientInformation.cs" />
-    <Compile Include="src\cms\MacOutputStream.cs" />
-    <Compile Include="src\cms\OriginatorId.cs" />
-    <Compile Include="src\cms\OriginatorInfoGenerator.cs" />
-    <Compile Include="src\cms\OriginatorInformation.cs" />
-    <Compile Include="src\cms\PKCS5Scheme2PBEKey.cs" />
-    <Compile Include="src\cms\PKCS5Scheme2UTF8PBEKey.cs" />
-    <Compile Include="src\cms\PasswordRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\PasswordRecipientInformation.cs" />
-    <Compile Include="src\cms\RecipientId.cs" />
-    <Compile Include="src\cms\RecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\RecipientInformation.cs" />
-    <Compile Include="src\cms\RecipientInformationStore.cs" />
-    <Compile Include="src\cms\SigOutputStream.cs" />
-    <Compile Include="src\cms\SignerId.cs" />
-    <Compile Include="src\cms\SignerInfoGenerator.cs" />
-    <Compile Include="src\cms\SignerInformation.cs" />
-    <Compile Include="src\cms\SignerInformationStore.cs" />
-    <Compile Include="src\cms\SimpleAttributeTableGenerator.cs" />
-    <Compile Include="src\crypto\AsymmetricCipherKeyPair.cs" />
-    <Compile Include="src\crypto\AsymmetricKeyParameter.cs" />
-    <Compile Include="src\crypto\BufferedAeadBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedAsymmetricBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedCipherBase.cs" />
-    <Compile Include="src\crypto\BufferedIesCipher.cs" />
-    <Compile Include="src\crypto\BufferedStreamCipher.cs" />
-    <Compile Include="src\crypto\Check.cs" />
-    <Compile Include="src\crypto\CipherKeyGenerator.cs" />
-    <Compile Include="src\crypto\CryptoException.cs" />
-    <Compile Include="src\crypto\DataLengthException.cs" />
-    <Compile Include="src\crypto\digests\NonMemoableDigest.cs" />
-    <Compile Include="src\crypto\engines\SerpentEngineBase.cs" />
-    <Compile Include="src\crypto\engines\TnepresEngine.cs" />
-    <Compile Include="src\crypto\generators\BCrypt.cs" />
-    <Compile Include="src\crypto\generators\HKDFBytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\OpenBsdBCrypt.cs" />
-    <Compile Include="src\crypto\IAsymmetricBlockCipher.cs" />
-    <Compile Include="src\crypto\IAsymmetricCipherKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\IBasicAgreement.cs" />
-    <Compile Include="src\crypto\IBlockCipher.cs" />
-    <Compile Include="src\crypto\IBlockResult.cs" />
-    <Compile Include="src\crypto\IBufferedCipher.cs" />
-    <Compile Include="src\crypto\ICipherParameters.cs" />
-    <Compile Include="src\crypto\IDSA.cs" />
-    <Compile Include="src\crypto\IDerivationFunction.cs" />
-    <Compile Include="src\crypto\IDerivationParameters.cs" />
-    <Compile Include="src\crypto\IDigest.cs" />
-    <Compile Include="src\crypto\IEntropySource.cs" />
-    <Compile Include="src\crypto\IEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\IMac.cs" />
-    <Compile Include="src\crypto\ISignatureFactory.cs" />
-    <Compile Include="src\crypto\IStreamCalculator.cs" />
-    <Compile Include="src\crypto\ISigner.cs" />
-    <Compile Include="src\crypto\ISignerWithRecovery.cs" />
-    <Compile Include="src\crypto\IStreamCipher.cs" />
-    <Compile Include="src\crypto\IVerifier.cs" />
-    <Compile Include="src\crypto\IVerifierFactory.cs" />
-    <Compile Include="src\crypto\IVerifierFactoryProvider.cs" />
-    <Compile Include="src\crypto\IWrapper.cs" />
-    <Compile Include="src\crypto\IXof.cs" />
-    <Compile Include="src\crypto\InvalidCipherTextException.cs" />
-    <Compile Include="src\crypto\KeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\MaxBytesExceededException.cs" />
-    <Compile Include="src\crypto\OutputLengthException.cs" />
-    <Compile Include="src\crypto\parameters\HKDFParameters.cs" />
-    <Compile Include="src\crypto\PbeParametersGenerator.cs" />
-    <Compile Include="src\crypto\prng\BasicEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\prng\CryptoApiEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\prng\drbg\CtrSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\DrbgUtilities.cs" />
-    <Compile Include="src\crypto\prng\drbg\HashSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\HMacSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\ISP80090Drbg.cs" />
-    <Compile Include="src\crypto\prng\EntropyUtilities.cs" />
-    <Compile Include="src\crypto\prng\IDrbgProvider.cs" />
-    <Compile Include="src\crypto\prng\SP800SecureRandom.cs" />
-    <Compile Include="src\crypto\prng\SP800SecureRandomBuilder.cs" />
-    <Compile Include="src\crypto\prng\X931Rng.cs" />
-    <Compile Include="src\crypto\prng\X931SecureRandom.cs" />
-    <Compile Include="src\crypto\prng\X931SecureRandomBuilder.cs" />
-    <Compile Include="src\crypto\StreamBlockCipher.cs" />
-    <Compile Include="src\crypto\agreement\DHAgreement.cs" />
-    <Compile Include="src\crypto\agreement\DHBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\DHStandardGroups.cs" />
-    <Compile Include="src\crypto\agreement\ECDHBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECDHCBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECDHWithKdfBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECMqvBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECMqvWithKdfBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\SM2KeyExchange.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeParticipant.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakePrimeOrderGroup.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakePrimeOrderGroups.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound1Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound2Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound3Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeUtilities.cs" />
-    <Compile Include="src\crypto\agreement\kdf\ConcatenationKdfGenerator.cs" />
-    <Compile Include="src\crypto\agreement\kdf\DHKdfParameters.cs" />
-    <Compile Include="src\crypto\agreement\kdf\DHKekGenerator.cs" />
-    <Compile Include="src\crypto\agreement\kdf\ECDHKekGenerator.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Client.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Server.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6StandardGroups.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Utilities.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6VerifierGenerator.cs" />
-    <Compile Include="src\crypto\digests\Blake2bDigest.cs" />
-    <Compile Include="src\crypto\digests\Blake2sDigest.cs" />
-    <Compile Include="src\crypto\digests\DSTU7564Digest.cs" />
-    <Compile Include="src\crypto\digests\GeneralDigest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012_256Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012_512Digest.cs" />
-    <Compile Include="src\crypto\digests\KeccakDigest.cs" />
-    <Compile Include="src\crypto\digests\LongDigest.cs" />
-    <Compile Include="src\crypto\digests\MD2Digest.cs" />
-    <Compile Include="src\crypto\digests\MD4Digest.cs" />
-    <Compile Include="src\crypto\digests\MD5Digest.cs" />
-    <Compile Include="src\crypto\digests\NullDigest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD128Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD160Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD256Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD320Digest.cs" />
-    <Compile Include="src\crypto\digests\SHA3Digest.cs" />
-    <Compile Include="src\crypto\digests\SM3Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha1Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha224Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha256Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha384Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha512Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha512tDigest.cs" />
-    <Compile Include="src\crypto\digests\ShakeDigest.cs" />
-    <Compile Include="src\crypto\digests\ShortenedDigest.cs" />
-    <Compile Include="src\crypto\digests\SkeinDigest.cs" />
-    <Compile Include="src\crypto\digests\SkeinEngine.cs" />
-    <Compile Include="src\crypto\digests\TigerDigest.cs" />
-    <Compile Include="src\crypto\digests\WhirlpoolDigest.cs" />
-    <Compile Include="src\crypto\ec\CustomNamedCurves.cs" />
-    <Compile Include="src\crypto\encodings\ISO9796d1Encoding.cs" />
-    <Compile Include="src\crypto\encodings\OaepEncoding.cs" />
-    <Compile Include="src\crypto\encodings\Pkcs1Encoding.cs" />
-    <Compile Include="src\crypto\engines\AesEngine.cs" />
-    <Compile Include="src\crypto\engines\AesFastEngine.cs" />
-    <Compile Include="src\crypto\engines\AesLightEngine.cs" />
-    <Compile Include="src\crypto\engines\AesWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\BlowfishEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaLightEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\Cast5Engine.cs" />
-    <Compile Include="src\crypto\engines\Cast6Engine.cs" />
-    <Compile Include="src\crypto\engines\ChaChaEngine.cs" />
-    <Compile Include="src\crypto\engines\ChaCha7539Engine.cs" />
-    <Compile Include="src\crypto\engines\DesEdeEngine.cs" />
-    <Compile Include="src\crypto\engines\DesEdeWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\DesEngine.cs" />
-    <Compile Include="src\crypto\engines\Dstu7624Engine.cs" />
-    <Compile Include="src\crypto\engines\Dstu7624WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\ElGamalEngine.cs" />
-    <Compile Include="src\crypto\engines\GOST28147Engine.cs" />
-    <Compile Include="src\crypto\engines\HC128Engine.cs" />
-    <Compile Include="src\crypto\engines\HC256Engine.cs" />
-    <Compile Include="src\crypto\engines\ISAACEngine.cs" />
-    <Compile Include="src\crypto\engines\IdeaEngine.cs" />
-    <Compile Include="src\crypto\engines\IesEngine.cs" />
-    <Compile Include="src\crypto\engines\NaccacheSternEngine.cs" />
-    <Compile Include="src\crypto\engines\NoekeonEngine.cs" />
-    <Compile Include="src\crypto\engines\NullEngine.cs" />
-    <Compile Include="src\crypto\engines\RC2Engine.cs" />
-    <Compile Include="src\crypto\engines\RC2WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RC4Engine.cs" />
-    <Compile Include="src\crypto\engines\RC532Engine.cs" />
-    <Compile Include="src\crypto\engines\RC564Engine.cs" />
-    <Compile Include="src\crypto\engines\RC6Engine.cs" />
-    <Compile Include="src\crypto\engines\RFC3211WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RFC3394WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RSABlindedEngine.cs" />
-    <Compile Include="src\crypto\engines\RSABlindingEngine.cs" />
-    <Compile Include="src\crypto\engines\RSACoreEngine.cs" />
-    <Compile Include="src\crypto\engines\RijndaelEngine.cs" />
-    <Compile Include="src\crypto\engines\RsaEngine.cs" />
-    <Compile Include="src\crypto\engines\SEEDEngine.cs" />
-    <Compile Include="src\crypto\engines\SEEDWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\Salsa20Engine.cs" />
-    <Compile Include="src\crypto\engines\SerpentEngine.cs" />
-    <Compile Include="src\crypto\engines\SkipjackEngine.cs" />
-    <Compile Include="src\crypto\engines\SM2Engine.cs" />
-    <Compile Include="src\crypto\engines\TEAEngine.cs" />
-    <Compile Include="src\crypto\engines\ThreefishEngine.cs" />
-    <Compile Include="src\crypto\engines\TwofishEngine.cs" />
-    <Compile Include="src\crypto\engines\VMPCEngine.cs" />
-    <Compile Include="src\crypto\engines\VMPCKSA3Engine.cs" />
-    <Compile Include="src\crypto\engines\XSalsa20Engine.cs" />
-    <Compile Include="src\crypto\engines\XTEAEngine.cs" />
-    <Compile Include="src\crypto\generators\BaseKdfBytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHBasicKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHKeyGeneratorHelper.cs" />
-    <Compile Include="src\crypto\generators\DHKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHParametersHelper.cs" />
-    <Compile Include="src\crypto\generators\DesEdeKeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\DesKeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\DsaKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DsaParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\ECKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\ElGamalKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\ElGamalParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\GOST3410KeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\GOST3410ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Kdf1BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\Kdf2BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\Mgf1BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\NaccacheSternKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\OpenSSLPBEParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs12ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs5S1ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs5S2ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Poly1305KeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\RSABlindingFactorGenerator.cs" />
-    <Compile Include="src\crypto\generators\RsaKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\SCrypt.cs" />
-    <Compile Include="src\crypto\io\CipherStream.cs" />
-    <Compile Include="src\crypto\io\DigestStream.cs" />
-    <Compile Include="src\crypto\io\MacStream.cs" />
-    <Compile Include="src\crypto\io\SignerStream.cs" />
-    <Compile Include="src\crypto\macs\CMac.cs" />
-    <Compile Include="src\crypto\macs\CbcBlockCipherMac.cs" />
-    <Compile Include="src\crypto\macs\CfbBlockCipherMac.cs" />
-    <Compile Include="src\crypto\macs\DSTU7564Mac.cs" />
-    <Compile Include="src\crypto\macs\DSTU7624Mac.cs" />
-    <Compile Include="src\crypto\macs\GMac.cs" />
-    <Compile Include="src\crypto\macs\GOST28147Mac.cs" />
-    <Compile Include="src\crypto\macs\HMac.cs" />
-    <Compile Include="src\crypto\macs\ISO9797Alg3Mac.cs" />
-    <Compile Include="src\crypto\macs\Poly1305.cs" />
-    <Compile Include="src\crypto\macs\SipHash.cs" />
-    <Compile Include="src\crypto\macs\SkeinMac.cs" />
-    <Compile Include="src\crypto\macs\VMPCMac.cs" />
-    <Compile Include="src\crypto\modes\CbcBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CcmBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CtsBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\EAXBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\GCMBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\GOFBBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\IAeadBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\KCcmBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\KCtrBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OCBBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OpenPgpCfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\SicBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\gcm\BasicGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\BasicGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\GcmUtilities.cs" />
-    <Compile Include="src\crypto\modes\gcm\IGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\IGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables1kGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables64kGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables8kGcmMultiplier.cs" />
-    <Compile Include="src\crypto\operators\Asn1Signature.cs" />
-    <Compile Include="src\crypto\paddings\BlockCipherPadding.cs" />
-    <Compile Include="src\crypto\paddings\ISO10126d2Padding.cs" />
-    <Compile Include="src\crypto\paddings\ISO7816d4Padding.cs" />
-    <Compile Include="src\crypto\paddings\PaddedBufferedBlockCipher.cs" />
-    <Compile Include="src\crypto\paddings\Pkcs7Padding.cs" />
-    <Compile Include="src\crypto\paddings\TbcPadding.cs" />
-    <Compile Include="src\crypto\paddings\X923Padding.cs" />
-    <Compile Include="src\crypto\paddings\ZeroBytePadding.cs" />
-    <Compile Include="src\crypto\parameters\AEADParameters.cs" />
-    <Compile Include="src\crypto\parameters\CcmParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DSAParameterGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DesEdeParameters.cs" />
-    <Compile Include="src\crypto\parameters\DesParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECDomainParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410KeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410KeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410Parameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410PrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410PublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410ValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ISO18033KDFParameters.cs" />
-    <Compile Include="src\crypto\parameters\IesParameters.cs" />
-    <Compile Include="src\crypto\parameters\IesWithCipherParameters.cs" />
-    <Compile Include="src\crypto\parameters\KdfParameters.cs" />
-    <Compile Include="src\crypto\parameters\KeyParameter.cs" />
-    <Compile Include="src\crypto\parameters\MgfParameters.cs" />
-    <Compile Include="src\crypto\parameters\MqvPrivateParameters.cs" />
-    <Compile Include="src\crypto\parameters\MqvPublicParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithID.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithIV.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithRandom.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithSBox.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithSalt.cs" />
-    <Compile Include="src\crypto\parameters\RC2Parameters.cs" />
-    <Compile Include="src\crypto\parameters\RC5Parameters.cs" />
-    <Compile Include="src\crypto\parameters\RSABlindingParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaPrivateCrtKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\SkeinParameters.cs" />
-    <Compile Include="src\crypto\parameters\SM2KeyExchangePrivateParameters.cs" />
-    <Compile Include="src\crypto\parameters\SM2KeyExchangePublicParameters.cs" />
-    <Compile Include="src\crypto\parameters\Srp6GroupParameters.cs" />
-    <Compile Include="src\crypto\parameters\TweakableBlockCipherParameters.cs" />
-    <Compile Include="src\crypto\prng\CryptoApiRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\DigestRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\IRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\ReversedWindowGenerator.cs" />
-    <Compile Include="src\crypto\prng\ThreadedSeedGenerator.cs" />
-    <Compile Include="src\crypto\prng\VMPCRandomGenerator.cs" />
-    <Compile Include="src\crypto\signers\DsaDigestSigner.cs" />
-    <Compile Include="src\crypto\signers\DsaSigner.cs" />
-    <Compile Include="src\crypto\signers\ECDsaSigner.cs" />
-    <Compile Include="src\crypto\signers\ECGOST3410Signer.cs" />
-    <Compile Include="src\crypto\signers\ECNRSigner.cs" />
-    <Compile Include="src\crypto\signers\GOST3410DigestSigner.cs" />
-    <Compile Include="src\crypto\signers\GOST3410Signer.cs" />
-    <Compile Include="src\crypto\signers\GenericSigner.cs" />
-    <Compile Include="src\crypto\signers\HMacDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\IDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\Iso9796d2PssSigner.cs" />
-    <Compile Include="src\crypto\signers\Iso9796d2Signer.cs" />
-    <Compile Include="src\crypto\signers\IsoTrailers.cs" />
-    <Compile Include="src\crypto\signers\PssSigner.cs" />
-    <Compile Include="src\crypto\signers\RandomDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\RsaDigestSigner.cs" />
-    <Compile Include="src\crypto\signers\SM2Signer.cs" />
-    <Compile Include="src\crypto\signers\X931Signer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsClient.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsContext.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsPeer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsServer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsSigner.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\AlertDescription.cs" />
-    <Compile Include="src\crypto\tls\AlertLevel.cs" />
-    <Compile Include="src\crypto\tls\BasicTlsPskIdentity.cs" />
-    <Compile Include="src\crypto\tls\BulkCipherAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ByteQueue.cs" />
-    <Compile Include="src\crypto\tls\ByteQueueStream.cs" />
-    <Compile Include="src\crypto\tls\CertChainType.cs" />
-    <Compile Include="src\crypto\tls\Certificate.cs" />
-    <Compile Include="src\crypto\tls\CertificateRequest.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatus.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatusRequest.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatusType.cs" />
-    <Compile Include="src\crypto\tls\CertificateType.cs" />
-    <Compile Include="src\crypto\tls\CertificateUrl.cs" />
-    <Compile Include="src\crypto\tls\Chacha20Poly1305.cs" />
-    <Compile Include="src\crypto\tls\ChangeCipherSpec.cs" />
-    <Compile Include="src\crypto\tls\CipherSuite.cs" />
-    <Compile Include="src\crypto\tls\CipherType.cs" />
-    <Compile Include="src\crypto\tls\ClientAuthenticationType.cs" />
-    <Compile Include="src\crypto\tls\ClientCertificateType.cs" />
-    <Compile Include="src\crypto\tls\CombinedHash.cs" />
-    <Compile Include="src\crypto\tls\CompressionMethod.cs" />
-    <Compile Include="src\crypto\tls\ConnectionEnd.cs" />
-    <Compile Include="src\crypto\tls\ContentType.cs" />
-    <Compile Include="src\crypto\tls\DatagramTransport.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsClient.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsServer.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsSrpGroupVerifier.cs" />
-    <Compile Include="src\crypto\tls\DeferredHash.cs" />
-    <Compile Include="src\crypto\tls\DigestInputBuffer.cs" />
-    <Compile Include="src\crypto\tls\DigitallySigned.cs" />
-    <Compile Include="src\crypto\tls\DtlsClientProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsEpoch.cs" />
-    <Compile Include="src\crypto\tls\DtlsHandshakeRetransmit.cs" />
-    <Compile Include="src\crypto\tls\DtlsProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsReassembler.cs" />
-    <Compile Include="src\crypto\tls\DtlsRecordLayer.cs" />
-    <Compile Include="src\crypto\tls\DtlsReliableHandshake.cs" />
-    <Compile Include="src\crypto\tls\DtlsReplayWindow.cs" />
-    <Compile Include="src\crypto\tls\DtlsServerProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsTransport.cs" />
-    <Compile Include="src\crypto\tls\ECBasisType.cs" />
-    <Compile Include="src\crypto\tls\ECCurveType.cs" />
-    <Compile Include="src\crypto\tls\ECPointFormat.cs" />
-    <Compile Include="src\crypto\tls\EncryptionAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ExporterLabel.cs" />
-    <Compile Include="src\crypto\tls\ExtensionType.cs" />
-    <Compile Include="src\crypto\tls\FiniteFieldDheGroup.cs" />
-    <Compile Include="src\crypto\tls\HandshakeType.cs" />
-    <Compile Include="src\crypto\tls\HashAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatExtension.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMessage.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMessageType.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMode.cs" />
-    <Compile Include="src\crypto\tls\KeyExchangeAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\MacAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\MaxFragmentLength.cs" />
-    <Compile Include="src\crypto\tls\NameType.cs" />
-    <Compile Include="src\crypto\tls\NamedCurve.cs" />
-    <Compile Include="src\crypto\tls\NewSessionTicket.cs" />
-    <Compile Include="src\crypto\tls\OcspStatusRequest.cs" />
-    <Compile Include="src\crypto\tls\PrfAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ProtocolVersion.cs" />
-    <Compile Include="src\crypto\tls\PskTlsClient.cs" />
-    <Compile Include="src\crypto\tls\PskTlsServer.cs" />
-    <Compile Include="src\crypto\tls\RecordStream.cs" />
-    <Compile Include="src\crypto\tls\SecurityParameters.cs" />
-    <Compile Include="src\crypto\tls\ServerDHParams.cs" />
-    <Compile Include="src\crypto\tls\ServerName.cs" />
-    <Compile Include="src\crypto\tls\ServerNameList.cs" />
-    <Compile Include="src\crypto\tls\ServerOnlyTlsAuthentication.cs" />
-    <Compile Include="src\crypto\tls\ServerSrpParams.cs" />
-    <Compile Include="src\crypto\tls\SessionParameters.cs" />
-    <Compile Include="src\crypto\tls\SignatureAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\SignatureAndHashAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\SignerInputBuffer.cs" />
-    <Compile Include="src\crypto\tls\SimulatedTlsSrpIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\SrpTlsClient.cs" />
-    <Compile Include="src\crypto\tls\SrpTlsServer.cs" />
-    <Compile Include="src\crypto\tls\SrtpProtectionProfile.cs" />
-    <Compile Include="src\crypto\tls\Ssl3Mac.cs" />
-    <Compile Include="src\crypto\tls\SupplementalDataEntry.cs" />
-    <Compile Include="src\crypto\tls\SupplementalDataType.cs" />
-    <Compile Include="src\crypto\tls\TlsAeadCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsAuthentication.cs" />
-    <Compile Include="src\crypto\tls\TlsBlockCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\TlsClient.cs" />
-    <Compile Include="src\crypto\tls\TlsClientContext.cs" />
-    <Compile Include="src\crypto\tls\TlsClientContextImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsClientProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsContext.cs" />
-    <Compile Include="src\crypto\tls\TlsCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsDHKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsDHUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsDeflateCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsDheKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsDsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsDssSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsECDHKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsECDheKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsECDsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsEccUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsException.cs" />
-    <Compile Include="src\crypto\tls\TlsExtensionsUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsFatalAlert.cs" />
-    <Compile Include="src\crypto\tls\TlsFatalAlertReceived.cs" />
-    <Compile Include="src\crypto\tls\TlsHandshakeHash.cs" />
-    <Compile Include="src\crypto\tls\TlsKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsMac.cs" />
-    <Compile Include="src\crypto\tls\TlsNoCloseNotifyException.cs" />
-    <Compile Include="src\crypto\tls\TlsNullCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsNullCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsPeer.cs" />
-    <Compile Include="src\crypto\tls\TlsProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsProtocolHandler.cs" />
-    <Compile Include="src\crypto\tls\TlsPskIdentity.cs" />
-    <Compile Include="src\crypto\tls\TlsPskIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\TlsPskKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsServer.cs" />
-    <Compile Include="src\crypto\tls\TlsServerContext.cs" />
-    <Compile Include="src\crypto\tls\TlsServerContextImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsServerProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsSession.cs" />
-    <Compile Include="src\crypto\tls\TlsSessionImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpGroupVerifier.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpLoginParameters.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsSrtpUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsStream.cs" />
-    <Compile Include="src\crypto\tls\TlsStreamCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsUtilities.cs" />
-    <Compile Include="src\crypto\tls\UrlAndHash.cs" />
-    <Compile Include="src\crypto\tls\UseSrtpData.cs" />
-    <Compile Include="src\crypto\tls\UserMappingType.cs" />
-    <Compile Include="src\crypto\util\Pack.cs" />
-    <Compile Include="src\math\BigInteger.cs" />
-    <Compile Include="src\math\Primes.cs" />
-    <Compile Include="src\math\ec\ECAlgorithms.cs" />
-    <Compile Include="src\math\ec\ECCurve.cs" />
-    <Compile Include="src\math\ec\ECFieldElement.cs" />
-    <Compile Include="src\math\ec\ECPoint.cs" />
-    <Compile Include="src\math\ec\ECPointMap.cs" />
-    <Compile Include="src\math\ec\LongArray.cs" />
-    <Compile Include="src\math\ec\ScaleXPointMap.cs" />
-    <Compile Include="src\math\ec\ScaleYPointMap.cs" />
-    <Compile Include="src\math\ec\abc\SimpleBigDecimal.cs" />
-    <Compile Include="src\math\ec\abc\Tnaf.cs" />
-    <Compile Include="src\math\ec\abc\ZTauElement.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519Field.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519Point.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Curve.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Field.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571R1Point.cs" />
-    <Compile Include="src\math\ec\endo\ECEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvTypeBEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvTypeBParameters.cs" />
-    <Compile Include="src\math\ec\multiplier\AbstractECMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\DoubleAddMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\ECMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointCombMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointUtilities.cs" />
-    <Compile Include="src\math\ec\multiplier\GlvMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\MixedNafR2LMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\MontgomeryLadderMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\NafL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\NafR2LMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\PreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\ReferenceMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafUtilities.cs" />
-    <Compile Include="src\math\ec\multiplier\WTauNafMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WTauNafPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\ZSignedDigitL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\ZSignedDigitR2LMultiplier.cs" />
-    <Compile Include="src\math\field\FiniteFields.cs" />
-    <Compile Include="src\math\field\GF2Polynomial.cs" />
-    <Compile Include="src\math\field\GenericPolynomialExtensionField.cs" />
-    <Compile Include="src\math\field\IExtensionField.cs" />
-    <Compile Include="src\math\field\IFiniteField.cs" />
-    <Compile Include="src\math\field\IPolynomial.cs" />
-    <Compile Include="src\math\field\IPolynomialExtensionField.cs" />
-    <Compile Include="src\math\field\PrimeField.cs" />
-    <Compile Include="src\math\raw\Interleave.cs" />
-    <Compile Include="src\math\raw\Mod.cs" />
-    <Compile Include="src\math\raw\Nat.cs" />
-    <Compile Include="src\math\raw\Nat128.cs" />
-    <Compile Include="src\math\raw\Nat160.cs" />
-    <Compile Include="src\math\raw\Nat192.cs" />
-    <Compile Include="src\math\raw\Nat224.cs" />
-    <Compile Include="src\math\raw\Nat256.cs" />
-    <Compile Include="src\math\raw\Nat320.cs" />
-    <Compile Include="src\math\raw\Nat384.cs" />
-    <Compile Include="src\math\raw\Nat448.cs" />
-    <Compile Include="src\math\raw\Nat512.cs" />
-    <Compile Include="src\math\raw\Nat576.cs" />
-    <Compile Include="src\ocsp\BasicOCSPResp.cs" />
-    <Compile Include="src\ocsp\BasicOCSPRespGenerator.cs" />
-    <Compile Include="src\ocsp\CertificateID.cs" />
-    <Compile Include="src\ocsp\CertificateStatus.cs" />
-    <Compile Include="src\ocsp\OCSPException.cs" />
-    <Compile Include="src\ocsp\OCSPReq.cs" />
-    <Compile Include="src\ocsp\OCSPReqGenerator.cs" />
-    <Compile Include="src\ocsp\OCSPResp.cs" />
-    <Compile Include="src\ocsp\OCSPRespGenerator.cs" />
-    <Compile Include="src\ocsp\OCSPRespStatus.cs" />
-    <Compile Include="src\ocsp\OCSPUtil.cs" />
-    <Compile Include="src\ocsp\Req.cs" />
-    <Compile Include="src\ocsp\RespData.cs" />
-    <Compile Include="src\ocsp\RespID.cs" />
-    <Compile Include="src\ocsp\RevokedStatus.cs" />
-    <Compile Include="src\ocsp\SingleResp.cs" />
-    <Compile Include="src\ocsp\UnknownStatus.cs" />
-    <Compile Include="src\openpgp\IStreamGenerator.cs" />
-    <Compile Include="src\openpgp\PGPKeyRing.cs" />
-    <Compile Include="src\openpgp\PGPObject.cs" />
-    <Compile Include="src\openpgp\PGPUserAttributeSubpacketVectorGenerator.cs" />
-    <Compile Include="src\openpgp\PgpCompressedData.cs" />
-    <Compile Include="src\openpgp\PgpCompressedDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpDataValidationException.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedDataList.cs" />
-    <Compile Include="src\openpgp\PgpException.cs" />
-    <Compile Include="src\openpgp\PgpExperimental.cs" />
-    <Compile Include="src\openpgp\PgpKeyFlags.cs" />
-    <Compile Include="src\openpgp\PgpKeyPair.cs" />
-    <Compile Include="src\openpgp\PgpKeyRingGenerator.cs" />
-    <Compile Include="src\openpgp\PgpKeyValidationException.cs" />
-    <Compile Include="src\openpgp\PgpLiteralData.cs" />
-    <Compile Include="src\openpgp\PgpLiteralDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpMarker.cs" />
-    <Compile Include="src\openpgp\PgpObjectFactory.cs" />
-    <Compile Include="src\openpgp\PgpOnePassSignature.cs" />
-    <Compile Include="src\openpgp\PgpOnePassSignatureList.cs" />
-    <Compile Include="src\openpgp\PgpPad.cs" />
-    <Compile Include="src\openpgp\PgpPbeEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpPrivateKey.cs" />
-    <Compile Include="src\openpgp\PgpPublicKey.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyRing.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyRingBundle.cs" />
-    <Compile Include="src\openpgp\PgpSecretKey.cs" />
-    <Compile Include="src\openpgp\PgpSecretKeyRing.cs" />
-    <Compile Include="src\openpgp\PgpSecretKeyRingBundle.cs" />
-    <Compile Include="src\openpgp\PgpSignature.cs" />
-    <Compile Include="src\openpgp\PgpSignatureGenerator.cs" />
-    <Compile Include="src\openpgp\PgpSignatureList.cs" />
-    <Compile Include="src\openpgp\PgpSignatureSubpacketGenerator.cs" />
-    <Compile Include="src\openpgp\PgpSignatureSubpacketVector.cs" />
-    <Compile Include="src\openpgp\PgpUserAttributeSubpacketVector.cs" />
-    <Compile Include="src\openpgp\PgpUtilities.cs" />
-    <Compile Include="src\openpgp\PgpV3SignatureGenerator.cs" />
-    <Compile Include="src\openpgp\Rfc6637Utilities.cs" />
-    <Compile Include="src\openpgp\SXprUtilities.cs" />
-    <Compile Include="src\openpgp\WrappedGeneratorStream.cs" />
-    <Compile Include="src\openssl\EncryptionException.cs" />
-    <Compile Include="src\openssl\IPasswordFinder.cs" />
-    <Compile Include="src\openssl\MiscPemGenerator.cs" />
-    <Compile Include="src\openssl\PEMException.cs" />
-    <Compile Include="src\openssl\PEMReader.cs" />
-    <Compile Include="src\openssl\PEMUtilities.cs" />
-    <Compile Include="src\openssl\PEMWriter.cs" />
-    <Compile Include="src\openssl\PasswordException.cs" />
-    <Compile Include="src\openssl\Pkcs8Generator.cs" />
-    <Compile Include="src\pkcs\AsymmetricKeyEntry.cs" />
-    <Compile Include="src\pkcs\EncryptedPrivateKeyInfoFactory.cs" />
-    <Compile Include="src\pkcs\PKCS12StoreBuilder.cs" />
-    <Compile Include="src\pkcs\Pkcs10CertificationRequest.cs" />
-    <Compile Include="src\pkcs\Pkcs10CertificationRequestDelaySigned.cs" />
-    <Compile Include="src\pkcs\Pkcs12Entry.cs" />
-    <Compile Include="src\pkcs\Pkcs12Store.cs" />
-    <Compile Include="src\pkcs\Pkcs12Utilities.cs" />
-    <Compile Include="src\pkcs\PrivateKeyInfoFactory.cs" />
-    <Compile Include="src\pkcs\X509CertificateEntry.cs" />
-    <Compile Include="src\pkix\CertStatus.cs" />
-    <Compile Include="src\pkix\PkixAttrCertChecker.cs" />
-    <Compile Include="src\pkix\PkixAttrCertPathBuilder.cs" />
-    <Compile Include="src\pkix\PkixAttrCertPathValidator.cs" />
-    <Compile Include="src\pkix\PkixBuilderParameters.cs" />
-    <Compile Include="src\pkix\PkixCertPath.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilder.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilderException.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilderResult.cs" />
-    <Compile Include="src\pkix\PkixCertPathChecker.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidator.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorException.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorResult.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorUtilities.cs" />
-    <Compile Include="src\pkix\PkixCrlUtilities.cs" />
-    <Compile Include="src\pkix\PkixNameConstraintValidator.cs" />
-    <Compile Include="src\pkix\PkixNameConstraintValidatorException.cs" />
-    <Compile Include="src\pkix\PkixParameters.cs" />
-    <Compile Include="src\pkix\PkixPolicyNode.cs" />
-    <Compile Include="src\pkix\ReasonsMask.cs" />
-    <Compile Include="src\pkix\Rfc3280CertPathUtilities.cs" />
-    <Compile Include="src\pkix\Rfc3281CertPathUtilities.cs" />
-    <Compile Include="src\pkix\TrustAnchor.cs" />
-    <Compile Include="src\security\AgreementUtilities.cs" />
-    <Compile Include="src\security\CipherUtilities.cs" />
-    <Compile Include="src\security\DigestUtilities.cs" />
-    <Compile Include="src\security\DotNetUtilities.cs" />
-    <Compile Include="src\security\GeneralSecurityException.cs" />
-    <Compile Include="src\security\GeneratorUtilities.cs" />
-    <Compile Include="src\security\InvalidKeyException.cs" />
-    <Compile Include="src\security\InvalidParameterException.cs" />
-    <Compile Include="src\security\KeyException.cs" />
-    <Compile Include="src\security\MacUtilities.cs" />
-    <Compile Include="src\security\NoSuchAlgorithmException.cs" />
-    <Compile Include="src\security\ParameterUtilities.cs" />
-    <Compile Include="src\security\PbeUtilities.cs" />
-    <Compile Include="src\security\PrivateKeyFactory.cs" />
-    <Compile Include="src\security\PublicKeyFactory.cs" />
-    <Compile Include="src\security\SecureRandom.cs" />
-    <Compile Include="src\security\SecurityUtilityException.cs" />
-    <Compile Include="src\security\SignatureException.cs" />
-    <Compile Include="src\security\SignerUtilities.cs" />
-    <Compile Include="src\security\WrapperUtilities.cs" />
-    <Compile Include="src\security\cert\CertificateEncodingException.cs" />
-    <Compile Include="src\security\cert\CertificateException.cs" />
-    <Compile Include="src\security\cert\CertificateExpiredException.cs" />
-    <Compile Include="src\security\cert\CertificateNotYetValidException.cs" />
-    <Compile Include="src\security\cert\CertificateParsingException.cs" />
-    <Compile Include="src\security\cert\CrlException.cs" />
-    <Compile Include="src\tsp\GenTimeAccuracy.cs" />
-    <Compile Include="src\tsp\TSPAlgorithms.cs" />
-    <Compile Include="src\tsp\TSPException.cs" />
-    <Compile Include="src\tsp\TSPUtil.cs" />
-    <Compile Include="src\tsp\TSPValidationException.cs" />
-    <Compile Include="src\tsp\TimeStampRequest.cs" />
-    <Compile Include="src\tsp\TimeStampRequestGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampResponse.cs" />
-    <Compile Include="src\tsp\TimeStampResponseGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampToken.cs" />
-    <Compile Include="src\tsp\TimeStampTokenGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampTokenInfo.cs" />
-    <Compile Include="src\util\Arrays.cs" />
-    <Compile Include="src\util\BigIntegers.cs" />
-    <Compile Include="src\util\Enums.cs" />
-    <Compile Include="src\util\IMemoable.cs" />
-    <Compile Include="src\util\Integers.cs" />
-    <Compile Include="src\util\MemoableResetException.cs" />
-    <Compile Include="src\util\Platform.cs" />
-    <Compile Include="src\util\Strings.cs" />
-    <Compile Include="src\util\Times.cs" />
-    <Compile Include="src\util\collections\CollectionUtilities.cs" />
-    <Compile Include="src\util\collections\EmptyEnumerable.cs" />
-    <Compile Include="src\util\collections\EnumerableProxy.cs" />
-    <Compile Include="src\util\collections\HashSet.cs" />
-    <Compile Include="src\util\collections\ISet.cs" />
-    <Compile Include="src\util\collections\LinkedDictionary.cs" />
-    <Compile Include="src\util\collections\UnmodifiableDictionary.cs" />
-    <Compile Include="src\util\collections\UnmodifiableDictionaryProxy.cs" />
-    <Compile Include="src\util\collections\UnmodifiableList.cs" />
-    <Compile Include="src\util\collections\UnmodifiableListProxy.cs" />
-    <Compile Include="src\util\collections\UnmodifiableSet.cs" />
-    <Compile Include="src\util\collections\UnmodifiableSetProxy.cs" />
-    <Compile Include="src\util\date\DateTimeObject.cs" />
-    <Compile Include="src\util\date\DateTimeUtilities.cs" />
-    <Compile Include="src\util\encoders\Base64.cs" />
-    <Compile Include="src\util\encoders\Base64Encoder.cs" />
-    <Compile Include="src\util\encoders\BufferedDecoder.cs" />
-    <Compile Include="src\util\encoders\BufferedEncoder.cs" />
-    <Compile Include="src\util\encoders\Hex.cs" />
-    <Compile Include="src\util\encoders\HexEncoder.cs" />
-    <Compile Include="src\util\encoders\HexTranslator.cs" />
-    <Compile Include="src\util\encoders\IEncoder.cs" />
-    <Compile Include="src\util\encoders\Translator.cs" />
-    <Compile Include="src\util\encoders\UrlBase64.cs" />
-    <Compile Include="src\util\encoders\UrlBase64Encoder.cs" />
-    <Compile Include="src\util\io\BaseInputStream.cs" />
-    <Compile Include="src\util\io\BaseOutputStream.cs" />
-    <Compile Include="src\util\io\FilterStream.cs" />
-    <Compile Include="src\util\io\NullOutputStream.cs" />
-    <Compile Include="src\util\io\PushbackStream.cs" />
-    <Compile Include="src\util\io\StreamOverflowException.cs" />
-    <Compile Include="src\util\io\Streams.cs" />
-    <Compile Include="src\util\io\TeeInputStream.cs" />
-    <Compile Include="src\util\io\TeeOutputStream.cs" />
-    <Compile Include="src\util\io\pem\PemGenerationException.cs" />
-    <Compile Include="src\util\io\pem\PemHeader.cs" />
-    <Compile Include="src\util\io\pem\PemObject.cs" />
-    <Compile Include="src\util\io\pem\PemObjectGenerator.cs" />
-    <Compile Include="src\util\io\pem\PemObjectParser.cs" />
-    <Compile Include="src\util\io\pem\PemReader.cs" />
-    <Compile Include="src\util\io\pem\PemWriter.cs" />
-    <Compile Include="src\util\net\IPAddress.cs" />
-    <Compile Include="src\util\TypeExtensions.cs" />
-    <Compile Include="src\util\zlib\Adler32.cs" />
-    <Compile Include="src\util\zlib\Deflate.cs" />
-    <Compile Include="src\util\zlib\InfBlocks.cs" />
-    <Compile Include="src\util\zlib\InfCodes.cs" />
-    <Compile Include="src\util\zlib\InfTree.cs" />
-    <Compile Include="src\util\zlib\Inflate.cs" />
-    <Compile Include="src\util\zlib\JZlib.cs" />
-    <Compile Include="src\util\zlib\StaticTree.cs" />
-    <Compile Include="src\util\zlib\Tree.cs" />
-    <Compile Include="src\util\zlib\ZDeflaterOutputStream.cs" />
-    <Compile Include="src\util\zlib\ZInflaterInputStream.cs" />
-    <Compile Include="src\util\zlib\ZInputStream.cs" />
-    <Compile Include="src\util\zlib\ZOutputStream.cs" />
-    <Compile Include="src\util\zlib\ZStream.cs" />
-    <Compile Include="src\x509\AttributeCertificateHolder.cs" />
-    <Compile Include="src\x509\AttributeCertificateIssuer.cs" />
-    <Compile Include="src\x509\IX509AttributeCertificate.cs" />
-    <Compile Include="src\x509\IX509Extension.cs" />
-    <Compile Include="src\x509\PEMParser.cs" />
-    <Compile Include="src\x509\PrincipalUtil.cs" />
-    <Compile Include="src\x509\SubjectPublicKeyInfoFactory.cs" />
-    <Compile Include="src\x509\X509AttrCertParser.cs" />
-    <Compile Include="src\x509\X509Attribute.cs" />
-    <Compile Include="src\x509\X509CertPairParser.cs" />
-    <Compile Include="src\x509\X509Certificate.cs" />
-    <Compile Include="src\x509\X509CertificatePair.cs" />
-    <Compile Include="src\x509\X509CertificateParser.cs" />
-    <Compile Include="src\x509\X509Crl.cs" />
-    <Compile Include="src\x509\X509CrlEntry.cs" />
-    <Compile Include="src\x509\X509CrlParser.cs" />
-    <Compile Include="src\x509\X509ExtensionBase.cs" />
-    <Compile Include="src\x509\X509KeyUsage.cs" />
-    <Compile Include="src\x509\X509SignatureUtil.cs" />
-    <Compile Include="src\x509\X509Utilities.cs" />
-    <Compile Include="src\x509\X509V1CertificateGenerator.cs" />
-    <Compile Include="src\x509\X509V2AttributeCertificate.cs" />
-    <Compile Include="src\x509\X509V2AttributeCertificateGenerator.cs" />
-    <Compile Include="src\x509\X509V2CRLGenerator.cs" />
-    <Compile Include="src\x509\X509V3CertificateGenerator.cs" />
-    <Compile Include="src\x509\extension\AuthorityKeyIdentifierStructure.cs" />
-    <Compile Include="src\x509\extension\SubjectKeyIdentifierStructure.cs" />
-    <Compile Include="src\x509\extension\X509ExtensionUtil.cs" />
-    <Compile Include="src\x509\store\IX509Selector.cs" />
-    <Compile Include="src\x509\store\IX509Store.cs" />
-    <Compile Include="src\x509\store\IX509StoreParameters.cs" />
-    <Compile Include="src\x509\store\NoSuchStoreException.cs" />
-    <Compile Include="src\x509\store\X509AttrCertStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CertPairStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CertStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CollectionStore.cs" />
-    <Compile Include="src\x509\store\X509CollectionStoreParameters.cs" />
-    <Compile Include="src\x509\store\X509CrlStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509StoreException.cs" />
-    <Compile Include="src\x509\store\X509StoreFactory.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Contributors.html" />
-    <None Include="License.html" />
-    <None Include="Readme.html" />
-    <None Include="checklist.txt" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-</Project>
\ No newline at end of file
diff --git a/crypto/BouncyCastle.iOS.csproj b/crypto/BouncyCastle.iOS.csproj
deleted file mode 100644
index 61c28f64d..000000000
--- a/crypto/BouncyCastle.iOS.csproj
+++ /dev/null
@@ -1,1543 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == 'Any CPU' ">AnyCPU</Platform>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.30703</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{0249241C-205E-4AC0-828B-90F822359B9E}</ProjectGuid>
-    <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <RootNamespace>Org.BouncyCastle</RootNamespace>
-    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
-    <AssemblyName>BouncyCastle</AssemblyName>
-    <TargetFrameworkIdentifier>Xamarin.iOS</TargetFrameworkIdentifier>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\lib\Xamarin.iOS</OutputPath>
-    <IntermediateOutputPath>obj\Debug\lib\Xamarin.iOS</IntermediateOutputPath>
-    <DefineConstants>DEBUG;TRACE;INCLUDE_IDEA;__MOBILE__;__IOS__;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\lib\Xamarin.iOS</OutputPath>
-    <IntermediateOutputPath>obj\Release\lib\Xamarin.iOS</IntermediateOutputPath>
-    <DefineConstants>TRACE;INCLUDE_IDEA;__MOBILE__;__IOS__;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>..\BouncyCastle.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Core" />
-    <Reference Include="Xamarin.iOS" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="bzip2\src\BZip2Constants.cs" />
-    <Compile Include="bzip2\src\CBZip2InputStream.cs" />
-    <Compile Include="bzip2\src\CBZip2OutputStream.cs" />
-    <Compile Include="bzip2\src\CRC.cs" />
-    <Compile Include="src\asn1\BERBitString.cs" />
-    <Compile Include="src\AssemblyInfo.cs" />
-    <Compile Include="src\asn1\ASN1Generator.cs" />
-    <Compile Include="src\asn1\ASN1OctetStringParser.cs" />
-    <Compile Include="src\asn1\ASN1SequenceParser.cs" />
-    <Compile Include="src\asn1\ASN1SetParser.cs" />
-    <Compile Include="src\asn1\ASN1StreamParser.cs" />
-    <Compile Include="src\asn1\ASN1TaggedObjectParser.cs" />
-    <Compile Include="src\asn1\Asn1Encodable.cs" />
-    <Compile Include="src\asn1\Asn1EncodableVector.cs" />
-    <Compile Include="src\asn1\Asn1Exception.cs" />
-    <Compile Include="src\asn1\Asn1InputStream.cs" />
-    <Compile Include="src\asn1\Asn1Null.cs" />
-    <Compile Include="src\asn1\Asn1Object.cs" />
-    <Compile Include="src\asn1\Asn1OctetString.cs" />
-    <Compile Include="src\asn1\Asn1OutputStream.cs" />
-    <Compile Include="src\asn1\Asn1ParsingException.cs" />
-    <Compile Include="src\asn1\Asn1Sequence.cs" />
-    <Compile Include="src\asn1\Asn1Set.cs" />
-    <Compile Include="src\asn1\Asn1TaggedObject.cs" />
-    <Compile Include="src\asn1\Asn1Tags.cs" />
-    <Compile Include="src\asn1\BERGenerator.cs" />
-    <Compile Include="src\asn1\BEROctetStringGenerator.cs" />
-    <Compile Include="src\asn1\BEROctetStringParser.cs" />
-    <Compile Include="src\asn1\BERSequenceGenerator.cs" />
-    <Compile Include="src\asn1\BERSequenceParser.cs" />
-    <Compile Include="src\asn1\BERSetGenerator.cs" />
-    <Compile Include="src\asn1\BERSetParser.cs" />
-    <Compile Include="src\asn1\BERTaggedObjectParser.cs" />
-    <Compile Include="src\asn1\BerApplicationSpecific.cs" />
-    <Compile Include="src\asn1\BerApplicationSpecificParser.cs" />
-    <Compile Include="src\asn1\BerNull.cs" />
-    <Compile Include="src\asn1\BerOctetString.cs" />
-    <Compile Include="src\asn1\BerOutputStream.cs" />
-    <Compile Include="src\asn1\BerSequence.cs" />
-    <Compile Include="src\asn1\BerSet.cs" />
-    <Compile Include="src\asn1\BerTaggedObject.cs" />
-    <Compile Include="src\asn1\ConstructedOctetStream.cs" />
-    <Compile Include="src\asn1\DERExternal.cs" />
-    <Compile Include="src\asn1\DERExternalParser.cs" />
-    <Compile Include="src\asn1\DERGenerator.cs" />
-    <Compile Include="src\asn1\DEROctetStringParser.cs" />
-    <Compile Include="src\asn1\DERSequenceGenerator.cs" />
-    <Compile Include="src\asn1\DERSequenceParser.cs" />
-    <Compile Include="src\asn1\DERSetGenerator.cs" />
-    <Compile Include="src\asn1\DERSetParser.cs" />
-    <Compile Include="src\asn1\DefiniteLengthInputStream.cs" />
-    <Compile Include="src\asn1\DerApplicationSpecific.cs" />
-    <Compile Include="src\asn1\DerBMPString.cs" />
-    <Compile Include="src\asn1\DerBitString.cs" />
-    <Compile Include="src\asn1\DerBoolean.cs" />
-    <Compile Include="src\asn1\DerEnumerated.cs" />
-    <Compile Include="src\asn1\DerGeneralString.cs" />
-    <Compile Include="src\asn1\DerGeneralizedTime.cs" />
-    <Compile Include="src\asn1\DerGraphicString.cs" />
-    <Compile Include="src\asn1\DerIA5String.cs" />
-    <Compile Include="src\asn1\DerInteger.cs" />
-    <Compile Include="src\asn1\DerNull.cs" />
-    <Compile Include="src\asn1\DerNumericString.cs" />
-    <Compile Include="src\asn1\DerObjectIdentifier.cs" />
-    <Compile Include="src\asn1\DerOctetString.cs" />
-    <Compile Include="src\asn1\DerOutputStream.cs" />
-    <Compile Include="src\asn1\DerPrintableString.cs" />
-    <Compile Include="src\asn1\DerSequence.cs" />
-    <Compile Include="src\asn1\DerSet.cs" />
-    <Compile Include="src\asn1\DerStringBase.cs" />
-    <Compile Include="src\asn1\DerT61String.cs" />
-    <Compile Include="src\asn1\DerTaggedObject.cs" />
-    <Compile Include="src\asn1\DerUTCTime.cs" />
-    <Compile Include="src\asn1\DerUTF8String.cs" />
-    <Compile Include="src\asn1\DerUniversalString.cs" />
-    <Compile Include="src\asn1\DerVideotexString.cs" />
-    <Compile Include="src\asn1\DerVisibleString.cs" />
-    <Compile Include="src\asn1\IAsn1ApplicationSpecificParser.cs" />
-    <Compile Include="src\asn1\IAsn1Choice.cs" />
-    <Compile Include="src\asn1\IAsn1Convertible.cs" />
-    <Compile Include="src\asn1\IAsn1String.cs" />
-    <Compile Include="src\asn1\IndefiniteLengthInputStream.cs" />
-    <Compile Include="src\asn1\LazyASN1InputStream.cs" />
-    <Compile Include="src\asn1\LazyDERSequence.cs" />
-    <Compile Include="src\asn1\LazyDERSet.cs" />
-    <Compile Include="src\asn1\LimitedInputStream.cs" />
-    <Compile Include="src\asn1\OidTokenizer.cs" />
-    <Compile Include="src\asn1\anssi\ANSSINamedCurves.cs" />
-    <Compile Include="src\asn1\anssi\ANSSIObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\bc\BCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cmp\CAKeyUpdAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\CertConfirmContent.cs" />
-    <Compile Include="src\asn1\cmp\CertOrEncCert.cs" />
-    <Compile Include="src\asn1\cmp\CertRepMessage.cs" />
-    <Compile Include="src\asn1\cmp\CertResponse.cs" />
-    <Compile Include="src\asn1\cmp\CertStatus.cs" />
-    <Compile Include="src\asn1\cmp\CertifiedKeyPair.cs" />
-    <Compile Include="src\asn1\cmp\Challenge.cs" />
-    <Compile Include="src\asn1\cmp\CmpCertificate.cs" />
-    <Compile Include="src\asn1\cmp\CmpObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cmp\CrlAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\ErrorMsgContent.cs" />
-    <Compile Include="src\asn1\cmp\GenMsgContent.cs" />
-    <Compile Include="src\asn1\cmp\GenRepContent.cs" />
-    <Compile Include="src\asn1\cmp\InfoTypeAndValue.cs" />
-    <Compile Include="src\asn1\cmp\KeyRecRepContent.cs" />
-    <Compile Include="src\asn1\cmp\OobCertHash.cs" />
-    <Compile Include="src\asn1\cmp\PKIBody.cs" />
-    <Compile Include="src\asn1\cmp\PKIConfirmContent.cs" />
-    <Compile Include="src\asn1\cmp\PKIFailureInfo.cs" />
-    <Compile Include="src\asn1\cmp\PKIFreeText.cs" />
-    <Compile Include="src\asn1\cmp\PKIHeader.cs" />
-    <Compile Include="src\asn1\cmp\PKIHeaderBuilder.cs" />
-    <Compile Include="src\asn1\cmp\PKIMessage.cs" />
-    <Compile Include="src\asn1\cmp\PKIMessages.cs" />
-    <Compile Include="src\asn1\cmp\PKIStatus.cs" />
-    <Compile Include="src\asn1\cmp\PKIStatusInfo.cs" />
-    <Compile Include="src\asn1\cmp\PbmParameter.cs" />
-    <Compile Include="src\asn1\cmp\PollRepContent.cs" />
-    <Compile Include="src\asn1\cmp\PollReqContent.cs" />
-    <Compile Include="src\asn1\cmp\PopoDecKeyChallContent.cs" />
-    <Compile Include="src\asn1\cmp\PopoDecKeyRespContent.cs" />
-    <Compile Include="src\asn1\cmp\ProtectedPart.cs" />
-    <Compile Include="src\asn1\cmp\RevAnnContent.cs" />
-    <Compile Include="src\asn1\cmp\RevDetails.cs" />
-    <Compile Include="src\asn1\cmp\RevRepContent.cs" />
-    <Compile Include="src\asn1\cmp\RevRepContentBuilder.cs" />
-    <Compile Include="src\asn1\cmp\RevReqContent.cs" />
-    <Compile Include="src\asn1\cms\Attribute.cs" />
-    <Compile Include="src\asn1\cms\AttributeTable.cs" />
-    <Compile Include="src\asn1\cms\Attributes.cs" />
-    <Compile Include="src\asn1\cms\AuthEnvelopedData.cs" />
-    <Compile Include="src\asn1\cms\AuthEnvelopedDataParser.cs" />
-    <Compile Include="src\asn1\cms\AuthenticatedData.cs" />
-    <Compile Include="src\asn1\cms\AuthenticatedDataParser.cs" />
-    <Compile Include="src\asn1\cms\CMSAttributes.cs" />
-    <Compile Include="src\asn1\cms\CMSObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cms\CompressedData.cs" />
-    <Compile Include="src\asn1\cms\CompressedDataParser.cs" />
-    <Compile Include="src\asn1\cms\ContentInfo.cs" />
-    <Compile Include="src\asn1\cms\ContentInfoParser.cs" />
-    <Compile Include="src\asn1\cms\EncryptedContentInfo.cs" />
-    <Compile Include="src\asn1\cms\EncryptedContentInfoParser.cs" />
-    <Compile Include="src\asn1\cms\EncryptedData.cs" />
-    <Compile Include="src\asn1\cms\EnvelopedData.cs" />
-    <Compile Include="src\asn1\cms\EnvelopedDataParser.cs" />
-    <Compile Include="src\asn1\cms\Evidence.cs" />
-    <Compile Include="src\asn1\cms\IssuerAndSerialNumber.cs" />
-    <Compile Include="src\asn1\cms\KEKIdentifier.cs" />
-    <Compile Include="src\asn1\cms\KEKRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\KeyAgreeRecipientIdentifier.cs" />
-    <Compile Include="src\asn1\cms\KeyAgreeRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\KeyTransRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\MetaData.cs" />
-    <Compile Include="src\asn1\cms\OriginatorIdentifierOrKey.cs" />
-    <Compile Include="src\asn1\cms\OriginatorInfo.cs" />
-    <Compile Include="src\asn1\cms\OriginatorPublicKey.cs" />
-    <Compile Include="src\asn1\cms\OtherKeyAttribute.cs" />
-    <Compile Include="src\asn1\cms\OtherRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\OtherRevocationInfoFormat.cs" />
-    <Compile Include="src\asn1\cms\PasswordRecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\RecipientEncryptedKey.cs" />
-    <Compile Include="src\asn1\cms\RecipientIdentifier.cs" />
-    <Compile Include="src\asn1\cms\RecipientInfo.cs" />
-    <Compile Include="src\asn1\cms\RecipientKeyIdentifier.cs" />
-    <Compile Include="src\asn1\cms\SCVPReqRes.cs" />
-    <Compile Include="src\asn1\cms\SignedData.cs" />
-    <Compile Include="src\asn1\cms\SignedDataParser.cs" />
-    <Compile Include="src\asn1\cms\SignerIdentifier.cs" />
-    <Compile Include="src\asn1\cms\SignerInfo.cs" />
-    <Compile Include="src\asn1\cms\Time.cs" />
-    <Compile Include="src\asn1\cms\TimeStampAndCRL.cs" />
-    <Compile Include="src\asn1\cms\TimeStampTokenEvidence.cs" />
-    <Compile Include="src\asn1\cms\TimeStampedData.cs" />
-    <Compile Include="src\asn1\cms\TimeStampedDataParser.cs" />
-    <Compile Include="src\asn1\cms\ecc\MQVuserKeyingMaterial.cs" />
-    <Compile Include="src\asn1\crmf\AttributeTypeAndValue.cs" />
-    <Compile Include="src\asn1\crmf\CertId.cs" />
-    <Compile Include="src\asn1\crmf\CertReqMessages.cs" />
-    <Compile Include="src\asn1\crmf\CertReqMsg.cs" />
-    <Compile Include="src\asn1\crmf\CertRequest.cs" />
-    <Compile Include="src\asn1\crmf\CertTemplate.cs" />
-    <Compile Include="src\asn1\crmf\CertTemplateBuilder.cs" />
-    <Compile Include="src\asn1\crmf\Controls.cs" />
-    <Compile Include="src\asn1\crmf\CrmfObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\crmf\EncKeyWithID.cs" />
-    <Compile Include="src\asn1\crmf\EncryptedKey.cs" />
-    <Compile Include="src\asn1\crmf\EncryptedValue.cs" />
-    <Compile Include="src\asn1\crmf\OptionalValidity.cs" />
-    <Compile Include="src\asn1\crmf\PKIArchiveOptions.cs" />
-    <Compile Include="src\asn1\crmf\PKIPublicationInfo.cs" />
-    <Compile Include="src\asn1\crmf\PKMacValue.cs" />
-    <Compile Include="src\asn1\crmf\PopoPrivKey.cs" />
-    <Compile Include="src\asn1\crmf\PopoSigningKey.cs" />
-    <Compile Include="src\asn1\crmf\PopoSigningKeyInput.cs" />
-    <Compile Include="src\asn1\crmf\ProofOfPossession.cs" />
-    <Compile Include="src\asn1\crmf\SinglePubInfo.cs" />
-    <Compile Include="src\asn1\crmf\SubsequentMessage.cs" />
-    <Compile Include="src\asn1\cryptopro\CryptoProObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\cryptopro\ECGOST3410NamedCurves.cs" />
-    <Compile Include="src\asn1\cryptopro\ECGOST3410ParamSetParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST28147Parameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410NamedParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410ParamSetParameters.cs" />
-    <Compile Include="src\asn1\cryptopro\GOST3410PublicKeyAlgParameters.cs" />
-    <Compile Include="src\asn1\eac\EACObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\esf\CertificateValues.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeIdentifier.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeIndication.cs" />
-    <Compile Include="src\asn1\esf\CommitmentTypeQualifier.cs" />
-    <Compile Include="src\asn1\esf\CompleteCertificateRefs.cs" />
-    <Compile Include="src\asn1\esf\CompleteRevocationRefs.cs" />
-    <Compile Include="src\asn1\esf\CrlIdentifier.cs" />
-    <Compile Include="src\asn1\esf\CrlListID.cs" />
-    <Compile Include="src\asn1\esf\CrlOcspRef.cs" />
-    <Compile Include="src\asn1\esf\CrlValidatedID.cs" />
-    <Compile Include="src\asn1\esf\ESFAttributes.cs" />
-    <Compile Include="src\asn1\esf\OcspIdentifier.cs" />
-    <Compile Include="src\asn1\esf\OcspListID.cs" />
-    <Compile Include="src\asn1\esf\OcspResponsesID.cs" />
-    <Compile Include="src\asn1\esf\OtherCertID.cs" />
-    <Compile Include="src\asn1\esf\OtherHash.cs" />
-    <Compile Include="src\asn1\esf\OtherHashAlgAndValue.cs" />
-    <Compile Include="src\asn1\esf\OtherRevRefs.cs" />
-    <Compile Include="src\asn1\esf\OtherRevVals.cs" />
-    <Compile Include="src\asn1\esf\OtherSigningCertificate.cs" />
-    <Compile Include="src\asn1\esf\RevocationValues.cs" />
-    <Compile Include="src\asn1\esf\SigPolicyQualifierInfo.cs" />
-    <Compile Include="src\asn1\esf\SignaturePolicyId.cs" />
-    <Compile Include="src\asn1\esf\SignaturePolicyIdentifier.cs" />
-    <Compile Include="src\asn1\esf\SignerAttribute.cs" />
-    <Compile Include="src\asn1\esf\SignerLocation.cs" />
-    <Compile Include="src\asn1\ess\ContentHints.cs" />
-    <Compile Include="src\asn1\ess\ContentIdentifier.cs" />
-    <Compile Include="src\asn1\ess\ESSCertID.cs" />
-    <Compile Include="src\asn1\ess\ESSCertIDv2.cs" />
-    <Compile Include="src\asn1\ess\OtherCertID.cs" />
-    <Compile Include="src\asn1\ess\OtherSigningCertificate.cs" />
-    <Compile Include="src\asn1\ess\SigningCertificate.cs" />
-    <Compile Include="src\asn1\ess\SigningCertificateV2.cs" />
-    <Compile Include="src\asn1\gm\GMNamedCurves.cs" />
-    <Compile Include="src\asn1\gm\GMObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\gnu\GNUObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\iana\IANAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\icao\CscaMasterList.cs" />
-    <Compile Include="src\asn1\icao\DataGroupHash.cs" />
-    <Compile Include="src\asn1\icao\ICAOObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\icao\LDSSecurityObject.cs" />
-    <Compile Include="src\asn1\icao\LDSVersionInfo.cs" />
-    <Compile Include="src\asn1\isismtt\ISISMTTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\isismtt\ocsp\CertHash.cs" />
-    <Compile Include="src\asn1\isismtt\ocsp\RequestedCertificate.cs" />
-    <Compile Include="src\asn1\isismtt\x509\AdditionalInformationSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\AdmissionSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\Admissions.cs" />
-    <Compile Include="src\asn1\isismtt\x509\DeclarationOfMajority.cs" />
-    <Compile Include="src\asn1\isismtt\x509\MonetaryLimit.cs" />
-    <Compile Include="src\asn1\isismtt\x509\NamingAuthority.cs" />
-    <Compile Include="src\asn1\isismtt\x509\ProcurationSyntax.cs" />
-    <Compile Include="src\asn1\isismtt\x509\ProfessionInfo.cs" />
-    <Compile Include="src\asn1\isismtt\x509\Restriction.cs" />
-    <Compile Include="src\asn1\kisa\KISAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\microsoft\MicrosoftObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\misc\CAST5CBCParameters.cs" />
-    <Compile Include="src\asn1\misc\IDEACBCPar.cs" />
-    <Compile Include="src\asn1\misc\MiscObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\misc\NetscapeCertType.cs" />
-    <Compile Include="src\asn1\misc\NetscapeRevocationURL.cs" />
-    <Compile Include="src\asn1\misc\VerisignCzagExtension.cs" />
-    <Compile Include="src\asn1\mozilla\PublicKeyAndChallenge.cs" />
-    <Compile Include="src\asn1\nist\NISTNamedCurves.cs" />
-    <Compile Include="src\asn1\nist\NISTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ntt\NTTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ocsp\BasicOCSPResponse.cs" />
-    <Compile Include="src\asn1\ocsp\CertID.cs" />
-    <Compile Include="src\asn1\ocsp\CertStatus.cs" />
-    <Compile Include="src\asn1\ocsp\CrlID.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPRequest.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPResponse.cs" />
-    <Compile Include="src\asn1\ocsp\OCSPResponseStatus.cs" />
-    <Compile Include="src\asn1\ocsp\Request.cs" />
-    <Compile Include="src\asn1\ocsp\ResponderID.cs" />
-    <Compile Include="src\asn1\ocsp\ResponseBytes.cs" />
-    <Compile Include="src\asn1\ocsp\ResponseData.cs" />
-    <Compile Include="src\asn1\ocsp\RevokedInfo.cs" />
-    <Compile Include="src\asn1\ocsp\ServiceLocator.cs" />
-    <Compile Include="src\asn1\ocsp\Signature.cs" />
-    <Compile Include="src\asn1\ocsp\SingleResponse.cs" />
-    <Compile Include="src\asn1\ocsp\TBSRequest.cs" />
-    <Compile Include="src\asn1\oiw\ElGamalParameter.cs" />
-    <Compile Include="src\asn1\oiw\OIWObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\pkcs\Attribute.cs" />
-    <Compile Include="src\asn1\pkcs\AuthenticatedSafe.cs" />
-    <Compile Include="src\asn1\pkcs\CertBag.cs" />
-    <Compile Include="src\asn1\pkcs\CertificationRequest.cs" />
-    <Compile Include="src\asn1\pkcs\CertificationRequestInfo.cs" />
-    <Compile Include="src\asn1\pkcs\ContentInfo.cs" />
-    <Compile Include="src\asn1\pkcs\DHParameter.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptedData.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptedPrivateKeyInfo.cs" />
-    <Compile Include="src\asn1\pkcs\EncryptionScheme.cs" />
-    <Compile Include="src\asn1\pkcs\IssuerAndSerialNumber.cs" />
-    <Compile Include="src\asn1\pkcs\KeyDerivationFunc.cs" />
-    <Compile Include="src\asn1\pkcs\MacData.cs" />
-    <Compile Include="src\asn1\pkcs\PBEParameter.cs" />
-    <Compile Include="src\asn1\pkcs\PBES2Parameters.cs" />
-    <Compile Include="src\asn1\pkcs\PBKDF2Params.cs" />
-    <Compile Include="src\asn1\pkcs\PKCS12PBEParams.cs" />
-    <Compile Include="src\asn1\pkcs\PKCSObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\pkcs\Pfx.cs" />
-    <Compile Include="src\asn1\pkcs\PrivateKeyInfo.cs" />
-    <Compile Include="src\asn1\pkcs\RC2CBCParameter.cs" />
-    <Compile Include="src\asn1\pkcs\RSAESOAEPparams.cs" />
-    <Compile Include="src\asn1\pkcs\RSAPrivateKeyStructure.cs" />
-    <Compile Include="src\asn1\pkcs\RSASSAPSSparams.cs" />
-    <Compile Include="src\asn1\pkcs\SafeBag.cs" />
-    <Compile Include="src\asn1\pkcs\SignedData.cs" />
-    <Compile Include="src\asn1\pkcs\SignerInfo.cs" />
-    <Compile Include="src\asn1\rosstandart\RosstandartObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\sec\ECPrivateKeyStructure.cs" />
-    <Compile Include="src\asn1\sec\SECNamedCurves.cs" />
-    <Compile Include="src\asn1\sec\SECObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\smime\SMIMEAttributes.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilities.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilitiesAttribute.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapability.cs" />
-    <Compile Include="src\asn1\smime\SMIMECapabilityVector.cs" />
-    <Compile Include="src\asn1\smime\SMIMEEncryptionKeyPreferenceAttribute.cs" />
-    <Compile Include="src\asn1\teletrust\TeleTrusTNamedCurves.cs" />
-    <Compile Include="src\asn1\teletrust\TeleTrusTObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\tsp\Accuracy.cs" />
-    <Compile Include="src\asn1\tsp\MessageImprint.cs" />
-    <Compile Include="src\asn1\tsp\TSTInfo.cs" />
-    <Compile Include="src\asn1\tsp\TimeStampReq.cs" />
-    <Compile Include="src\asn1\tsp\TimeStampResp.cs" />
-    <Compile Include="src\asn1\ua\UAObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\util\Asn1Dump.cs" />
-    <Compile Include="src\asn1\util\Dump.cs" />
-    <Compile Include="src\asn1\util\FilterStream.cs" />
-    <Compile Include="src\asn1\x500\DirectoryString.cs" />
-    <Compile Include="src\asn1\x509\AccessDescription.cs" />
-    <Compile Include="src\asn1\x509\AlgorithmIdentifier.cs" />
-    <Compile Include="src\asn1\x509\AttCertIssuer.cs" />
-    <Compile Include="src\asn1\x509\AttCertValidityPeriod.cs" />
-    <Compile Include="src\asn1\x509\Attribute.cs" />
-    <Compile Include="src\asn1\x509\AttributeCertificate.cs" />
-    <Compile Include="src\asn1\x509\AttributeCertificateInfo.cs" />
-    <Compile Include="src\asn1\x509\AttributeTable.cs" />
-    <Compile Include="src\asn1\x509\AuthorityInformationAccess.cs" />
-    <Compile Include="src\asn1\x509\AuthorityKeyIdentifier.cs" />
-    <Compile Include="src\asn1\x509\BasicConstraints.cs" />
-    <Compile Include="src\asn1\x509\CRLDistPoint.cs" />
-    <Compile Include="src\asn1\x509\CRLNumber.cs" />
-    <Compile Include="src\asn1\x509\CRLReason.cs" />
-    <Compile Include="src\asn1\x509\CertPolicyId.cs" />
-    <Compile Include="src\asn1\x509\CertificateList.cs" />
-    <Compile Include="src\asn1\x509\CertificatePair.cs" />
-    <Compile Include="src\asn1\x509\CertificatePolicies.cs" />
-    <Compile Include="src\asn1\x509\DSAParameter.cs" />
-    <Compile Include="src\asn1\x509\DigestInfo.cs" />
-    <Compile Include="src\asn1\x509\DisplayText.cs" />
-    <Compile Include="src\asn1\x509\DistributionPoint.cs" />
-    <Compile Include="src\asn1\x509\DistributionPointName.cs" />
-    <Compile Include="src\asn1\x509\ExtendedKeyUsage.cs" />
-    <Compile Include="src\asn1\x509\GeneralName.cs" />
-    <Compile Include="src\asn1\x509\GeneralNames.cs" />
-    <Compile Include="src\asn1\x509\GeneralSubtree.cs" />
-    <Compile Include="src\asn1\x509\Holder.cs" />
-    <Compile Include="src\asn1\x509\IetfAttrSyntax.cs" />
-    <Compile Include="src\asn1\x509\IssuerSerial.cs" />
-    <Compile Include="src\asn1\x509\IssuingDistributionPoint.cs" />
-    <Compile Include="src\asn1\x509\KeyPurposeId.cs" />
-    <Compile Include="src\asn1\x509\KeyUsage.cs" />
-    <Compile Include="src\asn1\x509\NameConstraints.cs" />
-    <Compile Include="src\asn1\x509\NoticeReference.cs" />
-    <Compile Include="src\asn1\x509\ObjectDigestInfo.cs" />
-    <Compile Include="src\asn1\x509\PolicyInformation.cs" />
-    <Compile Include="src\asn1\x509\PolicyMappings.cs" />
-    <Compile Include="src\asn1\x509\PolicyQualifierId.cs" />
-    <Compile Include="src\asn1\x509\PolicyQualifierInfo.cs" />
-    <Compile Include="src\asn1\x509\PrivateKeyUsagePeriod.cs" />
-    <Compile Include="src\asn1\x509\RSAPublicKeyStructure.cs" />
-    <Compile Include="src\asn1\x509\ReasonFlags.cs" />
-    <Compile Include="src\asn1\x509\RoleSyntax.cs" />
-    <Compile Include="src\asn1\x509\SubjectDirectoryAttributes.cs" />
-    <Compile Include="src\asn1\x509\SubjectKeyIdentifier.cs" />
-    <Compile Include="src\asn1\x509\SubjectPublicKeyInfo.cs" />
-    <Compile Include="src\asn1\x509\TBSCertList.cs" />
-    <Compile Include="src\asn1\x509\TBSCertificateStructure.cs" />
-    <Compile Include="src\asn1\x509\Target.cs" />
-    <Compile Include="src\asn1\x509\TargetInformation.cs" />
-    <Compile Include="src\asn1\x509\Targets.cs" />
-    <Compile Include="src\asn1\x509\Time.cs" />
-    <Compile Include="src\asn1\x509\UserNotice.cs" />
-    <Compile Include="src\asn1\x509\V1TBSCertificateGenerator.cs" />
-    <Compile Include="src\asn1\x509\V2AttributeCertificateInfoGenerator.cs" />
-    <Compile Include="src\asn1\x509\V2Form.cs" />
-    <Compile Include="src\asn1\x509\V2TBSCertListGenerator.cs" />
-    <Compile Include="src\asn1\x509\V3TBSCertificateGenerator.cs" />
-    <Compile Include="src\asn1\x509\X509Attributes.cs" />
-    <Compile Include="src\asn1\x509\X509CertificateStructure.cs" />
-    <Compile Include="src\asn1\x509\X509DefaultEntryConverter.cs" />
-    <Compile Include="src\asn1\x509\X509Extension.cs" />
-    <Compile Include="src\asn1\x509\X509Extensions.cs" />
-    <Compile Include="src\asn1\x509\X509ExtensionsGenerator.cs" />
-    <Compile Include="src\asn1\x509\X509Name.cs" />
-    <Compile Include="src\asn1\x509\X509NameEntryConverter.cs" />
-    <Compile Include="src\asn1\x509\X509NameTokenizer.cs" />
-    <Compile Include="src\asn1\x509\X509ObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\BiometricData.cs" />
-    <Compile Include="src\asn1\x509\qualified\ETSIQCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\Iso4217CurrencyCode.cs" />
-    <Compile Include="src\asn1\x509\qualified\MonetaryValue.cs" />
-    <Compile Include="src\asn1\x509\qualified\QCStatement.cs" />
-    <Compile Include="src\asn1\x509\qualified\RFC3739QCObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x509\qualified\SemanticsInformation.cs" />
-    <Compile Include="src\asn1\x509\qualified\TypeOfBiometricData.cs" />
-    <Compile Include="src\asn1\x509\sigi\NameOrPseudonym.cs" />
-    <Compile Include="src\asn1\x509\sigi\PersonalData.cs" />
-    <Compile Include="src\asn1\x509\sigi\SigIObjectIdentifiers.cs" />
-    <Compile Include="src\asn1\x9\DHDomainParameters.cs" />
-    <Compile Include="src\asn1\x9\DHPublicKey.cs" />
-    <Compile Include="src\asn1\x9\DHValidationParms.cs" />
-    <Compile Include="src\asn1\x9\ECNamedCurveTable.cs" />
-    <Compile Include="src\asn1\x9\KeySpecificInfo.cs" />
-    <Compile Include="src\asn1\x9\OtherInfo.cs" />
-    <Compile Include="src\asn1\x9\X962NamedCurves.cs" />
-    <Compile Include="src\asn1\x9\X962Parameters.cs" />
-    <Compile Include="src\asn1\x9\X9Curve.cs" />
-    <Compile Include="src\asn1\x9\X9ECParameters.cs" />
-    <Compile Include="src\asn1\x9\X9ECParametersHolder.cs" />
-    <Compile Include="src\asn1\x9\X9ECPoint.cs" />
-    <Compile Include="src\asn1\x9\X9FieldElement.cs" />
-    <Compile Include="src\asn1\x9\X9FieldID.cs" />
-    <Compile Include="src\asn1\x9\X9IntegerConverter.cs" />
-    <Compile Include="src\asn1\x9\X9ObjectIdentifiers.cs" />
-    <Compile Include="src\bcpg\ArmoredInputStream.cs" />
-    <Compile Include="src\bcpg\ArmoredOutputStream.cs" />
-    <Compile Include="src\bcpg\BcpgInputStream.cs" />
-    <Compile Include="src\bcpg\BcpgObject.cs" />
-    <Compile Include="src\bcpg\BcpgOutputStream.cs" />
-    <Compile Include="src\bcpg\CompressedDataPacket.cs" />
-    <Compile Include="src\bcpg\CompressionAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\ContainedPacket.cs" />
-    <Compile Include="src\bcpg\Crc24.cs" />
-    <Compile Include="src\bcpg\DsaPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\DsaSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\ECDHPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECDsaPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECPublicBCPGKey.cs" />
-    <Compile Include="src\bcpg\ECSecretBCPGKey.cs" />
-    <Compile Include="src\bcpg\ElGamalPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\ElGamalSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\ExperimentalPacket.cs" />
-    <Compile Include="src\bcpg\HashAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\IBcpgKey.cs" />
-    <Compile Include="src\bcpg\InputStreamPacket.cs" />
-    <Compile Include="src\bcpg\LiteralDataPacket.cs" />
-    <Compile Include="src\bcpg\MPInteger.cs" />
-    <Compile Include="src\bcpg\MarkerPacket.cs" />
-    <Compile Include="src\bcpg\ModDetectionCodePacket.cs" />
-    <Compile Include="src\bcpg\OnePassSignaturePacket.cs" />
-    <Compile Include="src\bcpg\OutputStreamPacket.cs" />
-    <Compile Include="src\bcpg\Packet.cs" />
-    <Compile Include="src\bcpg\PacketTags.cs" />
-    <Compile Include="src\bcpg\PublicKeyAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\PublicKeyEncSessionPacket.cs" />
-    <Compile Include="src\bcpg\PublicKeyPacket.cs" />
-    <Compile Include="src\bcpg\PublicSubkeyPacket.cs" />
-    <Compile Include="src\bcpg\RsaPublicBcpgKey.cs" />
-    <Compile Include="src\bcpg\RsaSecretBcpgKey.cs" />
-    <Compile Include="src\bcpg\S2k.cs" />
-    <Compile Include="src\bcpg\SecretKeyPacket.cs" />
-    <Compile Include="src\bcpg\SecretSubkeyPacket.cs" />
-    <Compile Include="src\bcpg\SignaturePacket.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacket.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacketTags.cs" />
-    <Compile Include="src\bcpg\SignatureSubpacketsReader.cs" />
-    <Compile Include="src\bcpg\SymmetricEncDataPacket.cs" />
-    <Compile Include="src\bcpg\SymmetricEncIntegrityPacket.cs" />
-    <Compile Include="src\bcpg\SymmetricKeyAlgorithmTags.cs" />
-    <Compile Include="src\bcpg\SymmetricKeyEncSessionPacket.cs" />
-    <Compile Include="src\bcpg\TrustPacket.cs" />
-    <Compile Include="src\bcpg\UserAttributePacket.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacket.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacketTags.cs" />
-    <Compile Include="src\bcpg\UserAttributeSubpacketsReader.cs" />
-    <Compile Include="src\bcpg\UserIdPacket.cs" />
-    <Compile Include="src\bcpg\attr\ImageAttrib.cs" />
-    <Compile Include="src\bcpg\sig\EmbeddedSignature.cs" />
-    <Compile Include="src\bcpg\sig\Exportable.cs" />
-    <Compile Include="src\bcpg\sig\Features.cs" />
-    <Compile Include="src\bcpg\sig\IssuerKeyId.cs" />
-    <Compile Include="src\bcpg\sig\KeyExpirationTime.cs" />
-    <Compile Include="src\bcpg\sig\KeyFlags.cs" />
-    <Compile Include="src\bcpg\sig\NotationData.cs" />
-    <Compile Include="src\bcpg\sig\PreferredAlgorithms.cs" />
-    <Compile Include="src\bcpg\sig\PrimaryUserId.cs" />
-    <Compile Include="src\bcpg\sig\Revocable.cs" />
-    <Compile Include="src\bcpg\sig\RevocationKey.cs" />
-    <Compile Include="src\bcpg\sig\RevocationKeyTags.cs" />
-    <Compile Include="src\bcpg\sig\RevocationReason.cs" />
-    <Compile Include="src\bcpg\sig\RevocationReasonTags.cs" />
-    <Compile Include="src\bcpg\sig\SignatureCreationTime.cs" />
-    <Compile Include="src\bcpg\sig\SignatureExpirationTime.cs" />
-    <Compile Include="src\bcpg\sig\SignerUserId.cs" />
-    <Compile Include="src\bcpg\sig\TrustSignature.cs" />
-    <Compile Include="src\cms\BaseDigestCalculator.cs" />
-    <Compile Include="src\cms\CMSAttributeTableGenerationException.cs" />
-    <Compile Include="src\cms\CMSAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthEnvelopedData.cs" />
-    <Compile Include="src\cms\CMSAuthEnvelopedGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedData.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataParser.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSAuthenticatedGenerator.cs" />
-    <Compile Include="src\cms\CMSCompressedData.cs" />
-    <Compile Include="src\cms\CMSCompressedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSCompressedDataParser.cs" />
-    <Compile Include="src\cms\CMSCompressedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSContentInfoParser.cs" />
-    <Compile Include="src\cms\CMSEnvelopedData.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataParser.cs" />
-    <Compile Include="src\cms\CMSEnvelopedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedGenerator.cs" />
-    <Compile Include="src\cms\CMSEnvelopedHelper.cs" />
-    <Compile Include="src\cms\CMSException.cs" />
-    <Compile Include="src\cms\CMSPBEKey.cs" />
-    <Compile Include="src\cms\CMSProcessable.cs" />
-    <Compile Include="src\cms\CMSProcessableByteArray.cs" />
-    <Compile Include="src\cms\CMSProcessableFile.cs" />
-    <Compile Include="src\cms\CMSProcessableInputStream.cs" />
-    <Compile Include="src\cms\CMSReadable.cs" />
-    <Compile Include="src\cms\CMSSecureReadable.cs" />
-    <Compile Include="src\cms\CMSSignedData.cs" />
-    <Compile Include="src\cms\CMSSignedDataGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedDataParser.cs" />
-    <Compile Include="src\cms\CMSSignedDataStreamGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedGenerator.cs" />
-    <Compile Include="src\cms\CMSSignedHelper.cs" />
-    <Compile Include="src\cms\CMSStreamException.cs" />
-    <Compile Include="src\cms\CMSTypedStream.cs" />
-    <Compile Include="src\cms\CMSUtils.cs" />
-    <Compile Include="src\cms\CounterSignatureDigestCalculator.cs" />
-    <Compile Include="src\cms\DefaultAuthenticatedAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\DefaultSignedAttributeTableGenerator.cs" />
-    <Compile Include="src\cms\DigOutputStream.cs" />
-    <Compile Include="src\cms\IDigestCalculator.cs" />
-    <Compile Include="src\cms\KEKRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KEKRecipientInformation.cs" />
-    <Compile Include="src\cms\KeyAgreeRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KeyAgreeRecipientInformation.cs" />
-    <Compile Include="src\cms\KeyTransRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\KeyTransRecipientInformation.cs" />
-    <Compile Include="src\cms\MacOutputStream.cs" />
-    <Compile Include="src\cms\OriginatorId.cs" />
-    <Compile Include="src\cms\OriginatorInfoGenerator.cs" />
-    <Compile Include="src\cms\OriginatorInformation.cs" />
-    <Compile Include="src\cms\PKCS5Scheme2PBEKey.cs" />
-    <Compile Include="src\cms\PKCS5Scheme2UTF8PBEKey.cs" />
-    <Compile Include="src\cms\PasswordRecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\PasswordRecipientInformation.cs" />
-    <Compile Include="src\cms\RecipientId.cs" />
-    <Compile Include="src\cms\RecipientInfoGenerator.cs" />
-    <Compile Include="src\cms\RecipientInformation.cs" />
-    <Compile Include="src\cms\RecipientInformationStore.cs" />
-    <Compile Include="src\cms\SigOutputStream.cs" />
-    <Compile Include="src\cms\SignerId.cs" />
-    <Compile Include="src\cms\SignerInfoGenerator.cs" />
-    <Compile Include="src\cms\SignerInformation.cs" />
-    <Compile Include="src\cms\SignerInformationStore.cs" />
-    <Compile Include="src\cms\SimpleAttributeTableGenerator.cs" />
-    <Compile Include="src\crypto\AsymmetricCipherKeyPair.cs" />
-    <Compile Include="src\crypto\AsymmetricKeyParameter.cs" />
-    <Compile Include="src\crypto\BufferedAeadBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedAsymmetricBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedBlockCipher.cs" />
-    <Compile Include="src\crypto\BufferedCipherBase.cs" />
-    <Compile Include="src\crypto\BufferedIesCipher.cs" />
-    <Compile Include="src\crypto\BufferedStreamCipher.cs" />
-    <Compile Include="src\crypto\Check.cs" />
-    <Compile Include="src\crypto\CipherKeyGenerator.cs" />
-    <Compile Include="src\crypto\CryptoException.cs" />
-    <Compile Include="src\crypto\DataLengthException.cs" />
-    <Compile Include="src\crypto\digests\NonMemoableDigest.cs" />
-    <Compile Include="src\crypto\engines\SerpentEngineBase.cs" />
-    <Compile Include="src\crypto\engines\TnepresEngine.cs" />
-    <Compile Include="src\crypto\generators\BCrypt.cs" />
-    <Compile Include="src\crypto\generators\HKDFBytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\OpenBsdBCrypt.cs" />
-    <Compile Include="src\crypto\IAsymmetricBlockCipher.cs" />
-    <Compile Include="src\crypto\IAsymmetricCipherKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\IBasicAgreement.cs" />
-    <Compile Include="src\crypto\IBlockCipher.cs" />
-    <Compile Include="src\crypto\IBlockResult.cs" />
-    <Compile Include="src\crypto\IBufferedCipher.cs" />
-    <Compile Include="src\crypto\ICipherParameters.cs" />
-    <Compile Include="src\crypto\IDSA.cs" />
-    <Compile Include="src\crypto\IDerivationFunction.cs" />
-    <Compile Include="src\crypto\IDerivationParameters.cs" />
-    <Compile Include="src\crypto\IDigest.cs" />
-    <Compile Include="src\crypto\IEntropySource.cs" />
-    <Compile Include="src\crypto\IEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\IMac.cs" />
-    <Compile Include="src\crypto\ISignatureFactory.cs" />
-    <Compile Include="src\crypto\IStreamCalculator.cs" />
-    <Compile Include="src\crypto\ISigner.cs" />
-    <Compile Include="src\crypto\ISignerWithRecovery.cs" />
-    <Compile Include="src\crypto\IStreamCipher.cs" />
-    <Compile Include="src\crypto\IVerifier.cs" />
-    <Compile Include="src\crypto\IVerifierFactory.cs" />
-    <Compile Include="src\crypto\IVerifierFactoryProvider.cs" />
-    <Compile Include="src\crypto\IWrapper.cs" />
-    <Compile Include="src\crypto\IXof.cs" />
-    <Compile Include="src\crypto\InvalidCipherTextException.cs" />
-    <Compile Include="src\crypto\KeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\MaxBytesExceededException.cs" />
-    <Compile Include="src\crypto\OutputLengthException.cs" />
-    <Compile Include="src\crypto\parameters\HKDFParameters.cs" />
-    <Compile Include="src\crypto\PbeParametersGenerator.cs" />
-    <Compile Include="src\crypto\prng\BasicEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\prng\CryptoApiEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\prng\drbg\CtrSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\DrbgUtilities.cs" />
-    <Compile Include="src\crypto\prng\drbg\HashSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\HMacSP800Drbg.cs" />
-    <Compile Include="src\crypto\prng\drbg\ISP80090Drbg.cs" />
-    <Compile Include="src\crypto\prng\EntropyUtilities.cs" />
-    <Compile Include="src\crypto\prng\IDrbgProvider.cs" />
-    <Compile Include="src\crypto\prng\SP800SecureRandom.cs" />
-    <Compile Include="src\crypto\prng\SP800SecureRandomBuilder.cs" />
-    <Compile Include="src\crypto\prng\X931Rng.cs" />
-    <Compile Include="src\crypto\prng\X931SecureRandom.cs" />
-    <Compile Include="src\crypto\prng\X931SecureRandomBuilder.cs" />
-    <Compile Include="src\crypto\StreamBlockCipher.cs" />
-    <Compile Include="src\crypto\agreement\DHAgreement.cs" />
-    <Compile Include="src\crypto\agreement\DHBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\DHStandardGroups.cs" />
-    <Compile Include="src\crypto\agreement\ECDHBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECDHCBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECDHWithKdfBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECMqvBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\ECMqvWithKdfBasicAgreement.cs" />
-    <Compile Include="src\crypto\agreement\SM2KeyExchange.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeParticipant.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakePrimeOrderGroup.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakePrimeOrderGroups.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound1Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound2Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeRound3Payload.cs" />
-    <Compile Include="src\crypto\agreement\jpake\JPakeUtilities.cs" />
-    <Compile Include="src\crypto\agreement\kdf\ConcatenationKdfGenerator.cs" />
-    <Compile Include="src\crypto\agreement\kdf\DHKdfParameters.cs" />
-    <Compile Include="src\crypto\agreement\kdf\DHKekGenerator.cs" />
-    <Compile Include="src\crypto\agreement\kdf\ECDHKekGenerator.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Client.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Server.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6StandardGroups.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6Utilities.cs" />
-    <Compile Include="src\crypto\agreement\srp\SRP6VerifierGenerator.cs" />
-    <Compile Include="src\crypto\digests\Blake2bDigest.cs" />
-    <Compile Include="src\crypto\digests\Blake2sDigest.cs" />
-    <Compile Include="src\crypto\digests\DSTU7564Digest.cs" />
-    <Compile Include="src\crypto\digests\GeneralDigest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012_256Digest.cs" />
-    <Compile Include="src\crypto\digests\GOST3411_2012_512Digest.cs" />
-    <Compile Include="src\crypto\digests\KeccakDigest.cs" />
-    <Compile Include="src\crypto\digests\LongDigest.cs" />
-    <Compile Include="src\crypto\digests\MD2Digest.cs" />
-    <Compile Include="src\crypto\digests\MD4Digest.cs" />
-    <Compile Include="src\crypto\digests\MD5Digest.cs" />
-    <Compile Include="src\crypto\digests\NullDigest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD128Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD160Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD256Digest.cs" />
-    <Compile Include="src\crypto\digests\RipeMD320Digest.cs" />
-    <Compile Include="src\crypto\digests\SHA3Digest.cs" />
-    <Compile Include="src\crypto\digests\SM3Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha1Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha224Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha256Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha384Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha512Digest.cs" />
-    <Compile Include="src\crypto\digests\Sha512tDigest.cs" />
-    <Compile Include="src\crypto\digests\ShakeDigest.cs" />
-    <Compile Include="src\crypto\digests\ShortenedDigest.cs" />
-    <Compile Include="src\crypto\digests\SkeinDigest.cs" />
-    <Compile Include="src\crypto\digests\SkeinEngine.cs" />
-    <Compile Include="src\crypto\digests\TigerDigest.cs" />
-    <Compile Include="src\crypto\digests\WhirlpoolDigest.cs" />
-    <Compile Include="src\crypto\ec\CustomNamedCurves.cs" />
-    <Compile Include="src\crypto\encodings\ISO9796d1Encoding.cs" />
-    <Compile Include="src\crypto\encodings\OaepEncoding.cs" />
-    <Compile Include="src\crypto\encodings\Pkcs1Encoding.cs" />
-    <Compile Include="src\crypto\engines\AesEngine.cs" />
-    <Compile Include="src\crypto\engines\AesFastEngine.cs" />
-    <Compile Include="src\crypto\engines\AesLightEngine.cs" />
-    <Compile Include="src\crypto\engines\AesWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\BlowfishEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaLightEngine.cs" />
-    <Compile Include="src\crypto\engines\CamelliaWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\Cast5Engine.cs" />
-    <Compile Include="src\crypto\engines\Cast6Engine.cs" />
-    <Compile Include="src\crypto\engines\ChaChaEngine.cs" />
-    <Compile Include="src\crypto\engines\ChaCha7539Engine.cs" />
-    <Compile Include="src\crypto\engines\DesEdeEngine.cs" />
-    <Compile Include="src\crypto\engines\DesEdeWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\DesEngine.cs" />
-    <Compile Include="src\crypto\engines\Dstu7624Engine.cs" />
-    <Compile Include="src\crypto\engines\Dstu7624WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\ElGamalEngine.cs" />
-    <Compile Include="src\crypto\engines\GOST28147Engine.cs" />
-    <Compile Include="src\crypto\engines\HC128Engine.cs" />
-    <Compile Include="src\crypto\engines\HC256Engine.cs" />
-    <Compile Include="src\crypto\engines\ISAACEngine.cs" />
-    <Compile Include="src\crypto\engines\IdeaEngine.cs" />
-    <Compile Include="src\crypto\engines\IesEngine.cs" />
-    <Compile Include="src\crypto\engines\NaccacheSternEngine.cs" />
-    <Compile Include="src\crypto\engines\NoekeonEngine.cs" />
-    <Compile Include="src\crypto\engines\NullEngine.cs" />
-    <Compile Include="src\crypto\engines\RC2Engine.cs" />
-    <Compile Include="src\crypto\engines\RC2WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RC4Engine.cs" />
-    <Compile Include="src\crypto\engines\RC532Engine.cs" />
-    <Compile Include="src\crypto\engines\RC564Engine.cs" />
-    <Compile Include="src\crypto\engines\RC6Engine.cs" />
-    <Compile Include="src\crypto\engines\RFC3211WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RFC3394WrapEngine.cs" />
-    <Compile Include="src\crypto\engines\RSABlindedEngine.cs" />
-    <Compile Include="src\crypto\engines\RSABlindingEngine.cs" />
-    <Compile Include="src\crypto\engines\RSACoreEngine.cs" />
-    <Compile Include="src\crypto\engines\RijndaelEngine.cs" />
-    <Compile Include="src\crypto\engines\RsaEngine.cs" />
-    <Compile Include="src\crypto\engines\SEEDEngine.cs" />
-    <Compile Include="src\crypto\engines\SEEDWrapEngine.cs" />
-    <Compile Include="src\crypto\engines\Salsa20Engine.cs" />
-    <Compile Include="src\crypto\engines\SerpentEngine.cs" />
-    <Compile Include="src\crypto\engines\SkipjackEngine.cs" />
-    <Compile Include="src\crypto\engines\SM2Engine.cs" />
-    <Compile Include="src\crypto\engines\TEAEngine.cs" />
-    <Compile Include="src\crypto\engines\ThreefishEngine.cs" />
-    <Compile Include="src\crypto\engines\TwofishEngine.cs" />
-    <Compile Include="src\crypto\engines\VMPCEngine.cs" />
-    <Compile Include="src\crypto\engines\VMPCKSA3Engine.cs" />
-    <Compile Include="src\crypto\engines\XSalsa20Engine.cs" />
-    <Compile Include="src\crypto\engines\XTEAEngine.cs" />
-    <Compile Include="src\crypto\generators\BaseKdfBytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHBasicKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHKeyGeneratorHelper.cs" />
-    <Compile Include="src\crypto\generators\DHKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\DHParametersHelper.cs" />
-    <Compile Include="src\crypto\generators\DesEdeKeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\DesKeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\DsaKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\DsaParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\ECKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\ElGamalKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\ElGamalParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\GOST3410KeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\GOST3410ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Kdf1BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\Kdf2BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\Mgf1BytesGenerator.cs" />
-    <Compile Include="src\crypto\generators\NaccacheSternKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\OpenSSLPBEParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs12ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs5S1ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Pkcs5S2ParametersGenerator.cs" />
-    <Compile Include="src\crypto\generators\Poly1305KeyGenerator.cs" />
-    <Compile Include="src\crypto\generators\RSABlindingFactorGenerator.cs" />
-    <Compile Include="src\crypto\generators\RsaKeyPairGenerator.cs" />
-    <Compile Include="src\crypto\generators\SCrypt.cs" />
-    <Compile Include="src\crypto\io\CipherStream.cs" />
-    <Compile Include="src\crypto\io\DigestStream.cs" />
-    <Compile Include="src\crypto\io\MacStream.cs" />
-    <Compile Include="src\crypto\io\SignerStream.cs" />
-    <Compile Include="src\crypto\macs\CMac.cs" />
-    <Compile Include="src\crypto\macs\CbcBlockCipherMac.cs" />
-    <Compile Include="src\crypto\macs\CfbBlockCipherMac.cs" />
-    <Compile Include="src\crypto\macs\DSTU7564Mac.cs" />
-    <Compile Include="src\crypto\macs\DSTU7624Mac.cs" />
-    <Compile Include="src\crypto\macs\GMac.cs" />
-    <Compile Include="src\crypto\macs\GOST28147Mac.cs" />
-    <Compile Include="src\crypto\macs\HMac.cs" />
-    <Compile Include="src\crypto\macs\ISO9797Alg3Mac.cs" />
-    <Compile Include="src\crypto\macs\Poly1305.cs" />
-    <Compile Include="src\crypto\macs\SipHash.cs" />
-    <Compile Include="src\crypto\macs\SkeinMac.cs" />
-    <Compile Include="src\crypto\macs\VMPCMac.cs" />
-    <Compile Include="src\crypto\modes\CbcBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CcmBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\CtsBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\EAXBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\GCMBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\GOFBBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\IAeadBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\KCcmBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\KCtrBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OCBBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\OpenPgpCfbBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\SicBlockCipher.cs" />
-    <Compile Include="src\crypto\modes\gcm\BasicGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\BasicGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\GcmUtilities.cs" />
-    <Compile Include="src\crypto\modes\gcm\IGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\IGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables1kGcmExponentiator.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables64kGcmMultiplier.cs" />
-    <Compile Include="src\crypto\modes\gcm\Tables8kGcmMultiplier.cs" />
-    <Compile Include="src\crypto\operators\Asn1Signature.cs" />
-    <Compile Include="src\crypto\paddings\BlockCipherPadding.cs" />
-    <Compile Include="src\crypto\paddings\ISO10126d2Padding.cs" />
-    <Compile Include="src\crypto\paddings\ISO7816d4Padding.cs" />
-    <Compile Include="src\crypto\paddings\PaddedBufferedBlockCipher.cs" />
-    <Compile Include="src\crypto\paddings\Pkcs7Padding.cs" />
-    <Compile Include="src\crypto\paddings\TbcPadding.cs" />
-    <Compile Include="src\crypto\paddings\X923Padding.cs" />
-    <Compile Include="src\crypto\paddings\ZeroBytePadding.cs" />
-    <Compile Include="src\crypto\parameters\AEADParameters.cs" />
-    <Compile Include="src\crypto\parameters\CcmParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DHValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DSAParameterGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DesEdeParameters.cs" />
-    <Compile Include="src\crypto\parameters\DesParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\DsaValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECDomainParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ECPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ElGamalPublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410KeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410KeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410Parameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410PrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410PublicKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\GOST3410ValidationParameters.cs" />
-    <Compile Include="src\crypto\parameters\ISO18033KDFParameters.cs" />
-    <Compile Include="src\crypto\parameters\IesParameters.cs" />
-    <Compile Include="src\crypto\parameters\IesWithCipherParameters.cs" />
-    <Compile Include="src\crypto\parameters\KdfParameters.cs" />
-    <Compile Include="src\crypto\parameters\KeyParameter.cs" />
-    <Compile Include="src\crypto\parameters\MgfParameters.cs" />
-    <Compile Include="src\crypto\parameters\MqvPrivateParameters.cs" />
-    <Compile Include="src\crypto\parameters\MqvPublicParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\NaccacheSternPrivateKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithID.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithIV.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithRandom.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithSBox.cs" />
-    <Compile Include="src\crypto\parameters\ParametersWithSalt.cs" />
-    <Compile Include="src\crypto\parameters\RC2Parameters.cs" />
-    <Compile Include="src\crypto\parameters\RC5Parameters.cs" />
-    <Compile Include="src\crypto\parameters\RSABlindingParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaKeyGenerationParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\RsaPrivateCrtKeyParameters.cs" />
-    <Compile Include="src\crypto\parameters\SkeinParameters.cs" />
-    <Compile Include="src\crypto\parameters\SM2KeyExchangePrivateParameters.cs" />
-    <Compile Include="src\crypto\parameters\SM2KeyExchangePublicParameters.cs" />
-    <Compile Include="src\crypto\parameters\Srp6GroupParameters.cs" />
-    <Compile Include="src\crypto\parameters\TweakableBlockCipherParameters.cs" />
-    <Compile Include="src\crypto\prng\CryptoApiRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\DigestRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\IRandomGenerator.cs" />
-    <Compile Include="src\crypto\prng\ReversedWindowGenerator.cs" />
-    <Compile Include="src\crypto\prng\ThreadedSeedGenerator.cs" />
-    <Compile Include="src\crypto\prng\VMPCRandomGenerator.cs" />
-    <Compile Include="src\crypto\signers\DsaDigestSigner.cs" />
-    <Compile Include="src\crypto\signers\DsaSigner.cs" />
-    <Compile Include="src\crypto\signers\ECDsaSigner.cs" />
-    <Compile Include="src\crypto\signers\ECGOST3410Signer.cs" />
-    <Compile Include="src\crypto\signers\ECNRSigner.cs" />
-    <Compile Include="src\crypto\signers\GOST3410DigestSigner.cs" />
-    <Compile Include="src\crypto\signers\GOST3410Signer.cs" />
-    <Compile Include="src\crypto\signers\GenericSigner.cs" />
-    <Compile Include="src\crypto\signers\HMacDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\IDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\Iso9796d2PssSigner.cs" />
-    <Compile Include="src\crypto\signers\Iso9796d2Signer.cs" />
-    <Compile Include="src\crypto\signers\IsoTrailers.cs" />
-    <Compile Include="src\crypto\signers\PssSigner.cs" />
-    <Compile Include="src\crypto\signers\RandomDsaKCalculator.cs" />
-    <Compile Include="src\crypto\signers\RsaDigestSigner.cs" />
-    <Compile Include="src\crypto\signers\SM2Signer.cs" />
-    <Compile Include="src\crypto\signers\X931Signer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsClient.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsContext.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsPeer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsServer.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsSigner.cs" />
-    <Compile Include="src\crypto\tls\AbstractTlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\AlertDescription.cs" />
-    <Compile Include="src\crypto\tls\AlertLevel.cs" />
-    <Compile Include="src\crypto\tls\BasicTlsPskIdentity.cs" />
-    <Compile Include="src\crypto\tls\BulkCipherAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ByteQueue.cs" />
-    <Compile Include="src\crypto\tls\ByteQueueStream.cs" />
-    <Compile Include="src\crypto\tls\CertChainType.cs" />
-    <Compile Include="src\crypto\tls\Certificate.cs" />
-    <Compile Include="src\crypto\tls\CertificateRequest.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatus.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatusRequest.cs" />
-    <Compile Include="src\crypto\tls\CertificateStatusType.cs" />
-    <Compile Include="src\crypto\tls\CertificateType.cs" />
-    <Compile Include="src\crypto\tls\CertificateUrl.cs" />
-    <Compile Include="src\crypto\tls\Chacha20Poly1305.cs" />
-    <Compile Include="src\crypto\tls\ChangeCipherSpec.cs" />
-    <Compile Include="src\crypto\tls\CipherSuite.cs" />
-    <Compile Include="src\crypto\tls\CipherType.cs" />
-    <Compile Include="src\crypto\tls\ClientAuthenticationType.cs" />
-    <Compile Include="src\crypto\tls\ClientCertificateType.cs" />
-    <Compile Include="src\crypto\tls\CombinedHash.cs" />
-    <Compile Include="src\crypto\tls\CompressionMethod.cs" />
-    <Compile Include="src\crypto\tls\ConnectionEnd.cs" />
-    <Compile Include="src\crypto\tls\ContentType.cs" />
-    <Compile Include="src\crypto\tls\DatagramTransport.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsClient.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsServer.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\DefaultTlsSrpGroupVerifier.cs" />
-    <Compile Include="src\crypto\tls\DeferredHash.cs" />
-    <Compile Include="src\crypto\tls\DigestInputBuffer.cs" />
-    <Compile Include="src\crypto\tls\DigitallySigned.cs" />
-    <Compile Include="src\crypto\tls\DtlsClientProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsEpoch.cs" />
-    <Compile Include="src\crypto\tls\DtlsHandshakeRetransmit.cs" />
-    <Compile Include="src\crypto\tls\DtlsProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsReassembler.cs" />
-    <Compile Include="src\crypto\tls\DtlsRecordLayer.cs" />
-    <Compile Include="src\crypto\tls\DtlsReliableHandshake.cs" />
-    <Compile Include="src\crypto\tls\DtlsReplayWindow.cs" />
-    <Compile Include="src\crypto\tls\DtlsServerProtocol.cs" />
-    <Compile Include="src\crypto\tls\DtlsTransport.cs" />
-    <Compile Include="src\crypto\tls\ECBasisType.cs" />
-    <Compile Include="src\crypto\tls\ECCurveType.cs" />
-    <Compile Include="src\crypto\tls\ECPointFormat.cs" />
-    <Compile Include="src\crypto\tls\EncryptionAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ExporterLabel.cs" />
-    <Compile Include="src\crypto\tls\ExtensionType.cs" />
-    <Compile Include="src\crypto\tls\FiniteFieldDheGroup.cs" />
-    <Compile Include="src\crypto\tls\HandshakeType.cs" />
-    <Compile Include="src\crypto\tls\HashAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatExtension.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMessage.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMessageType.cs" />
-    <Compile Include="src\crypto\tls\HeartbeatMode.cs" />
-    <Compile Include="src\crypto\tls\KeyExchangeAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\MacAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\MaxFragmentLength.cs" />
-    <Compile Include="src\crypto\tls\NameType.cs" />
-    <Compile Include="src\crypto\tls\NamedCurve.cs" />
-    <Compile Include="src\crypto\tls\NewSessionTicket.cs" />
-    <Compile Include="src\crypto\tls\OcspStatusRequest.cs" />
-    <Compile Include="src\crypto\tls\PrfAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\ProtocolVersion.cs" />
-    <Compile Include="src\crypto\tls\PskTlsClient.cs" />
-    <Compile Include="src\crypto\tls\PskTlsServer.cs" />
-    <Compile Include="src\crypto\tls\RecordStream.cs" />
-    <Compile Include="src\crypto\tls\SecurityParameters.cs" />
-    <Compile Include="src\crypto\tls\ServerDHParams.cs" />
-    <Compile Include="src\crypto\tls\ServerName.cs" />
-    <Compile Include="src\crypto\tls\ServerNameList.cs" />
-    <Compile Include="src\crypto\tls\ServerOnlyTlsAuthentication.cs" />
-    <Compile Include="src\crypto\tls\ServerSrpParams.cs" />
-    <Compile Include="src\crypto\tls\SessionParameters.cs" />
-    <Compile Include="src\crypto\tls\SignatureAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\SignatureAndHashAlgorithm.cs" />
-    <Compile Include="src\crypto\tls\SignerInputBuffer.cs" />
-    <Compile Include="src\crypto\tls\SimulatedTlsSrpIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\SrpTlsClient.cs" />
-    <Compile Include="src\crypto\tls\SrpTlsServer.cs" />
-    <Compile Include="src\crypto\tls\SrtpProtectionProfile.cs" />
-    <Compile Include="src\crypto\tls\Ssl3Mac.cs" />
-    <Compile Include="src\crypto\tls\SupplementalDataEntry.cs" />
-    <Compile Include="src\crypto\tls\SupplementalDataType.cs" />
-    <Compile Include="src\crypto\tls\TlsAeadCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsAgreementCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsAuthentication.cs" />
-    <Compile Include="src\crypto\tls\TlsBlockCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsCipherFactory.cs" />
-    <Compile Include="src\crypto\tls\TlsClient.cs" />
-    <Compile Include="src\crypto\tls\TlsClientContext.cs" />
-    <Compile Include="src\crypto\tls\TlsClientContextImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsClientProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsContext.cs" />
-    <Compile Include="src\crypto\tls\TlsCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsDHKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsDHUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsDeflateCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsDheKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsDsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsDssSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsECDHKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsECDheKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsECDsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsEccUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsEncryptionCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsException.cs" />
-    <Compile Include="src\crypto\tls\TlsExtensionsUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsFatalAlert.cs" />
-    <Compile Include="src\crypto\tls\TlsFatalAlertReceived.cs" />
-    <Compile Include="src\crypto\tls\TlsHandshakeHash.cs" />
-    <Compile Include="src\crypto\tls\TlsKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsMac.cs" />
-    <Compile Include="src\crypto\tls\TlsNoCloseNotifyException.cs" />
-    <Compile Include="src\crypto\tls\TlsNullCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsNullCompression.cs" />
-    <Compile Include="src\crypto\tls\TlsPeer.cs" />
-    <Compile Include="src\crypto\tls\TlsProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsProtocolHandler.cs" />
-    <Compile Include="src\crypto\tls\TlsPskIdentity.cs" />
-    <Compile Include="src\crypto\tls\TlsPskIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\TlsPskKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsRsaUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsServer.cs" />
-    <Compile Include="src\crypto\tls\TlsServerContext.cs" />
-    <Compile Include="src\crypto\tls\TlsServerContextImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsServerProtocol.cs" />
-    <Compile Include="src\crypto\tls\TlsSession.cs" />
-    <Compile Include="src\crypto\tls\TlsSessionImpl.cs" />
-    <Compile Include="src\crypto\tls\TlsSigner.cs" />
-    <Compile Include="src\crypto\tls\TlsSignerCredentials.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpGroupVerifier.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpIdentityManager.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpKeyExchange.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpLoginParameters.cs" />
-    <Compile Include="src\crypto\tls\TlsSrpUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsSrtpUtilities.cs" />
-    <Compile Include="src\crypto\tls\TlsStream.cs" />
-    <Compile Include="src\crypto\tls\TlsStreamCipher.cs" />
-    <Compile Include="src\crypto\tls\TlsUtilities.cs" />
-    <Compile Include="src\crypto\tls\UrlAndHash.cs" />
-    <Compile Include="src\crypto\tls\UseSrtpData.cs" />
-    <Compile Include="src\crypto\tls\UserMappingType.cs" />
-    <Compile Include="src\crypto\util\Pack.cs" />
-    <Compile Include="src\math\BigInteger.cs" />
-    <Compile Include="src\math\Primes.cs" />
-    <Compile Include="src\math\ec\ECAlgorithms.cs" />
-    <Compile Include="src\math\ec\ECCurve.cs" />
-    <Compile Include="src\math\ec\ECFieldElement.cs" />
-    <Compile Include="src\math\ec\ECPoint.cs" />
-    <Compile Include="src\math\ec\ECPointMap.cs" />
-    <Compile Include="src\math\ec\LongArray.cs" />
-    <Compile Include="src\math\ec\ScaleXPointMap.cs" />
-    <Compile Include="src\math\ec\ScaleYPointMap.cs" />
-    <Compile Include="src\math\ec\abc\SimpleBigDecimal.cs" />
-    <Compile Include="src\math\ec\abc\Tnaf.cs" />
-    <Compile Include="src\math\ec\abc\ZTauElement.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519Field.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\djb\Curve25519Point.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Curve.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Field.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\gm\SM2P256V1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP128R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP160R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP192R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP224R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP256R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP384R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecP521R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT113R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT131R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT163R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R2Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT193R2Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT233R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT239K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT283R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT409R1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571Field.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571FieldElement.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571K1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571K1Point.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571R1Curve.cs" />
-    <Compile Include="src\math\ec\custom\sec\SecT571R1Point.cs" />
-    <Compile Include="src\math\ec\endo\ECEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvTypeBEndomorphism.cs" />
-    <Compile Include="src\math\ec\endo\GlvTypeBParameters.cs" />
-    <Compile Include="src\math\ec\multiplier\AbstractECMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\DoubleAddMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\ECMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointCombMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\FixedPointUtilities.cs" />
-    <Compile Include="src\math\ec\multiplier\GlvMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\MixedNafR2LMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\MontgomeryLadderMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\NafL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\NafR2LMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\PreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\ReferenceMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\WNafUtilities.cs" />
-    <Compile Include="src\math\ec\multiplier\WTauNafMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\WTauNafPreCompInfo.cs" />
-    <Compile Include="src\math\ec\multiplier\ZSignedDigitL2RMultiplier.cs" />
-    <Compile Include="src\math\ec\multiplier\ZSignedDigitR2LMultiplier.cs" />
-    <Compile Include="src\math\field\FiniteFields.cs" />
-    <Compile Include="src\math\field\GF2Polynomial.cs" />
-    <Compile Include="src\math\field\GenericPolynomialExtensionField.cs" />
-    <Compile Include="src\math\field\IExtensionField.cs" />
-    <Compile Include="src\math\field\IFiniteField.cs" />
-    <Compile Include="src\math\field\IPolynomial.cs" />
-    <Compile Include="src\math\field\IPolynomialExtensionField.cs" />
-    <Compile Include="src\math\field\PrimeField.cs" />
-    <Compile Include="src\math\raw\Interleave.cs" />
-    <Compile Include="src\math\raw\Mod.cs" />
-    <Compile Include="src\math\raw\Nat.cs" />
-    <Compile Include="src\math\raw\Nat128.cs" />
-    <Compile Include="src\math\raw\Nat160.cs" />
-    <Compile Include="src\math\raw\Nat192.cs" />
-    <Compile Include="src\math\raw\Nat224.cs" />
-    <Compile Include="src\math\raw\Nat256.cs" />
-    <Compile Include="src\math\raw\Nat320.cs" />
-    <Compile Include="src\math\raw\Nat384.cs" />
-    <Compile Include="src\math\raw\Nat448.cs" />
-    <Compile Include="src\math\raw\Nat512.cs" />
-    <Compile Include="src\math\raw\Nat576.cs" />
-    <Compile Include="src\ocsp\BasicOCSPResp.cs" />
-    <Compile Include="src\ocsp\BasicOCSPRespGenerator.cs" />
-    <Compile Include="src\ocsp\CertificateID.cs" />
-    <Compile Include="src\ocsp\CertificateStatus.cs" />
-    <Compile Include="src\ocsp\OCSPException.cs" />
-    <Compile Include="src\ocsp\OCSPReq.cs" />
-    <Compile Include="src\ocsp\OCSPReqGenerator.cs" />
-    <Compile Include="src\ocsp\OCSPResp.cs" />
-    <Compile Include="src\ocsp\OCSPRespGenerator.cs" />
-    <Compile Include="src\ocsp\OCSPRespStatus.cs" />
-    <Compile Include="src\ocsp\OCSPUtil.cs" />
-    <Compile Include="src\ocsp\Req.cs" />
-    <Compile Include="src\ocsp\RespData.cs" />
-    <Compile Include="src\ocsp\RespID.cs" />
-    <Compile Include="src\ocsp\RevokedStatus.cs" />
-    <Compile Include="src\ocsp\SingleResp.cs" />
-    <Compile Include="src\ocsp\UnknownStatus.cs" />
-    <Compile Include="src\openpgp\IStreamGenerator.cs" />
-    <Compile Include="src\openpgp\PGPKeyRing.cs" />
-    <Compile Include="src\openpgp\PGPObject.cs" />
-    <Compile Include="src\openpgp\PGPUserAttributeSubpacketVectorGenerator.cs" />
-    <Compile Include="src\openpgp\PgpCompressedData.cs" />
-    <Compile Include="src\openpgp\PgpCompressedDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpDataValidationException.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpEncryptedDataList.cs" />
-    <Compile Include="src\openpgp\PgpException.cs" />
-    <Compile Include="src\openpgp\PgpExperimental.cs" />
-    <Compile Include="src\openpgp\PgpKeyFlags.cs" />
-    <Compile Include="src\openpgp\PgpKeyPair.cs" />
-    <Compile Include="src\openpgp\PgpKeyRingGenerator.cs" />
-    <Compile Include="src\openpgp\PgpKeyValidationException.cs" />
-    <Compile Include="src\openpgp\PgpLiteralData.cs" />
-    <Compile Include="src\openpgp\PgpLiteralDataGenerator.cs" />
-    <Compile Include="src\openpgp\PgpMarker.cs" />
-    <Compile Include="src\openpgp\PgpObjectFactory.cs" />
-    <Compile Include="src\openpgp\PgpOnePassSignature.cs" />
-    <Compile Include="src\openpgp\PgpOnePassSignatureList.cs" />
-    <Compile Include="src\openpgp\PgpPad.cs" />
-    <Compile Include="src\openpgp\PgpPbeEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpPrivateKey.cs" />
-    <Compile Include="src\openpgp\PgpPublicKey.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyEncryptedData.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyRing.cs" />
-    <Compile Include="src\openpgp\PgpPublicKeyRingBundle.cs" />
-    <Compile Include="src\openpgp\PgpSecretKey.cs" />
-    <Compile Include="src\openpgp\PgpSecretKeyRing.cs" />
-    <Compile Include="src\openpgp\PgpSecretKeyRingBundle.cs" />
-    <Compile Include="src\openpgp\PgpSignature.cs" />
-    <Compile Include="src\openpgp\PgpSignatureGenerator.cs" />
-    <Compile Include="src\openpgp\PgpSignatureList.cs" />
-    <Compile Include="src\openpgp\PgpSignatureSubpacketGenerator.cs" />
-    <Compile Include="src\openpgp\PgpSignatureSubpacketVector.cs" />
-    <Compile Include="src\openpgp\PgpUserAttributeSubpacketVector.cs" />
-    <Compile Include="src\openpgp\PgpUtilities.cs" />
-    <Compile Include="src\openpgp\PgpV3SignatureGenerator.cs" />
-    <Compile Include="src\openpgp\Rfc6637Utilities.cs" />
-    <Compile Include="src\openpgp\SXprUtilities.cs" />
-    <Compile Include="src\openpgp\WrappedGeneratorStream.cs" />
-    <Compile Include="src\openssl\EncryptionException.cs" />
-    <Compile Include="src\openssl\IPasswordFinder.cs" />
-    <Compile Include="src\openssl\MiscPemGenerator.cs" />
-    <Compile Include="src\openssl\PEMException.cs" />
-    <Compile Include="src\openssl\PEMReader.cs" />
-    <Compile Include="src\openssl\PEMUtilities.cs" />
-    <Compile Include="src\openssl\PEMWriter.cs" />
-    <Compile Include="src\openssl\PasswordException.cs" />
-    <Compile Include="src\openssl\Pkcs8Generator.cs" />
-    <Compile Include="src\pkcs\AsymmetricKeyEntry.cs" />
-    <Compile Include="src\pkcs\EncryptedPrivateKeyInfoFactory.cs" />
-    <Compile Include="src\pkcs\PKCS12StoreBuilder.cs" />
-    <Compile Include="src\pkcs\Pkcs10CertificationRequest.cs" />
-    <Compile Include="src\pkcs\Pkcs10CertificationRequestDelaySigned.cs" />
-    <Compile Include="src\pkcs\Pkcs12Entry.cs" />
-    <Compile Include="src\pkcs\Pkcs12Store.cs" />
-    <Compile Include="src\pkcs\Pkcs12Utilities.cs" />
-    <Compile Include="src\pkcs\PrivateKeyInfoFactory.cs" />
-    <Compile Include="src\pkcs\X509CertificateEntry.cs" />
-    <Compile Include="src\pkix\CertStatus.cs" />
-    <Compile Include="src\pkix\PkixAttrCertChecker.cs" />
-    <Compile Include="src\pkix\PkixAttrCertPathBuilder.cs" />
-    <Compile Include="src\pkix\PkixAttrCertPathValidator.cs" />
-    <Compile Include="src\pkix\PkixBuilderParameters.cs" />
-    <Compile Include="src\pkix\PkixCertPath.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilder.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilderException.cs" />
-    <Compile Include="src\pkix\PkixCertPathBuilderResult.cs" />
-    <Compile Include="src\pkix\PkixCertPathChecker.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidator.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorException.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorResult.cs" />
-    <Compile Include="src\pkix\PkixCertPathValidatorUtilities.cs" />
-    <Compile Include="src\pkix\PkixCrlUtilities.cs" />
-    <Compile Include="src\pkix\PkixNameConstraintValidator.cs" />
-    <Compile Include="src\pkix\PkixNameConstraintValidatorException.cs" />
-    <Compile Include="src\pkix\PkixParameters.cs" />
-    <Compile Include="src\pkix\PkixPolicyNode.cs" />
-    <Compile Include="src\pkix\ReasonsMask.cs" />
-    <Compile Include="src\pkix\Rfc3280CertPathUtilities.cs" />
-    <Compile Include="src\pkix\Rfc3281CertPathUtilities.cs" />
-    <Compile Include="src\pkix\TrustAnchor.cs" />
-    <Compile Include="src\security\AgreementUtilities.cs" />
-    <Compile Include="src\security\CipherUtilities.cs" />
-    <Compile Include="src\security\DigestUtilities.cs" />
-    <Compile Include="src\security\DotNetUtilities.cs" />
-    <Compile Include="src\security\GeneralSecurityException.cs" />
-    <Compile Include="src\security\GeneratorUtilities.cs" />
-    <Compile Include="src\security\InvalidKeyException.cs" />
-    <Compile Include="src\security\InvalidParameterException.cs" />
-    <Compile Include="src\security\KeyException.cs" />
-    <Compile Include="src\security\MacUtilities.cs" />
-    <Compile Include="src\security\NoSuchAlgorithmException.cs" />
-    <Compile Include="src\security\ParameterUtilities.cs" />
-    <Compile Include="src\security\PbeUtilities.cs" />
-    <Compile Include="src\security\PrivateKeyFactory.cs" />
-    <Compile Include="src\security\PublicKeyFactory.cs" />
-    <Compile Include="src\security\SecureRandom.cs" />
-    <Compile Include="src\security\SecurityUtilityException.cs" />
-    <Compile Include="src\security\SignatureException.cs" />
-    <Compile Include="src\security\SignerUtilities.cs" />
-    <Compile Include="src\security\WrapperUtilities.cs" />
-    <Compile Include="src\security\cert\CertificateEncodingException.cs" />
-    <Compile Include="src\security\cert\CertificateException.cs" />
-    <Compile Include="src\security\cert\CertificateExpiredException.cs" />
-    <Compile Include="src\security\cert\CertificateNotYetValidException.cs" />
-    <Compile Include="src\security\cert\CertificateParsingException.cs" />
-    <Compile Include="src\security\cert\CrlException.cs" />
-    <Compile Include="src\tsp\GenTimeAccuracy.cs" />
-    <Compile Include="src\tsp\TSPAlgorithms.cs" />
-    <Compile Include="src\tsp\TSPException.cs" />
-    <Compile Include="src\tsp\TSPUtil.cs" />
-    <Compile Include="src\tsp\TSPValidationException.cs" />
-    <Compile Include="src\tsp\TimeStampRequest.cs" />
-    <Compile Include="src\tsp\TimeStampRequestGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampResponse.cs" />
-    <Compile Include="src\tsp\TimeStampResponseGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampToken.cs" />
-    <Compile Include="src\tsp\TimeStampTokenGenerator.cs" />
-    <Compile Include="src\tsp\TimeStampTokenInfo.cs" />
-    <Compile Include="src\util\Arrays.cs" />
-    <Compile Include="src\util\BigIntegers.cs" />
-    <Compile Include="src\util\Enums.cs" />
-    <Compile Include="src\util\IMemoable.cs" />
-    <Compile Include="src\util\Integers.cs" />
-    <Compile Include="src\util\MemoableResetException.cs" />
-    <Compile Include="src\util\Platform.cs" />
-    <Compile Include="src\util\Strings.cs" />
-    <Compile Include="src\util\Times.cs" />
-    <Compile Include="src\util\collections\CollectionUtilities.cs" />
-    <Compile Include="src\util\collections\EmptyEnumerable.cs" />
-    <Compile Include="src\util\collections\EnumerableProxy.cs" />
-    <Compile Include="src\util\collections\HashSet.cs" />
-    <Compile Include="src\util\collections\ISet.cs" />
-    <Compile Include="src\util\collections\LinkedDictionary.cs" />
-    <Compile Include="src\util\collections\UnmodifiableDictionary.cs" />
-    <Compile Include="src\util\collections\UnmodifiableDictionaryProxy.cs" />
-    <Compile Include="src\util\collections\UnmodifiableList.cs" />
-    <Compile Include="src\util\collections\UnmodifiableListProxy.cs" />
-    <Compile Include="src\util\collections\UnmodifiableSet.cs" />
-    <Compile Include="src\util\collections\UnmodifiableSetProxy.cs" />
-    <Compile Include="src\util\date\DateTimeObject.cs" />
-    <Compile Include="src\util\date\DateTimeUtilities.cs" />
-    <Compile Include="src\util\encoders\Base64.cs" />
-    <Compile Include="src\util\encoders\Base64Encoder.cs" />
-    <Compile Include="src\util\encoders\BufferedDecoder.cs" />
-    <Compile Include="src\util\encoders\BufferedEncoder.cs" />
-    <Compile Include="src\util\encoders\Hex.cs" />
-    <Compile Include="src\util\encoders\HexEncoder.cs" />
-    <Compile Include="src\util\encoders\HexTranslator.cs" />
-    <Compile Include="src\util\encoders\IEncoder.cs" />
-    <Compile Include="src\util\encoders\Translator.cs" />
-    <Compile Include="src\util\encoders\UrlBase64.cs" />
-    <Compile Include="src\util\encoders\UrlBase64Encoder.cs" />
-    <Compile Include="src\util\io\BaseInputStream.cs" />
-    <Compile Include="src\util\io\BaseOutputStream.cs" />
-    <Compile Include="src\util\io\FilterStream.cs" />
-    <Compile Include="src\util\io\NullOutputStream.cs" />
-    <Compile Include="src\util\io\PushbackStream.cs" />
-    <Compile Include="src\util\io\StreamOverflowException.cs" />
-    <Compile Include="src\util\io\Streams.cs" />
-    <Compile Include="src\util\io\TeeInputStream.cs" />
-    <Compile Include="src\util\io\TeeOutputStream.cs" />
-    <Compile Include="src\util\io\pem\PemGenerationException.cs" />
-    <Compile Include="src\util\io\pem\PemHeader.cs" />
-    <Compile Include="src\util\io\pem\PemObject.cs" />
-    <Compile Include="src\util\io\pem\PemObjectGenerator.cs" />
-    <Compile Include="src\util\io\pem\PemObjectParser.cs" />
-    <Compile Include="src\util\io\pem\PemReader.cs" />
-    <Compile Include="src\util\io\pem\PemWriter.cs" />
-    <Compile Include="src\util\net\IPAddress.cs" />
-    <Compile Include="src\util\TypeExtensions.cs" />
-    <Compile Include="src\util\zlib\Adler32.cs" />
-    <Compile Include="src\util\zlib\Deflate.cs" />
-    <Compile Include="src\util\zlib\InfBlocks.cs" />
-    <Compile Include="src\util\zlib\InfCodes.cs" />
-    <Compile Include="src\util\zlib\InfTree.cs" />
-    <Compile Include="src\util\zlib\Inflate.cs" />
-    <Compile Include="src\util\zlib\JZlib.cs" />
-    <Compile Include="src\util\zlib\StaticTree.cs" />
-    <Compile Include="src\util\zlib\Tree.cs" />
-    <Compile Include="src\util\zlib\ZDeflaterOutputStream.cs" />
-    <Compile Include="src\util\zlib\ZInflaterInputStream.cs" />
-    <Compile Include="src\util\zlib\ZInputStream.cs" />
-    <Compile Include="src\util\zlib\ZOutputStream.cs" />
-    <Compile Include="src\util\zlib\ZStream.cs" />
-    <Compile Include="src\x509\AttributeCertificateHolder.cs" />
-    <Compile Include="src\x509\AttributeCertificateIssuer.cs" />
-    <Compile Include="src\x509\IX509AttributeCertificate.cs" />
-    <Compile Include="src\x509\IX509Extension.cs" />
-    <Compile Include="src\x509\PEMParser.cs" />
-    <Compile Include="src\x509\PrincipalUtil.cs" />
-    <Compile Include="src\x509\SubjectPublicKeyInfoFactory.cs" />
-    <Compile Include="src\x509\X509AttrCertParser.cs" />
-    <Compile Include="src\x509\X509Attribute.cs" />
-    <Compile Include="src\x509\X509CertPairParser.cs" />
-    <Compile Include="src\x509\X509Certificate.cs" />
-    <Compile Include="src\x509\X509CertificatePair.cs" />
-    <Compile Include="src\x509\X509CertificateParser.cs" />
-    <Compile Include="src\x509\X509Crl.cs" />
-    <Compile Include="src\x509\X509CrlEntry.cs" />
-    <Compile Include="src\x509\X509CrlParser.cs" />
-    <Compile Include="src\x509\X509ExtensionBase.cs" />
-    <Compile Include="src\x509\X509KeyUsage.cs" />
-    <Compile Include="src\x509\X509SignatureUtil.cs" />
-    <Compile Include="src\x509\X509Utilities.cs" />
-    <Compile Include="src\x509\X509V1CertificateGenerator.cs" />
-    <Compile Include="src\x509\X509V2AttributeCertificate.cs" />
-    <Compile Include="src\x509\X509V2AttributeCertificateGenerator.cs" />
-    <Compile Include="src\x509\X509V2CRLGenerator.cs" />
-    <Compile Include="src\x509\X509V3CertificateGenerator.cs" />
-    <Compile Include="src\x509\extension\AuthorityKeyIdentifierStructure.cs" />
-    <Compile Include="src\x509\extension\SubjectKeyIdentifierStructure.cs" />
-    <Compile Include="src\x509\extension\X509ExtensionUtil.cs" />
-    <Compile Include="src\x509\store\IX509Selector.cs" />
-    <Compile Include="src\x509\store\IX509Store.cs" />
-    <Compile Include="src\x509\store\IX509StoreParameters.cs" />
-    <Compile Include="src\x509\store\NoSuchStoreException.cs" />
-    <Compile Include="src\x509\store\X509AttrCertStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CertPairStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CertStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509CollectionStore.cs" />
-    <Compile Include="src\x509\store\X509CollectionStoreParameters.cs" />
-    <Compile Include="src\x509\store\X509CrlStoreSelector.cs" />
-    <Compile Include="src\x509\store\X509StoreException.cs" />
-    <Compile Include="src\x509\store\X509StoreFactory.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Contributors.html" />
-    <None Include="License.html" />
-    <None Include="Readme.html" />
-    <None Include="checklist.txt" />
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
-</Project>
\ No newline at end of file
diff --git a/crypto/crypto.Net45.csproj b/crypto/crypto.Net45.csproj
deleted file mode 100644
index 14b3581f5..000000000
--- a/crypto/crypto.Net45.csproj
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{45473847-8AF8-4BAF-B768-442C6875B8CF}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>crypto</RootNamespace>
-    <AssemblyName>crypto</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <TargetFrameworkProfile />
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;LIB;PCL;SILVERLIGHT</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE;LIB;PCL;SILVERLIGHT</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="src\**\*.cs" />
-    <Compile Include="bzip2\**\*.cs" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/crypto/crypto.dotnet.csproj b/crypto/crypto.dotnet.csproj
deleted file mode 100644
index d9ae0db87..000000000
--- a/crypto/crypto.dotnet.csproj
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>7.10.3077</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A2}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon />
-    <AssemblyKeyContainerName />
-    <AssemblyName>crypto</AssemblyName>
-    <AssemblyOriginatorKeyFile>..\BouncyCastle.snk</AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>Library</OutputType>
-    <RootNamespace>crypto</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject />
-    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
-    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
-    <NuGetPackageImportStamp>
-    </NuGetPackageImportStamp>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>bin\dotnet\Debug\</OutputPath>
-    <IntermediateOutputPath>obj\dotnet\Debug\</IntermediateOutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile />
-    <DefineConstants>TRACE;DEBUG;PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME;DOTNET</DefineConstants>
-    <DocumentationFile>doc\dotnet\crypto.xml</DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>1591</NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>bin\dotnet\Release\</OutputPath>
-    <IntermediateOutputPath>obj\dotnet\Release\</IntermediateOutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile />
-    <DefineConstants>TRACE;PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME;DOTNET</DefineConstants>
-    <DocumentationFile>doc\dotnet\crypto.xml</DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>1591</NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>pdbonly</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- NuSpec file must be specified as name does not match dll name -->
-    <NuSpecFile Include="$(SolutionDir)Portable.BouncyCastle.nuspec" />
-  </ItemGroup>
-  <PropertyGroup>
-    <!-- dotnet, uap10.0 & net46 tfms -->
-    <NuSpecTfm>dotnet;uap10.0;net46</NuSpecTfm>
-  </PropertyGroup>
-  <ItemGroup>
-    <None Include="..\BouncyCastle.snk">
-      <Link>BouncyCastle.snk</Link>
-    </None>
-    <None Include="crypto.dotnet.project.json" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="src\**\*.cs" />
-    <Compile Include="bzip2\**\*.cs" />
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent />
-    <PostBuildEvent />
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/crypto/crypto.dotnet.project.json b/crypto/crypto.dotnet.project.json
deleted file mode 100644
index e80002612..000000000
--- a/crypto/crypto.dotnet.project.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "supports": {
-    "net46.app": {},
-    "uwp.10.0.app": {},
-    "dnxcore50.app": {}
-  },
-  "dependencies": {
-    "Microsoft.NETCore": "5.0.0",
-    "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
-    "NuSpec.ReferenceGenerator": "1.3.4"
-  },
-  "frameworks": {
-    "dotnet": {
-      "imports": "portable-net452+win81"
-    }
-  }
-}
\ No newline at end of file
diff --git a/crypto/crypto.pcl.csproj b/crypto/crypto.pcl.csproj
deleted file mode 100644
index 1c3735177..000000000
--- a/crypto/crypto.pcl.csproj
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>7.10.3077</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon />
-    <AssemblyKeyContainerName />
-    <AssemblyName>crypto</AssemblyName>
-    <AssemblyOriginatorKeyFile>..\BouncyCastle.snk</AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>Library</OutputType>
-    <RootNamespace>crypto</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject />
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <OldToolsVersion>12.0</OldToolsVersion>
-    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <TargetFrameworkProfile>Profile328</TargetFrameworkProfile>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>bin\pcl\Debug\</OutputPath>
-    <IntermediateOutputPath>obj\pcl\Debug\</IntermediateOutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile />
-    <DefineConstants>TRACE;DEBUG;PORTABLE;NO_THREADS</DefineConstants>
-    <DocumentationFile>doc\pcl\crypto.xml</DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>1591</NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>bin\pcl\Release\</OutputPath>
-    <IntermediateOutputPath>obj\pcl\Release\</IntermediateOutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile />
-    <DefineConstants>TRACE;PORTABLE;NO_THREADS</DefineConstants>
-    <DocumentationFile>doc\pcl\crypto.xml</DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>1591</NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>pdbonly</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="src\**\*.cs" />
-    <Compile Include="bzip2\**\*.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\BouncyCastle.snk">
-      <Link>BouncyCastle.snk</Link>
-    </None>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent />
-    <PostBuildEvent />
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/crypto/crypto.pcl2.csproj b/crypto/crypto.pcl2.csproj
deleted file mode 100644
index 4edf1139e..000000000
--- a/crypto/crypto.pcl2.csproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>7.10.3077</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A1}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon />
-    <AssemblyKeyContainerName />
-    <AssemblyName>crypto</AssemblyName>
-    <AssemblyOriginatorKeyFile>..\BouncyCastle.snk</AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>Library</OutputType>
-    <RootNamespace>crypto</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject />
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <TargetFrameworkProfile>Profile259</TargetFrameworkProfile>
-    <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
-    <NuGetPackageImportStamp>
-    </NuGetPackageImportStamp>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>bin\pcl2\Debug\</OutputPath>
-    <IntermediateOutputPath>obj\pcl2\Debug\</IntermediateOutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile />
-    <DefineConstants>TRACE;DEBUG;PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME</DefineConstants>
-    <DocumentationFile>doc\pcl2\crypto.xml</DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>1591</NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>bin\pcl2\Release\</OutputPath>
-    <IntermediateOutputPath>obj\pcl2\Release\</IntermediateOutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile />
-    <DefineConstants>TRACE;PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME</DefineConstants>
-    <DocumentationFile>doc\pcl2\crypto.xml</DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>1591</NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>pdbonly</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- NuSpec file must be specified as name does not match dll name -->
-    <NuSpecFile Include="$(SolutionDir)Portable.BouncyCastle.nuspec" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="src\**\*.cs" />
-    <Compile Include="bzip2\**\*.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\BouncyCastle.snk">
-      <Link>BouncyCastle.snk</Link>
-    </None>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent />
-    <PostBuildEvent />
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/crypto/src/AssemblyInfo.cs b/crypto/src/AssemblyInfo.cs
index d95dca5ab..022895b0a 100644
--- a/crypto/src/AssemblyInfo.cs
+++ b/crypto/src/AssemblyInfo.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Reflection;
+using System.Runtime.CompilerServices;
 //using System.Security.Permissions;
 
 #if PORTABLE
@@ -8,70 +9,13 @@ using System.Linq;
 using System.Runtime.InteropServices;
 #endif
 
-//
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("BouncyCastle.Crypto")]
-[assembly: AssemblyDescription("Bouncy Castle Cryptography API")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("The Legion of the Bouncy Castle Inc.")]
-[assembly: AssemblyProduct("Bouncy Castle for .NET")]
-[assembly: AssemblyCopyright("Copyright (C) 2000-2018")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-//
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.8.2.0")]
-[assembly: AssemblyFileVersion("1.8.18099.1")]
-[assembly: AssemblyInformationalVersion("1.8.2")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing.
-//
-// Notes:
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//       When specifying the KeyFile, the location of the KeyFile should be
-//       relative to the project output directory which is
-//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-//       located in the project directory, you would specify the AssemblyKeyFile
-//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-#if STRONG_NAME
-[assembly: AssemblyKeyFile(@"../BouncyCastle.snk")]
-#endif
-
 [assembly: CLSCompliant(true)]
 #if !PORTABLE
 [assembly: ComVisible(false)]
 #endif
 
+[assembly: InternalsVisibleTo("crypto.test, PublicKey=002400000480000094000000060200000024000052534131000400000100010083A6A1D0D41B8A0FD3061C8DD2BA14DA98F9BF53576AD386A4D021ABD235EE41BC5416683314816908765FAC4951301E159153CF02BF1B31BEC8A2CE6C0110C30CC7BEF54E514D530B703D37629078AB3ECCE1AFA5ED3F9D63F3B50398188A811ADA59827B9E1A4EEEB87D05E4AFE45BEFD69BF2CDFD37F38334B748C8CB7FBC")]
+
 // Start with no permissions
 //[assembly: PermissionSet(SecurityAction.RequestOptional, Unrestricted=false)]
 //...and explicitly add those we need
diff --git a/crypto/src/asn1/DerUTCTime.cs b/crypto/src/asn1/DerUTCTime.cs
index 99af8bf6b..5d058619d 100644
--- a/crypto/src/asn1/DerUTCTime.cs
+++ b/crypto/src/asn1/DerUTCTime.cs
@@ -93,7 +93,7 @@ namespace Org.BouncyCastle.Asn1
 #endif
         }
 
-        internal DerUtcTime(
+		internal DerUtcTime(
             byte[] bytes)
         {
             //
diff --git a/crypto/src/asn1/util/Dump.cs b/crypto/src/asn1/util/Dump.cs
index e313fe879..acae5f1dc 100644
--- a/crypto/src/asn1/util/Dump.cs
+++ b/crypto/src/asn1/util/Dump.cs
@@ -12,7 +12,7 @@ namespace Org.BouncyCastle.Asn1.Utilities
         {
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             FileStream fIn = File.OpenRead(args[0]);
             Asn1InputStream bIn = new Asn1InputStream(fIn);
diff --git a/crypto/src/cms/CMSEnvelopedDataStreamGenerator.cs b/crypto/src/cms/CMSEnvelopedDataStreamGenerator.cs
index 8e6d2729b..e0822aa8b 100644
--- a/crypto/src/cms/CMSEnvelopedDataStreamGenerator.cs
+++ b/crypto/src/cms/CMSEnvelopedDataStreamGenerator.cs
@@ -287,7 +287,7 @@ namespace Org.BouncyCastle.Cms
 
                 // TODO Parent context(s) should really be closed explicitly
 
-				_eiGen.Close();
+                _eiGen.Close();
 
                 if (_outer.unprotectedAttributeGenerator != null)
                 {
diff --git a/crypto/src/cms/CMSProcessableFile.cs b/crypto/src/cms/CMSProcessableFile.cs
index c74d2a846..1b2d8fc49 100644
--- a/crypto/src/cms/CMSProcessableFile.cs
+++ b/crypto/src/cms/CMSProcessableFile.cs
@@ -1,4 +1,4 @@
-#if !PORTABLE || DOTNET
+#if !PORTABLE || NETSTANDARD1_3
 using System;
 using System.IO;
 
@@ -15,7 +15,7 @@ namespace Org.BouncyCastle.Cms
 	{
 		private const int DefaultBufSize = 32 * 1024;
 
-        private readonly FileInfo	_file;
+		private readonly FileInfo	_file;
 		private readonly int		_bufSize;
 
         public CmsProcessableFile(FileInfo file)
@@ -29,7 +29,7 @@ namespace Org.BouncyCastle.Cms
 			_bufSize = bufSize;
 		}
 
-        public virtual Stream GetInputStream()
+		public virtual Stream GetInputStream()
 		{
 			return new FileStream(_file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read, _bufSize);
 		}
@@ -41,7 +41,7 @@ namespace Org.BouncyCastle.Cms
             Platform.Dispose(inStr);
 		}
 
-        /// <returns>The file handle</returns>
+		/// <returns>The file handle</returns>
 		[Obsolete]
 		public virtual object GetContent()
 		{
diff --git a/crypto/src/cms/CMSSignedDataStreamGenerator.cs b/crypto/src/cms/CMSSignedDataStreamGenerator.cs
index d0ab7428a..55fde90df 100644
--- a/crypto/src/cms/CMSSignedDataStreamGenerator.cs
+++ b/crypto/src/cms/CMSSignedDataStreamGenerator.cs
@@ -834,61 +834,61 @@ namespace Org.BouncyCastle.Cms
 
                 _eiGen.Close();
 
-				outer._digests.Clear();    // clear the current preserved digest state
+                outer._digests.Clear();    // clear the current preserved digest state
 
-				if (outer._certs.Count > 0)
-				{
-					Asn1Set certs = CmsUtilities.CreateBerSetFromList(outer._certs);
+                if (outer._certs.Count > 0)
+                {
+                    Asn1Set certs = CmsUtilities.CreateBerSetFromList(outer._certs);
 
-					WriteToGenerator(_sigGen, new BerTaggedObject(false, 0, certs));
-				}
+                    WriteToGenerator(_sigGen, new BerTaggedObject(false, 0, certs));
+                }
 
-				if (outer._crls.Count > 0)
-				{
-					Asn1Set crls = CmsUtilities.CreateBerSetFromList(outer._crls);
+                if (outer._crls.Count > 0)
+                {
+                    Asn1Set crls = CmsUtilities.CreateBerSetFromList(outer._crls);
 
-					WriteToGenerator(_sigGen, new BerTaggedObject(false, 1, crls));
-				}
+                    WriteToGenerator(_sigGen, new BerTaggedObject(false, 1, crls));
+                }
 
-				//
-				// Calculate the digest hashes
-				//
-				foreach (DictionaryEntry de in outer._messageDigests)
-				{
-					outer._messageHashes.Add(de.Key, DigestUtilities.DoFinal((IDigest)de.Value));
-				}
+                //
+                // Calculate the digest hashes
+                //
+                foreach (DictionaryEntry de in outer._messageDigests)
+                {
+                    outer._messageHashes.Add(de.Key, DigestUtilities.DoFinal((IDigest)de.Value));
+                }
 
-				// TODO If the digest OIDs for precalculated signers weren't mixed in with
-				// the others, we could fill in outer._digests here, instead of SignerInfoGenerator.Generate
+                // TODO If the digest OIDs for precalculated signers weren't mixed in with
+                // the others, we could fill in outer._digests here, instead of SignerInfoGenerator.Generate
 
-				//
-				// collect all the SignerInfo objects
-				//
+                //
+                // collect all the SignerInfo objects
+                //
                 Asn1EncodableVector signerInfos = new Asn1EncodableVector();
 
-				//
+                //
                 // add the generated SignerInfo objects
                 //
-				{
-					foreach (DigestAndSignerInfoGeneratorHolder holder in outer._signerInfs)
-					{
-						AlgorithmIdentifier digestAlgorithm = holder.DigestAlgorithm;
+                {
+                    foreach (DigestAndSignerInfoGeneratorHolder holder in outer._signerInfs)
+                    {
+                        AlgorithmIdentifier digestAlgorithm = holder.DigestAlgorithm;
 
-						byte[] calculatedDigest = (byte[])outer._messageHashes[
-							Helper.GetDigestAlgName(holder.digestOID)];
-						outer._digests[holder.digestOID] = calculatedDigest.Clone();
+                        byte[] calculatedDigest = (byte[])outer._messageHashes[
+                            Helper.GetDigestAlgName(holder.digestOID)];
+                        outer._digests[holder.digestOID] = calculatedDigest.Clone();
 
-						signerInfos.Add(holder.signerInf.Generate(_contentOID, digestAlgorithm, calculatedDigest));
-	                }
-				}
+                        signerInfos.Add(holder.signerInf.Generate(_contentOID, digestAlgorithm, calculatedDigest));
+                    }
+                }
 
-				//
+                //
                 // add the precalculated SignerInfo objects.
                 //
-				{
-					foreach (SignerInformation signer in outer._signers)
-					{
-						// TODO Verify the content type and calculated digest match the precalculated SignerInfo
+                {
+                    foreach (SignerInformation signer in outer._signers)
+                    {
+                        // TODO Verify the content type and calculated digest match the precalculated SignerInfo
 //						if (!signer.ContentType.Equals(_contentOID))
 //						{
 //							// TODO The precalculated content type did not match - error?
@@ -907,11 +907,11 @@ namespace Org.BouncyCastle.Cms
 //							}
 //						}
 
-						signerInfos.Add(signer.ToSignerInfo());
-	                }
-				}
+                        signerInfos.Add(signer.ToSignerInfo());
+                    }
+                }
 
-				WriteToGenerator(_sigGen, new DerSet(signerInfos));
+                WriteToGenerator(_sigGen, new DerSet(signerInfos));
 
 				_sigGen.Close();
                 _sGen.Close();
diff --git a/crypto/src/crypto.csproj b/crypto/src/crypto.csproj
new file mode 100644
index 000000000..a4a6b3ace
--- /dev/null
+++ b/crypto/src/crypto.csproj
@@ -0,0 +1,41 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <TargetFrameworks>netstandard2.0;netstandard1.3;netstandard1.0;portable-net4+sl5+wp8+win8+wpa81;net4</TargetFrameworks>
+    <AssemblyName>BouncyCastle.Crypto</AssemblyName>
+    <RootNamespace>crypto</RootNamespace>
+    <AssemblyOriginatorKeyFile>..\..\BouncyCastle.snk</AssemblyOriginatorKeyFile>
+    <SignAssembly>true</SignAssembly>
+    <Product>Bouncy Castle for .NET ($(TargetFramework))</Product>
+    <Copyright>Copyright (C) 2000-2018</Copyright>
+    <Company>The Legion of the Bouncy Castle Inc.</Company>
+    <Authors>Oren Novotny</Authors>
+    <Title>Bouncy Castle PCL </Title>
+    <PackageId>Portable.BouncyCastle</PackageId>
+    <Description>BouncyCastle portable version with support for .NET 4, .NET Standard 1.0-2.0, WP, Silverlight, MonoAndroid, Xamarin.iOS, .NET Core</Description>
+    <DebugType>embedded</DebugType>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <NoWarn>1591;618;672</NoWarn>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.0' ">
+    <DefineConstants>$(DefineConstants);PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.3' ">
+    <DefineConstants>$(DefineConstants);PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME;DOTNET</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(TargetFramework)' == 'net45' or '$(TargetFramework)' == 'net4' or '$(TargetFramework)' == 'netstandard2.0' ">
+    <DefineConstants>$(DefineConstants);LIB</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(TargetFramework)' == 'portable-net4+sl5+wp8+win8+wpa81' ">
+    <DefineConstants>$(DefineConstants);PORTABLE;NO_THREADS</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Include="..\bzip2\src\**\*.cs" LinkBase="bzip2" />
+    <None Include="..\..\BouncyCastle.snk" />
+    <PackageReference Include="GitVersionTask" Version="4.0.0-beta0011" PrivateAssets="All" />
+    <PackageReference Include="MSBuild.Sdk.Extras" Version="1.2.2" PrivateAssets="All" />
+    <PackageReference Include="SourceLink.Create.CommandLine" Version="2.8.0" PrivateAssets="All" />
+  </ItemGroup>
+  <Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />
+</Project>
\ No newline at end of file
diff --git a/crypto/src/crypto/engines/NaccacheSternEngine.cs b/crypto/src/crypto/engines/NaccacheSternEngine.cs
index 64665c1d4..fe2d78da6 100644
--- a/crypto/src/crypto/engines/NaccacheSternEngine.cs
+++ b/crypto/src/crypto/engines/NaccacheSternEngine.cs
@@ -20,7 +20,7 @@ namespace Org.BouncyCastle.Crypto.Engines
 
 		private IList[] lookup = null;
 
-        public string AlgorithmName
+		public string AlgorithmName
 		{
 			get { return "NaccacheStern"; }
 		}
@@ -78,7 +78,7 @@ namespace Org.BouncyCastle.Crypto.Engines
 			set {}
 		}
 
-        /**
+		/**
 		* Returns the input block size of this algorithm.
 		*
 		* @see org.bouncycastle.crypto.AsymmetricBlockCipher#GetInputBlockSize()
@@ -261,7 +261,7 @@ namespace Org.BouncyCastle.Crypto.Engines
 			BigInteger m1m2Crypt = m1Crypt.Multiply(m2Crypt);
 			m1m2Crypt = m1m2Crypt.Mod(key.Modulus);
 
-            //byte[] output = key.Modulus.ToByteArray();
+			//byte[] output = key.Modulus.ToByteArray();
 			//Array.Clear(output, 0, output.Length);
 			byte[] output = new byte[key.Modulus.BitLength / 8 + 1];
 
diff --git a/crypto/src/crypto/generators/NaccacheSternKeyPairGenerator.cs b/crypto/src/crypto/generators/NaccacheSternKeyPairGenerator.cs
index 618ca9a1c..d68106844 100644
--- a/crypto/src/crypto/generators/NaccacheSternKeyPairGenerator.cs
+++ b/crypto/src/crypto/generators/NaccacheSternKeyPairGenerator.cs
@@ -52,7 +52,7 @@ namespace Org.BouncyCastle.Crypto.Generators
 			SecureRandom rand = param.Random;
 			int certainty = param.Certainty;
 
-            IList smallPrimes = findFirstPrimes(param.CountSmallPrimes);
+			IList smallPrimes = findFirstPrimes(param.CountSmallPrimes);
 
 			smallPrimes = permuteList(smallPrimes, rand);
 
@@ -87,7 +87,7 @@ namespace Org.BouncyCastle.Crypto.Generators
 
 			long tries = 0;
 
-            BigInteger _2au = a.Multiply(u).ShiftLeft(1);
+			BigInteger _2au = a.Multiply(u).ShiftLeft(1);
 			BigInteger _2bv = b.Multiply(v).ShiftLeft(1);
 
 			for (;;)
@@ -132,7 +132,7 @@ namespace Org.BouncyCastle.Crypto.Generators
 			BigInteger g;
 			tries = 0;
 
-            for (;;)
+			for (;;)
 			{
 				// TODO After the first loop, just regenerate one randomly-selected gPart each time?
 				IList gParts = Platform.CreateArrayList();
@@ -205,7 +205,7 @@ namespace Org.BouncyCastle.Crypto.Generators
 				break;
 			}
 
-            return new AsymmetricCipherKeyPair(new NaccacheSternKeyParameters(false, g, n, sigma.BitLength),
+			return new AsymmetricCipherKeyPair(new NaccacheSternKeyParameters(false, g, n, sigma.BitLength),
 				new NaccacheSternPrivateKeyParameters(g, n, sigma.BitLength, smallPrimes, phi_n));
 		}
 
diff --git a/crypto/src/crypto/prng/ThreadedSeedGenerator.cs b/crypto/src/crypto/prng/ThreadedSeedGenerator.cs
index 0a38e5f5a..499aab267 100644
--- a/crypto/src/crypto/prng/ThreadedSeedGenerator.cs
+++ b/crypto/src/crypto/prng/ThreadedSeedGenerator.cs
@@ -7,16 +7,16 @@ using System.Threading.Tasks;
 
 namespace Org.BouncyCastle.Crypto.Prng
 {
-    /**
-     * A thread based seed generator - one source of randomness.
-     * <p>
-     * Based on an idea from Marcus Lippert.
-     * </p>
-     */
-    public class ThreadedSeedGenerator
-    {
-        private class SeedGenerator
-        {
+	/**
+	 * A thread based seed generator - one source of randomness.
+	 * <p>
+	 * Based on an idea from Marcus Lippert.
+	 * </p>
+	 */
+	public class ThreadedSeedGenerator
+	{
+		private class SeedGenerator
+		{
 #if NETCF_1_0
 			// No volatile keyword, but all fields implicitly volatile anyway
 			private int		counter = 0;
@@ -26,18 +26,18 @@ namespace Org.BouncyCastle.Crypto.Prng
             private volatile bool stop = false;
 #endif
 
-            private void Run(object ignored)
-            {
-                while (!this.stop)
-                {
-                    this.counter++;
-                }
-            }
+			private void Run(object ignored)
+			{
+				while (!this.stop)
+				{
+					this.counter++;
+				}
+			}
 
-            public byte[] GenerateSeed(
+			public byte[] GenerateSeed(
                 int numBytes,
                 bool fast)
-            {
+			{
 #if SILVERLIGHT || PORTABLE
                 return DoGenerateSeed(numBytes, fast);
 #else
@@ -59,71 +59,71 @@ namespace Org.BouncyCastle.Crypto.Prng
                 bool fast)
             {
                 this.counter = 0;
-                this.stop = false;
+				this.stop = false;
 
-                byte[] result = new byte[numBytes];
-                int last = 0;
-                int end = fast ? numBytes : numBytes * 8;
+				byte[] result = new byte[numBytes];
+				int last = 0;
+				int end = fast ? numBytes : numBytes * 8;
 
 #if NO_THREADS
                 Task.Factory.StartNew(() => Run(null), TaskCreationOptions.None);
 #else
-                ThreadPool.QueueUserWorkItem(new WaitCallback(Run));
+				ThreadPool.QueueUserWorkItem(new WaitCallback(Run));
 #endif
 
-                for (int i = 0; i < end; i++)
-                {
-                    while (this.counter == last)
-                    {
-                        try
-                        {
+				for (int i = 0; i < end; i++)
+				{
+					while (this.counter == last)
+					{
+						try
+						{
 #if PORTABLE
                             new AutoResetEvent(false).WaitOne(1);
 #else
-                            Thread.Sleep(1);
+ 							Thread.Sleep(1);
 #endif
-                        }
-                        catch (Exception)
-                        {
-                            // ignore
-                        }
-                    }
+						}
+						catch (Exception)
+						{
+							// ignore
+						}
+					}
 
-                    last = this.counter;
+					last = this.counter;
 
-                    if (fast)
-                    {
+					if (fast)
+					{
                         result[i] = (byte)last;
-                    }
-                    else
-                    {
-                        int bytepos = i / 8;
+					}
+					else
+					{
+						int bytepos = i / 8;
                         result[bytepos] = (byte)((result[bytepos] << 1) | (last & 1));
-                    }
-                }
+					}
+				}
 
-                this.stop = true;
+				this.stop = true;
 
-                return result;
-            }
-        }
+				return result;
+			}
+		}
 
-        /**
-         * Generate seed bytes. Set fast to false for best quality.
-         * <p>
-         * If fast is set to true, the code should be round about 8 times faster when
-         * generating a long sequence of random bytes. 20 bytes of random values using
-         * the fast mode take less than half a second on a Nokia e70. If fast is set to false,
-         * it takes round about 2500 ms.
-         * </p>
-         * @param numBytes the number of bytes to generate
-         * @param fast true if fast mode should be used
-         */
-        public byte[] GenerateSeed(
+		/**
+		 * Generate seed bytes. Set fast to false for best quality.
+		 * <p>
+		 * If fast is set to true, the code should be round about 8 times faster when
+		 * generating a long sequence of random bytes. 20 bytes of random values using
+		 * the fast mode take less than half a second on a Nokia e70. If fast is set to false,
+		 * it takes round about 2500 ms.
+		 * </p>
+		 * @param numBytes the number of bytes to generate
+		 * @param fast true if fast mode should be used
+		 */
+		public byte[] GenerateSeed(
             int numBytes,
             bool fast)
-        {
-            return new SeedGenerator().GenerateSeed(numBytes, fast);
-        }
-    }
+		{
+			return new SeedGenerator().GenerateSeed(numBytes, fast);
+		}
+	}
 }
diff --git a/crypto/src/openpgp/PgpLiteralDataGenerator.cs b/crypto/src/openpgp/PgpLiteralDataGenerator.cs
index 7672659ca..217d7149e 100644
--- a/crypto/src/openpgp/PgpLiteralDataGenerator.cs
+++ b/crypto/src/openpgp/PgpLiteralDataGenerator.cs
@@ -141,7 +141,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp
 			return new WrappedGeneratorStream(this, pkOut);
 		}
 
-#if !PORTABLE || DOTNET
+#if !PORTABLE || NETSTANDARD1_3
         /// <summary>
 		/// <p>
 		/// Open a literal data packet for the passed in <c>FileInfo</c> object, returning
diff --git a/crypto/src/openpgp/PgpUtilities.cs b/crypto/src/openpgp/PgpUtilities.cs
index 7d96dee8d..5ea2907e8 100644
--- a/crypto/src/openpgp/PgpUtilities.cs
+++ b/crypto/src/openpgp/PgpUtilities.cs
@@ -347,7 +347,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp
             return MakeKey(algorithm, keyBytes);
         }
 
-#if !PORTABLE || DOTNET
+#if !PORTABLE || NETSTANDARD1_3
         /// <summary>Write out the passed in file as a literal data packet.</summary>
         public static void WriteFileToLiteralData(
             Stream		output,
diff --git a/crypto/src/pkcs/Pkcs12Store.cs b/crypto/src/pkcs/Pkcs12Store.cs
index e65788733..52760f89b 100644
--- a/crypto/src/pkcs/Pkcs12Store.cs
+++ b/crypto/src/pkcs/Pkcs12Store.cs
@@ -113,88 +113,88 @@ namespace Org.BouncyCastle.Pkcs
         {
             AsymmetricKeyParameter privKey = PrivateKeyFactory.CreateKey(privKeyInfo);
 
-            IDictionary attributes = Platform.CreateHashtable();
+                                IDictionary attributes = Platform.CreateHashtable();
             AsymmetricKeyEntry keyEntry = new AsymmetricKeyEntry(privKey, attributes);
 
-            string alias = null;
-            Asn1OctetString localId = null;
+                                string alias = null;
+                                Asn1OctetString localId = null;
 
             if (bagAttributes != null)
-            {
+                                {
                 foreach (Asn1Sequence sq in bagAttributes)
-                {
+                                    {
                     DerObjectIdentifier aOid = DerObjectIdentifier.GetInstance(sq[0]);
                     Asn1Set attrSet = Asn1Set.GetInstance(sq[1]);
-                    Asn1Encodable attr = null;
-
-                    if (attrSet.Count > 0)
-                    {
-                        // TODO We should be adding all attributes in the set
-                        attr = attrSet[0];
-
-                        // TODO We might want to "merge" attribute sets with
-                        // the same OID - currently, differing values give an error
-                        if (attributes.Contains(aOid.Id))
-                        {
-                            // OK, but the value has to be the same
-                            if (!attributes[aOid.Id].Equals(attr))
-                                throw new IOException("attempt to add existing attribute with different value");
-                        }
-                        else
-                        {
-                            attributes.Add(aOid.Id, attr);
-                        }
-
-                        if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtFriendlyName))
-                        {
-                            alias = ((DerBmpString)attr).GetString();
-                            // TODO Do these in a separate loop, just collect aliases here
+                                        Asn1Encodable attr = null;
+
+                                        if (attrSet.Count > 0)
+                                        {
+                                            // TODO We should be adding all attributes in the set
+                                            attr = attrSet[0];
+
+                                            // TODO We might want to "merge" attribute sets with
+                                            // the same OID - currently, differing values give an error
+                                            if (attributes.Contains(aOid.Id))
+                                            {
+                                                // OK, but the value has to be the same
+                                                if (!attributes[aOid.Id].Equals(attr))
+                                                    throw new IOException("attempt to add existing attribute with different value");
+                                                }
+                                            else
+                                            {
+                                                attributes.Add(aOid.Id, attr);
+                                            }
+
+                                            if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtFriendlyName))
+                                            {
+                                                alias = ((DerBmpString)attr).GetString();
+                                                // TODO Do these in a separate loop, just collect aliases here
                             keys[alias] = keyEntry;
-                        }
-                        else if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtLocalKeyID))
-                        {
-                            localId = (Asn1OctetString)attr;
-                        }
-                    }
-                }
-            }
+                                            }
+                                            else if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtLocalKeyID))
+                                            {
+                                                localId = (Asn1OctetString)attr;
+                                            }
+                                        }
+                                    }
+                                }
 
-            if (localId != null)
-            {
-                string name = Hex.ToHexString(localId.GetOctets());
+                                if (localId != null)
+                                {
+                                    string name = Hex.ToHexString(localId.GetOctets());
 
-                if (alias == null)
-                {
+                                    if (alias == null)
+                                    {
                     keys[name] = keyEntry;
-                }
-                else
-                {
-                    // TODO There may have been more than one alias
-                    localIds[alias] = name;
-                }
-            }
-            else
-            {
+                                    }
+                                    else
+                                    {
+                                        // TODO There may have been more than one alias
+                                        localIds[alias] = name;
+                                    }
+                                }
+                                else
+                                {
                 unmarkedKeyEntry = keyEntry;
-            }
-        }
+                                }
+                            }
 
         protected virtual void LoadPkcs8ShroudedKeyBag(EncryptedPrivateKeyInfo encPrivKeyInfo, Asn1Set bagAttributes,
             char[] password, bool wrongPkcs12Zero)
-        {
+                            {
             if (password != null)
-            {
+                            {
                 PrivateKeyInfo privInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(
                     password, wrongPkcs12Zero, encPrivKeyInfo);
 
                 LoadKeyBag(privInfo, bagAttributes);
-            }
-        }
+                            }
+                        }
 
         public void Load(
             Stream	input,
             char[]	password)
-        {
+                        {
             if (input == null)
                 throw new ArgumentNullException("input");
 
@@ -204,7 +204,7 @@ namespace Org.BouncyCastle.Pkcs
             bool wrongPkcs12Zero = false;
 
             if (password != null && bag.MacData != null) // check the mac code
-            {
+                            {
                 MacData mData = bag.MacData;
                 DigestInfo dInfo = mData.Mac;
                 AlgorithmIdentifier algId = dInfo.AlgorithmID;
@@ -217,7 +217,7 @@ namespace Org.BouncyCastle.Pkcs
                 byte[] dig = dInfo.GetDigest();
 
                 if (!Arrays.ConstantTimeAreEqual(mac, dig))
-                {
+                                    {
                     if (password.Length > 0)
                         throw new IOException("PKCS12 key store MAC invalid - wrong password or corrupted file.");
 
@@ -228,8 +228,8 @@ namespace Org.BouncyCastle.Pkcs
                         throw new IOException("PKCS12 key store MAC invalid - wrong password or corrupted file.");
 
                     wrongPkcs12Zero = true;
-                }
-            }
+                                        }
+                                        }
 
             keys.Clear();
             localIds.Clear();
@@ -238,37 +238,37 @@ namespace Org.BouncyCastle.Pkcs
             IList certBags = Platform.CreateArrayList();
 
             if (info.ContentType.Equals(PkcsObjectIdentifiers.Data))
-            {
+                            {
                 byte[] octs = ((Asn1OctetString)info.Content).GetOctets();
                 AuthenticatedSafe authSafe = new AuthenticatedSafe(
                     (Asn1Sequence) Asn1OctetString.FromByteArray(octs));
                 ContentInfo[] cis = authSafe.GetContentInfo();
 
                 foreach (ContentInfo ci in cis)
-                {
+                                {
                     DerObjectIdentifier oid = ci.ContentType;
 
                     byte[] octets = null;
                     if (oid.Equals(PkcsObjectIdentifiers.Data))
-                    {
+                                    {
                         octets = ((Asn1OctetString)ci.Content).GetOctets();
                     }
                     else if (oid.Equals(PkcsObjectIdentifiers.EncryptedData))
-                    {
+                                        {
                         if (password != null)
-                        {
+                                            {
                             EncryptedData d = EncryptedData.GetInstance(ci.Content);
                             octets = CryptPbeData(false, d.EncryptionAlgorithm,
                                 password, wrongPkcs12Zero, d.Content.GetOctets());
-                        }
-                    }
-                    else
-                    {
+                                            }
+                                        }
+                                        else
+                                        {
                         // TODO Other data types
-                    }
+                                        }
 
                     if (octets != null)
-                    {
+                                        {
                         Asn1Sequence seq = (Asn1Sequence)Asn1Object.FromByteArray(octets);
 
                         foreach (Asn1Sequence subSeq in seq)
@@ -276,14 +276,14 @@ namespace Org.BouncyCastle.Pkcs
                             SafeBag b = new SafeBag(subSeq);
 
                             if (b.BagID.Equals(PkcsObjectIdentifiers.CertBag))
-                            {
+                                {
                                 certBags.Add(b);
-                            }
+                                }
                             else if (b.BagID.Equals(PkcsObjectIdentifiers.Pkcs8ShroudedKeyBag))
-                            {
+                                {
                                 LoadPkcs8ShroudedKeyBag(EncryptedPrivateKeyInfo.GetInstance(b.BagValue),
                                     b.BagAttributes, password, wrongPkcs12Zero);
-                            }
+                                }
                             else if (b.BagID.Equals(PkcsObjectIdentifiers.KeyBag))
                             {
                                 LoadKeyBag(PrivateKeyInfo.GetInstance(b.BagValue), b.BagAttributes);
@@ -291,9 +291,9 @@ namespace Org.BouncyCastle.Pkcs
                             else
                             {
                                 // TODO Other bag types
-                            }
                         }
                     }
+                    }
                 }
             }
 
@@ -732,7 +732,7 @@ namespace Org.BouncyCastle.Pkcs
                 {
                     bagOid = PkcsObjectIdentifiers.Pkcs8ShroudedKeyBag;
                     bagData = EncryptedPrivateKeyInfoFactory.CreateEncryptedPrivateKeyInfo(
-                        keyAlgorithm, password, kSalt, MinIterations, privKey.Key);
+                    keyAlgorithm, password, kSalt, MinIterations, privKey.Key);
                 }
 
                 Asn1EncodableVector kName = new Asn1EncodableVector();
@@ -942,7 +942,7 @@ namespace Org.BouncyCastle.Pkcs
             else
             {
                 byte[] certBytes = CryptPbeData(true, cAlgId, password, false, certBagsEncoding);
-                EncryptedData cInfo = new EncryptedData(PkcsObjectIdentifiers.Data, cAlgId, new BerOctetString(certBytes));
+            EncryptedData cInfo = new EncryptedData(PkcsObjectIdentifiers.Data, cAlgId, new BerOctetString(certBytes));
                 certsInfo = new ContentInfo(PkcsObjectIdentifiers.EncryptedData, cInfo.ToAsn1Object());
             }
 
@@ -959,15 +959,15 @@ namespace Org.BouncyCastle.Pkcs
             MacData macData = null;
             if (password != null)
             {
-                byte[] mSalt = new byte[20];
-                random.NextBytes(mSalt);
+            byte[] mSalt = new byte[20];
+            random.NextBytes(mSalt);
 
-                byte[] mac = CalculatePbeMac(OiwObjectIdentifiers.IdSha1,
-                    mSalt, MinIterations, password, false, data);
+            byte[] mac = CalculatePbeMac(OiwObjectIdentifiers.IdSha1,
+                mSalt, MinIterations, password, false, data);
 
-                AlgorithmIdentifier algId = new AlgorithmIdentifier(
-                    OiwObjectIdentifiers.IdSha1, DerNull.Instance);
-                DigestInfo dInfo = new DigestInfo(algId, mac);
+            AlgorithmIdentifier algId = new AlgorithmIdentifier(
+                OiwObjectIdentifiers.IdSha1, DerNull.Instance);
+            DigestInfo dInfo = new DigestInfo(algId, mac);
 
                 macData = new MacData(dInfo, mSalt, MinIterations);
             }
diff --git a/crypto/src/util/zlib/ZDeflaterOutputStream.cs b/crypto/src/util/zlib/ZDeflaterOutputStream.cs
index d0f0bcb8d..d0978942a 100644
--- a/crypto/src/util/zlib/ZDeflaterOutputStream.cs
+++ b/crypto/src/util/zlib/ZDeflaterOutputStream.cs
@@ -135,7 +135,7 @@ namespace Org.BouncyCastle.Utilities.Zlib {
             z.free();
             z=null;
         }
-        
+
 #if PORTABLE
         protected override void Dispose(bool disposing)
         {
diff --git a/crypto/test/UnitTests.csproj b/crypto/test/UnitTests.csproj
deleted file mode 100644
index be8b7d3c5..000000000
--- a/crypto/test/UnitTests.csproj
+++ /dev/null
@@ -1,1307 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{D4EB669D-7C88-48C0-A480-C5CC73A7369B}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>UnitTests</RootNamespace>
-    <AssemblyName>UnitTests</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;SEPARATE_UNIT_TESTS</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <NoWarn>219</NoWarn>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>full</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <NoWarn>219</NoWarn>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="nunit.framework">
-      <HintPath>lib\nunit.framework.dll</HintPath>
-    </Reference>
-    <Reference Include="nunit.core.interfaces">
-      <HintPath>lib\nunit.core.interfaces.dll</HintPath>
-    </Reference>
-    <Reference Include="nunit.core">
-      <HintPath>lib\nunit.core.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <ItemGroup>
-    <ProjectReference Include="..\BouncyCastle.csproj">
-      <Project>{4C235092-820C-4DEB-9074-D356FB797D8B}</Project>
-      <Name>BouncyCastle</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="src\asn1\test\ASN1SequenceParserTest.cs" />
-    <Compile Include="src\asn1\test\ASN1UnitTest.cs" />
-    <Compile Include="src\asn1\test\AdditionalInformationSyntaxUnitTest.cs" />
-    <Compile Include="src\asn1\test\AdmissionSyntaxUnitTest.cs" />
-    <Compile Include="src\asn1\test\AdmissionsUnitTest.cs" />
-    <Compile Include="src\asn1\test\AllTests.cs" />
-    <Compile Include="src\asn1\test\AttributeTableUnitTest.cs" />
-    <Compile Include="src\asn1\test\BiometricDataUnitTest.cs" />
-    <Compile Include="src\asn1\test\BitStringConstantTester.cs" />
-    <Compile Include="src\asn1\test\BitStringTest.cs" />
-    <Compile Include="src\asn1\test\CMSTest.cs" />
-    <Compile Include="src\asn1\test\CertHashUnitTest.cs" />
-    <Compile Include="src\asn1\test\CertificateTest.cs" />
-    <Compile Include="src\asn1\test\CommitmentTypeIndicationUnitTest.cs" />
-    <Compile Include="src\asn1\test\CommitmentTypeQualifierUnitTest.cs" />
-    <Compile Include="src\asn1\test\ContentHintsUnitTest.cs" />
-    <Compile Include="src\asn1\test\CscaMasterListTest.cs" />
-    <Compile Include="src\asn1\test\DERApplicationSpecificTest.cs" />
-    <Compile Include="src\asn1\test\DERUTF8StringTest.cs" />
-    <Compile Include="src\asn1\test\DataGroupHashUnitTest.cs" />
-    <Compile Include="src\asn1\test\DeclarationOfMajorityUnitTest.cs" />
-    <Compile Include="src\asn1\test\EncryptedPrivateKeyInfoTest.cs" />
-    <Compile Include="src\asn1\test\EnumeratedTest.cs" />
-    <Compile Include="src\asn1\test\EqualsAndHashCodeTest.cs" />
-    <Compile Include="src\asn1\test\EssCertIDv2UnitTest.cs" />
-    <Compile Include="src\asn1\test\GeneralNameTest.cs" />
-    <Compile Include="src\asn1\test\GeneralizedTimeTest.cs" />
-    <Compile Include="src\asn1\test\GenerationTest.cs" />
-    <Compile Include="src\asn1\test\InputStreamTest.cs" />
-    <Compile Include="src\asn1\test\Iso4217CurrencyCodeUnitTest.cs" />
-    <Compile Include="src\asn1\test\IssuingDistributionPointTest.cs" />
-    <Compile Include="src\asn1\test\KeyUsageTest.cs" />
-    <Compile Include="src\asn1\test\LDSSecurityObjectUnitTest.cs" />
-    <Compile Include="src\asn1\test\MiscTest.cs" />
-    <Compile Include="src\asn1\test\MonetaryLimitUnitTest.cs" />
-    <Compile Include="src\asn1\test\MonetaryValueUnitTest.cs" />
-    <Compile Include="src\asn1\test\NameOrPseudonymUnitTest.cs" />
-    <Compile Include="src\asn1\test\NamingAuthorityUnitTest.cs" />
-    <Compile Include="src\asn1\test\NetscapeCertTypeTest.cs" />
-    <Compile Include="src\asn1\test\OCSPTest.cs" />
-    <Compile Include="src\asn1\test\OIDTest.cs" />
-    <Compile Include="src\asn1\test\OctetStringTest.cs" />
-    <Compile Include="src\asn1\test\OtherCertIDUnitTest.cs" />
-    <Compile Include="src\asn1\test\OtherSigningCertificateUnitTest.cs" />
-    <Compile Include="src\asn1\test\PKCS10Test.cs" />
-    <Compile Include="src\asn1\test\PKCS12Test.cs" />
-    <Compile Include="src\asn1\test\PKIFailureInfoTest.cs" />
-    <Compile Include="src\asn1\test\ParseTest.cs" />
-    <Compile Include="src\asn1\test\ParsingTest.cs" />
-    <Compile Include="src\asn1\test\PersonalDataUnitTest.cs" />
-    <Compile Include="src\asn1\test\ProcurationSyntaxUnitTest.cs" />
-    <Compile Include="src\asn1\test\ProfessionInfoUnitTest.cs" />
-    <Compile Include="src\asn1\test\QCStatementUnitTest.cs" />
-    <Compile Include="src\asn1\test\ReasonFlagsTest.cs" />
-    <Compile Include="src\asn1\test\RegressionTest.cs" />
-    <Compile Include="src\asn1\test\RequestedCertificateUnitTest.cs" />
-    <Compile Include="src\asn1\test\RestrictionUnitTest.cs" />
-    <Compile Include="src\asn1\test\SMIMETest.cs" />
-    <Compile Include="src\asn1\test\SemanticsInformationUnitTest.cs" />
-    <Compile Include="src\asn1\test\SetTest.cs" />
-    <Compile Include="src\asn1\test\SignerLocationUnitTest.cs" />
-    <Compile Include="src\asn1\test\StringTest.cs" />
-    <Compile Include="src\asn1\test\SubjectKeyIdentifierTest.cs" />
-    <Compile Include="src\asn1\test\TagTest.cs" />
-    <Compile Include="src\asn1\test\TargetInformationTest.cs" />
-    <Compile Include="src\asn1\test\TimeTest.cs" />
-    <Compile Include="src\asn1\test\TypeOfBiometricDataUnitTest.cs" />
-    <Compile Include="src\asn1\test\UTCTimeTest.cs" />
-    <Compile Include="src\asn1\test\X509ExtensionsTest.cs" />
-    <Compile Include="src\asn1\test\X509NameTest.cs" />
-    <Compile Include="src\asn1\test\X9Test.cs" />
-    <Compile Include="src\cms\test\AllTests.cs" />
-    <Compile Include="src\cms\test\AuthenticatedDataStreamTest.cs" />
-    <Compile Include="src\cms\test\AuthenticatedDataTest.cs" />
-    <Compile Include="src\cms\test\CMSSampleMessages.cs" />
-    <Compile Include="src\cms\test\CMSTestUtil.cs" />
-    <Compile Include="src\cms\test\CompressedDataStreamTest.cs" />
-    <Compile Include="src\cms\test\CompressedDataTest.cs" />
-    <Compile Include="src\cms\test\EnvelopedDataStreamTest.cs" />
-    <Compile Include="src\cms\test\EnvelopedDataTest.cs" />
-    <Compile Include="src\cms\test\MiscDataStreamTest.cs" />
-    <Compile Include="src\cms\test\Rfc4134Test.cs" />
-    <Compile Include="src\cms\test\SignedDataStreamTest.cs" />
-    <Compile Include="src\cms\test\SignedDataTest.cs" />
-    <Compile Include="src\crypto\examples\DESExample.cs" />
-    <Compile Include="src\crypto\io\test\AllTests.cs" />
-    <Compile Include="src\crypto\io\test\CipherStreamTest.cs" />
-    <Compile Include="src\crypto\agreement\test\AllTests.cs" />
-    <Compile Include="src\crypto\agreement\test\JPakeParticipantTest.cs" />
-    <Compile Include="src\crypto\agreement\test\JPakePrimeOrderGroupTest.cs" />
-    <Compile Include="src\crypto\agreement\test\JPakeUtilitiesTest.cs" />
-    <Compile Include="src\crypto\prng\test\CtrDrbgTest.cs" />
-    <Compile Include="src\crypto\prng\test\DrbgTestVector.cs" />
-    <Compile Include="src\crypto\prng\test\HashDrbgTest.cs" />
-    <Compile Include="src\crypto\prng\test\HMacDrbgTest.cs" />
-    <Compile Include="src\crypto\prng\test\TestEntropySourceProvider.cs" />
-    <Compile Include="src\crypto\prng\test\X931Test.cs" />
-    <Compile Include="src\crypto\prng\test\X931TestVector.cs" />
-    <Compile Include="src\crypto\test\AeadTestUtilities.cs" />
-    <Compile Include="src\crypto\test\AESFastTest.cs" />
-    <Compile Include="src\crypto\test\AESLightTest.cs" />
-    <Compile Include="src\crypto\test\AESTest.cs" />
-    <Compile Include="src\crypto\test\AESWrapTest.cs" />
-    <Compile Include="src\crypto\test\AllTests.cs" />
-    <Compile Include="src\crypto\test\BCryptTest.cs" />
-    <Compile Include="src\crypto\test\Blake2bDigestTest.cs" />
-    <Compile Include="src\crypto\test\Blake2sDigestTest.cs" />
-    <Compile Include="src\crypto\test\BlockCipherMonteCarloTest.cs" />
-    <Compile Include="src\crypto\test\BlockCipherVectorTest.cs" />
-    <Compile Include="src\crypto\test\BlowfishTest.cs" />
-    <Compile Include="src\crypto\test\CAST6Test.cs" />
-    <Compile Include="src\crypto\test\CCMTest.cs" />
-    <Compile Include="src\crypto\test\ChaChaTest.cs" />
-    <Compile Include="src\crypto\test\CMacTest.cs" />
-    <Compile Include="src\crypto\test\CTSTest.cs" />
-    <Compile Include="src\crypto\test\CamelliaLightTest.cs" />
-    <Compile Include="src\crypto\test\CamelliaTest.cs" />
-    <Compile Include="src\crypto\test\Cast5Test.cs" />
-    <Compile Include="src\crypto\test\CipherTest.cs" />
-    <Compile Include="src\crypto\test\DESTest.cs" />
-    <Compile Include="src\crypto\test\DESedeTest.cs" />
-    <Compile Include="src\crypto\test\DeterministicDSATest.cs" />
-    <Compile Include="src\crypto\test\DHKEKGeneratorTest.cs" />
-    <Compile Include="src\crypto\test\DHTest.cs" />
-    <Compile Include="src\crypto\test\DSATest.cs" />
-    <Compile Include="src\crypto\test\DSTU7564Test.cs" />
-    <Compile Include="src\crypto\test\DSTU7624Test.cs" />
-    <Compile Include="src\crypto\test\DigestRandomNumberTest.cs" />
-    <Compile Include="src\crypto\test\DigestTest.cs" />
-    <Compile Include="src\crypto\test\EAXTest.cs" />
-    <Compile Include="src\crypto\test\ECDHKEKGeneratorTest.cs" />
-    <Compile Include="src\crypto\test\ECGOST3410Test.cs" />
-    <Compile Include="src\crypto\test\ECIESTest.cs" />
-    <Compile Include="src\crypto\test\ECNRTest.cs" />
-    <Compile Include="src\crypto\test\ECTest.cs" />
-    <Compile Include="src\crypto\test\ElGamalTest.cs" />
-    <Compile Include="src\crypto\test\EqualsHashCodeTest.cs" />
-    <Compile Include="src\crypto\test\GCMTest.cs" />
-    <Compile Include="src\crypto\test\GMacTest.cs" />
-    <Compile Include="src\crypto\test\GOST28147MacTest.cs" />
-    <Compile Include="src\crypto\test\GOST28147Test.cs" />
-    <Compile Include="src\crypto\test\GOST3410Test.cs" />
-    <Compile Include="src\crypto\test\GOST3411DigestTest.cs" />
-    <Compile Include="src\crypto\test\GOST3411_2012_256DigestTest.cs" />
-    <Compile Include="src\crypto\test\GOST3411_2012_512DigestTest.cs" />
-    <Compile Include="src\crypto\test\GcmReorderTest.cs" />
-    <Compile Include="src\crypto\test\HCFamilyTest.cs" />
-    <Compile Include="src\crypto\test\HCFamilyVecTest.cs" />
-    <Compile Include="src\crypto\test\HKDFGeneratorTest.cs" />
-    <Compile Include="src\crypto\test\IDEATest.cs" />
-    <Compile Include="src\crypto\test\ISAACTest.cs" />
-    <Compile Include="src\crypto\test\ISO9796Test.cs" />
-    <Compile Include="src\crypto\test\ISO9797Alg3MacTest.cs" />
-    <Compile Include="src\crypto\test\KDF1GeneratorTest.cs" />
-    <Compile Include="src\crypto\test\KDF2GeneratorTest.cs" />
-    <Compile Include="src\crypto\test\KeccakDigestTest.cs" />
-    <Compile Include="src\crypto\test\MD2DigestTest.cs" />
-    <Compile Include="src\crypto\test\MD4DigestTest.cs" />
-    <Compile Include="src\crypto\test\MD5DigestTest.cs" />
-    <Compile Include="src\crypto\test\MD5HMacTest.cs" />
-    <Compile Include="src\crypto\test\MGF1GeneratorTest.cs" />
-    <Compile Include="src\crypto\test\MacTest.cs" />
-    <Compile Include="src\crypto\test\ModeTest.cs" />
-    <Compile Include="src\crypto\test\NaccacheSternTest.cs" />
-    <Compile Include="src\crypto\test\NoekeonTest.cs" />
-    <Compile Include="src\crypto\test\NonMemoableDigestTest.cs" />
-    <Compile Include="src\crypto\test\NullTest.cs" />
-    <Compile Include="src\crypto\test\OAEPTest.cs" />
-    <Compile Include="src\crypto\test\OCBTest.cs" />
-    <Compile Include="src\crypto\test\OpenBsdBCryptTest.cs" />
-    <Compile Include="src\crypto\test\PSSBlindTest.cs" />
-    <Compile Include="src\crypto\test\PSSTest.cs" />
-    <Compile Include="src\crypto\test\PaddingTest.cs" />
-    <Compile Include="src\crypto\test\Pkcs12Test.cs" />
-    <Compile Include="src\crypto\test\Pkcs5Test.cs" />
-    <Compile Include="src\crypto\test\Poly1305Test.cs" />
-    <Compile Include="src\crypto\test\RC2Test.cs" />
-    <Compile Include="src\crypto\test\RC2WrapTest.cs" />
-    <Compile Include="src\crypto\test\RC4Test.cs" />
-    <Compile Include="src\crypto\test\RC5Test.cs" />
-    <Compile Include="src\crypto\test\RC6Test.cs" />
-    <Compile Include="src\crypto\test\RFC3211WrapTest.cs" />
-    <Compile Include="src\crypto\test\RSABlindedTest.cs" />
-    <Compile Include="src\crypto\test\RegressionTest.cs" />
-    <Compile Include="src\crypto\test\RijndaelTest.cs" />
-    <Compile Include="src\crypto\test\RipeMD128DigestTest.cs" />
-    <Compile Include="src\crypto\test\RipeMD128HMacTest.cs" />
-    <Compile Include="src\crypto\test\RipeMD160DigestTest.cs" />
-    <Compile Include="src\crypto\test\RipeMD160HMacTest.cs" />
-    <Compile Include="src\crypto\test\RipeMD256DigestTest.cs" />
-    <Compile Include="src\crypto\test\RipeMD320DigestTest.cs" />
-    <Compile Include="src\crypto\test\RsaTest.cs" />
-    <Compile Include="src\crypto\test\SCryptTest.cs" />
-    <Compile Include="src\crypto\test\SEEDTest.cs" />
-    <Compile Include="src\crypto\test\SHA1DigestTest.cs" />
-    <Compile Include="src\crypto\test\SHA1HMacTest.cs" />
-    <Compile Include="src\crypto\test\SHA224DigestTest.cs" />
-    <Compile Include="src\crypto\test\SHA224HMacTest.cs" />
-    <Compile Include="src\crypto\test\SHA256DigestTest.cs" />
-    <Compile Include="src\crypto\test\SHA256HMacTest.cs" />
-    <Compile Include="src\crypto\test\SHA384DigestTest.cs" />
-    <Compile Include="src\crypto\test\SHA384HMacTest.cs" />
-    <Compile Include="src\crypto\test\SHA3DigestTest.cs" />
-    <Compile Include="src\crypto\test\SHA512DigestTest.cs" />
-    <Compile Include="src\crypto\test\SHA512HMacTest.cs" />
-    <Compile Include="src\crypto\test\SHA512t224DigestTest.cs" />
-    <Compile Include="src\crypto\test\SHA512t256DigestTest.cs" />
-    <Compile Include="src\crypto\test\SM2EngineTest.cs" />
-    <Compile Include="src\crypto\test\SM2KeyExchangeTest.cs" />
-    <Compile Include="src\crypto\test\SM2SignerTest.cs" />
-    <Compile Include="src\crypto\test\SM3DigestTest.cs" />
-    <Compile Include="src\crypto\test\SkeinDigestTest.cs" />
-    <Compile Include="src\crypto\test\SkeinMacTest.cs" />
-    <Compile Include="src\crypto\test\StreamCipherResetTest.cs" />
-    <Compile Include="src\crypto\test\Threefish1024Test.cs" />
-    <Compile Include="src\crypto\test\Threefish256Test.cs" />
-    <Compile Include="src\crypto\test\Threefish512Test.cs" />
-    <Compile Include="src\crypto\test\SRP6Test.cs" />
-    <Compile Include="src\crypto\test\Salsa20Test.cs" />
-    <Compile Include="src\crypto\test\SerpentTest.cs" />
-    <Compile Include="src\crypto\test\ShakeDigestTest.cs" />
-    <Compile Include="src\crypto\test\ShortenedDigestTest.cs" />
-    <Compile Include="src\crypto\test\SipHashTest.cs" />
-    <Compile Include="src\crypto\test\SkipjackTest.cs" />
-    <Compile Include="src\crypto\test\StreamCipherVectorTest.cs" />
-    <Compile Include="src\crypto\test\TEATest.cs" />
-    <Compile Include="src\crypto\test\TigerDigestTest.cs" />
-    <Compile Include="src\crypto\test\TnepresTest.cs" />
-    <Compile Include="src\crypto\test\TwofishTest.cs" />
-    <Compile Include="src\crypto\test\VMPCKSA3Test.cs" />
-    <Compile Include="src\crypto\test\VMPCMacTest.cs" />
-    <Compile Include="src\crypto\test\VMPCTest.cs" />
-    <Compile Include="src\crypto\test\WhirlpoolDigestTest.cs" />
-    <Compile Include="src\crypto\test\X931SignerTest.cs" />
-    <Compile Include="src\crypto\test\XSalsa20Test.cs" />
-    <Compile Include="src\crypto\test\XTEATest.cs" />
-    <Compile Include="src\crypto\tls\test\ByteQueueStreamTest.cs" />
-    <Compile Include="src\crypto\tls\test\DtlsProtocolTest.cs" />
-    <Compile Include="src\crypto\tls\test\DtlsTestCase.cs" />
-    <Compile Include="src\crypto\tls\test\DtlsTestClientProtocol.cs" />
-    <Compile Include="src\crypto\tls\test\DtlsTestServerProtocol.cs" />
-    <Compile Include="src\crypto\tls\test\DtlsTestSuite.cs" />
-    <Compile Include="src\crypto\tls\test\LoggingDatagramTransport.cs" />
-    <Compile Include="src\crypto\tls\test\MockDatagramAssociation.cs" />
-    <Compile Include="src\crypto\tls\test\MockDtlsClient.cs" />
-    <Compile Include="src\crypto\tls\test\MockDtlsServer.cs" />
-    <Compile Include="src\crypto\tls\test\MockPskTlsClient.cs" />
-    <Compile Include="src\crypto\tls\test\MockPskTlsServer.cs" />
-    <Compile Include="src\crypto\tls\test\MockSrpTlsClient.cs" />
-    <Compile Include="src\crypto\tls\test\MockSrpTlsServer.cs" />
-    <Compile Include="src\crypto\tls\test\MockTlsClient.cs" />
-    <Compile Include="src\crypto\tls\test\MockTlsServer.cs" />
-    <Compile Include="src\crypto\tls\test\NetworkStream.cs" />
-    <Compile Include="src\crypto\tls\test\PipedStream.cs" />
-    <Compile Include="src\crypto\tls\test\PskTlsClientTest.cs" />
-    <Compile Include="src\crypto\tls\test\TlsClientTest.cs" />
-    <Compile Include="src\crypto\tls\test\TlsProtocolTest.cs" />
-    <Compile Include="src\crypto\tls\test\TlsProtocolNonBlockingTest.cs" />
-    <Compile Include="src\crypto\tls\test\TlsPskProtocolTest.cs" />
-    <Compile Include="src\crypto\tls\test\TlsServerTest.cs" />
-    <Compile Include="src\crypto\tls\test\TlsSrpProtocolTest.cs" />
-    <Compile Include="src\crypto\tls\test\TlsTestCase.cs" />
-    <Compile Include="src\crypto\tls\test\TlsTestClientImpl.cs" />
-    <Compile Include="src\crypto\tls\test\TlsTestClientProtocol.cs" />
-    <Compile Include="src\crypto\tls\test\TlsTestConfig.cs" />
-    <Compile Include="src\crypto\tls\test\TlsTestServerImpl.cs" />
-    <Compile Include="src\crypto\tls\test\TlsTestServerProtocol.cs" />
-    <Compile Include="src\crypto\tls\test\TlsTestSuite.cs" />
-    <Compile Include="src\crypto\tls\test\TlsTestUtilities.cs" />
-    <Compile Include="src\crypto\tls\test\UnreliableDatagramTransport.cs" />
-    <Compile Include="src\math\ec\custom\sec\test\SecP256R1FieldTest.cs" />
-    <Compile Include="src\math\ec\custom\sec\test\SecP384R1FieldTest.cs" />
-    <Compile Include="src\math\ec\test\AllTests.cs" />
-    <Compile Include="src\math\ec\test\ECAlgorithmsTest.cs" />
-    <Compile Include="src\math\ec\test\ECPointPerformanceTest.cs" />
-    <Compile Include="src\math\ec\test\ECPointTest.cs" />
-    <Compile Include="src\math\ec\test\F2mProofer.cs" />
-    <Compile Include="src\math\ec\test\TnafTest.cs" />
-    <Compile Include="src\math\test\AllTests.cs" />
-    <Compile Include="src\math\test\BigIntegerTest.cs" />
-    <Compile Include="src\math\test\PrimesTest.cs" />
-    <Compile Include="src\ocsp\test\AllTests.cs" />
-    <Compile Include="src\ocsp\test\OCSPTest.cs" />
-    <Compile Include="src\ocsp\test\OCSPTestUtil.cs" />
-    <Compile Include="src\openpgp\examples\ByteArrayHandler.cs" />
-    <Compile Include="src\openpgp\examples\ClearSignedFileProcessor.cs" />
-    <Compile Include="src\openpgp\examples\DetachedSignatureProcessor.cs" />
-    <Compile Include="src\openpgp\examples\DirectKeySignature.cs" />
-    <Compile Include="src\openpgp\examples\DsaElGamalKeyRingGenerator.cs" />
-    <Compile Include="src\openpgp\examples\KeyBasedFileProcessor.cs" />
-    <Compile Include="src\openpgp\examples\KeyBasedLargeFileProcessor.cs" />
-    <Compile Include="src\openpgp\examples\PbeFileProcessor.cs" />
-    <Compile Include="src\openpgp\examples\PgpExampleUtilities.cs" />
-    <Compile Include="src\openpgp\examples\PublicKeyRingDump.cs" />
-    <Compile Include="src\openpgp\examples\RsaKeyRingGenerator.cs" />
-    <Compile Include="src\openpgp\examples\SignedFileProcessor.cs" />
-    <Compile Include="src\openpgp\examples\test\AllTests.cs" />
-    <Compile Include="src\openpgp\test\DSA2Test.cs" />
-    <Compile Include="src\openpgp\test\PGPArmoredTest.cs" />
-    <Compile Include="src\openpgp\test\PGPClearSignedSignatureTest.cs" />
-    <Compile Include="src\openpgp\test\PGPCompressionTest.cs" />
-    <Compile Include="src\openpgp\test\PGPDSAElGamalTest.cs" />
-    <Compile Include="src\openpgp\test\PGPDSATest.cs" />
-    <Compile Include="src\openpgp\test\PGPNoPrivateKeyTest.cs" />
-    <Compile Include="src\openpgp\test\PGPPBETest.cs" />
-    <Compile Include="src\openpgp\test\PGPPacketTest.cs" />
-    <Compile Include="src\openpgp\test\PGPRSATest.cs" />
-    <Compile Include="src\openpgp\test\PGPSignatureTest.cs" />
-    <Compile Include="src\openpgp\test\PgpECDHTest.cs" />
-    <Compile Include="src\openpgp\test\PgpECDsaTest.cs" />
-    <Compile Include="src\openpgp\test\PgpECMessageTest.cs" />
-    <Compile Include="src\openpgp\test\PgpKeyRingTest.cs" />
-    <Compile Include="src\openpgp\test\PgpMarkerTest.cs" />
-    <Compile Include="src\openpgp\test\PgpParsingTest.cs" />
-    <Compile Include="src\openpgp\test\PgpUnicodeTest.cs" />
-    <Compile Include="src\openpgp\test\RegressionTest.cs" />
-    <Compile Include="src\openssl\test\AllTests.cs" />
-    <Compile Include="src\openssl\test\ReaderTest.cs" />
-    <Compile Include="src\openssl\test\WriterTest.cs" />
-    <Compile Include="src\pkcs\examples\PKCS12Example.cs" />
-    <Compile Include="src\pkcs\test\EncryptedPrivateKeyInfoTest.cs" />
-    <Compile Include="src\pkcs\test\PKCS10Test.cs" />
-    <Compile Include="src\pkcs\test\PKCS12StoreTest.cs" />
-    <Compile Include="src\security\test\SecureRandomTest.cs" />
-    <Compile Include="src\security\test\TestDigestUtil.cs" />
-    <Compile Include="src\security\test\TestDotNetUtil.cs" />
-    <Compile Include="src\security\test\TestEncodings.cs" />
-    <Compile Include="src\security\test\TestParameterUtil.cs" />
-    <Compile Include="src\security\test\TestSignerUtil.cs" />
-    <Compile Include="src\test\AESSICTest.cs" />
-    <Compile Include="src\test\AESTest.cs" />
-    <Compile Include="src\test\AttrCertSelectorTest.cs" />
-    <Compile Include="src\test\AttrCertTest.cs" />
-    <Compile Include="src\test\BaseBlockCipherTest.cs" />
-    <Compile Include="src\test\BlockCipherTest.cs" />
-    <Compile Include="src\test\CMacTest.cs" />
-    <Compile Include="src\test\CRL5Test.cs" />
-    <Compile Include="src\test\CamelliaTest.cs" />
-    <Compile Include="src\test\CertPathBuilderTest.cs" />
-    <Compile Include="src\test\CertPathTest.cs" />
-    <Compile Include="src\test\CertPathValidatorTest.cs" />
-    <Compile Include="src\test\CertTest.cs" />
-    <Compile Include="src\test\CipherStreamTest.cs" />
-    <Compile Include="src\test\DESedeTest.cs" />
-    <Compile Include="src\test\DHTest.cs" />
-    <Compile Include="src\test\DSATest.cs" />
-    <Compile Include="src\test\DigestTest.cs" />
-    <Compile Include="src\test\ECDSA5Test.cs" />
-    <Compile Include="src\test\ECEncodingTest.cs" />
-    <Compile Include="src\test\ECNRTest.cs" />
-    <Compile Include="src\test\ElGamalTest.cs" />
-    <Compile Include="src\test\EncryptedPrivateKeyInfoTest.cs" />
-    <Compile Include="src\test\FIPSDESTest.cs" />
-    <Compile Include="src\test\GOST28147Test.cs" />
-    <Compile Include="src\test\GOST3410Test.cs" />
-    <Compile Include="src\test\HMacTest.cs" />
-    <Compile Include="src\test\IESTest.cs" />
-    <Compile Include="src\test\MacTest.cs" />
-    <Compile Include="src\test\MqvTest.cs" />
-    <Compile Include="src\test\NamedCurveTest.cs" />
-    <Compile Include="src\test\NistCertPathTest.cs" />
-    <Compile Include="src\test\NoekeonTest.cs" />
-    <Compile Include="src\test\PBETest.cs" />
-    <Compile Include="src\test\PEMData.cs" />
-    <Compile Include="src\test\PKCS10CertRequestTest.cs" />
-    <Compile Include="src\test\PSSTest.cs" />
-    <Compile Include="src\test\PkixNameConstraintsTest.cs" />
-    <Compile Include="src\test\PkixPolicyMappingTest.cs" />
-    <Compile Include="src\test\PkixTest.cs" />
-    <Compile Include="src\test\RSATest.cs" />
-    <Compile Include="src\test\RegressionTest.cs" />
-    <Compile Include="src\test\SEEDTest.cs" />
-    <Compile Include="src\test\SigTest.cs" />
-    <Compile Include="src\test\TestUtilities.cs" />
-    <Compile Include="src\test\WrapTest.cs" />
-    <Compile Include="src\test\X509CertificatePairTest.cs" />
-    <Compile Include="src\test\X509StoreTest.cs" />
-    <Compile Include="src\test\nist\NistCertPathTest.cs" />
-    <Compile Include="src\test\rsa3\RSA3CertTest.cs" />
-    <Compile Include="src\tsp\test\AllTests.cs" />
-    <Compile Include="src\tsp\test\GenTimeAccuracyTest.cs" />
-    <Compile Include="src\tsp\test\ParseTest.cs" />
-    <Compile Include="src\tsp\test\TSPTest.cs" />
-    <Compile Include="src\tsp\test\TSPTestUtil.cs" />
-    <Compile Include="src\tsp\test\TimeStampTokenInfoTest.cs" />
-    <Compile Include="src\util\io\pem\test\AllTests.cs" />
-    <Compile Include="src\util\net\test\IPAddressTest.cs" />
-    <Compile Include="src\util\test\FixedSecureRandom.cs" />
-    <Compile Include="src\util\test\ITest.cs" />
-    <Compile Include="src\util\test\ITestResult.cs" />
-    <Compile Include="src\util\test\NumberParsing.cs" />
-    <Compile Include="src\util\test\SimpleTest.cs" />
-    <Compile Include="src\util\test\SimpleTestResult.cs" />
-    <Compile Include="src\util\test\TestFailedException.cs" />
-    <Compile Include="src\util\test\TestRandomBigInteger.cs" />
-    <Compile Include="src\util\test\UncloseableStream.cs" />
-    <Compile Include="src\x509\test\TestCertificateGen.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="data\cert_chain.data" />
-    <EmbeddedResource Include="data\cert_chain_nl.data" />
-    <EmbeddedResource Include="data\qvRooCa3.crt" />
-    <EmbeddedResource Include="data\suvaEE.crt" />
-    <EmbeddedResource Include="data\suvaEmail1.crt" />
-    <EmbeddedResource Include="data\suvaRoot1.crt" />
-    <EmbeddedResource Include="data\ThawteSGCCA.cer" />
-    <EmbeddedResource Include="data\ThawteSGCCA.crl" />
-    <EmbeddedResource Include="data\crypto\SHA3TestVectors.txt" />
-    <EmbeddedResource Include="data\crypto\SHAKETestVectors.txt" />
-    <EmbeddedResource Include="data\PKITS\README.txt" />
-    <EmbeddedResource Include="data\PKITS\certs\AllCertificatesNoPoliciesTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\AllCertificatesSamePoliciesTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\AllCertificatesSamePoliciesTest13EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\AllCertificatesanyPolicyTest11EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\AnyPolicyTest14EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BadCRLIssuerNameCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BadCRLSignatureCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BadSignedCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BadnotAfterDateCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BadnotBeforeDateCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BasicSelfIssuedCRLSigningKeyCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BasicSelfIssuedCRLSigningKeyCRLCert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BasicSelfIssuedNewKeyCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BasicSelfIssuedNewKeyOldWithNewCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BasicSelfIssuedOldKeyCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\BasicSelfIssuedOldKeyNewWithOldCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\CPSPointerQualifierTest20EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DSACACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DSAParametersInheritedCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DifferentPoliciesTest12EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DifferentPoliciesTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DifferentPoliciesTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DifferentPoliciesTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DifferentPoliciesTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DifferentPoliciesTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\DifferentPoliciesTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\GeneralizedTimeCRLnextUpdateCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\GoodCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\GoodsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\GoodsubCAPanyPolicyMapping1to2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidBadCRLIssuerNameTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidBadCRLSignatureTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidBasicSelfIssuedNewWithOldTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidBasicSelfIssuedOldWithNewTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidCASignatureTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidCAnotAfterDateTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidCAnotBeforeDateTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNSnameConstraintsTest31EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNSnameConstraintsTest33EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNSnameConstraintsTest38EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNandRFC822nameConstraintsTest28EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNandRFC822nameConstraintsTest29EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest12EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest13EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest15EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest16EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest17EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest20EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDNnameConstraintsTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidDSASignatureTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidEESignatureTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidEEnotAfterDateTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidEEnotBeforeDateTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidIDPwithindirectCRLTest23EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidIDPwithindirectCRLTest26EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidLongSerialNumberTest18EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidMappingFromanyPolicyTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidMappingToanyPolicyTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidMissingCRLTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidMissingbasicConstraintsTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidNameChainingOrderTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidNameChainingTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidNegativeSerialNumberTest15EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidOldCRLnextUpdateTest11EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidPolicyMappingTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidPolicyMappingTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidPolicyMappingTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidRFC822nameConstraintsTest22EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidRFC822nameConstraintsTest24EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidRFC822nameConstraintsTest26EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidRevokedCATest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidRevokedEETest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedpathLenConstraintTest16EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSeparateCertificateandCRLKeysTest20EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidSeparateCertificateandCRLKeysTest21EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidURInameConstraintsTest35EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidURInameConstraintsTest37EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidUnknownCRLEntryExtensionTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidUnknownCRLExtensionTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidUnknownCRLExtensionTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidUnknownCriticalCertificateExtensionTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidWrongCRLTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidcAFalseTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidcAFalseTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidcRLIssuerTest27EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidcRLIssuerTest31EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidcRLIssuerTest32EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidcRLIssuerTest34EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidcRLIssuerTest35EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddeltaCRLIndicatorNoBaseTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddeltaCRLTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddeltaCRLTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddeltaCRLTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddeltaCRLTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddeltaCRLTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddistributionPointTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddistributionPointTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddistributionPointTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddistributionPointTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvaliddistributionPointTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidinhibitAnyPolicyTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidinhibitAnyPolicyTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidinhibitAnyPolicyTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidinhibitAnyPolicyTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidinhibitPolicyMappingTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidinhibitPolicyMappingTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidinhibitPolicyMappingTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidinhibitPolicyMappingTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidonlyContainsAttributeCertsTest14EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidonlyContainsCACertsTest12EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidonlyContainsUserCertsTest11EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidonlySomeReasonsTest15EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidonlySomeReasonsTest16EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidonlySomeReasonsTest17EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidonlySomeReasonsTest20EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidonlySomeReasonsTest21EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidpathLenConstraintTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidpathLenConstraintTest11EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidpathLenConstraintTest12EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidpathLenConstraintTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidpathLenConstraintTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidpathLenConstraintTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\Invalidpre2000CRLnextUpdateTest12EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\Invalidpre2000UTCEEnotAfterDateTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidrequireExplicitPolicyTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\InvalidrequireExplicitPolicyTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\LongSerialNumberCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\Mapping1to2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\MappingFromanyPolicyCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\MappingToanyPolicyCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\MissingbasicConstraintsCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\NameOrderingCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\NegativeSerialNumberCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\NoCRLCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\NoPoliciesCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\NoissuingDistributionPointCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\OldCRLnextUpdateCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\OverlappingPoliciesTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\P12Mapping1to3CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\P12Mapping1to3subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\P12Mapping1to3subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\P1Mapping1to234CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\P1Mapping1to234subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\P1anyPolicyMapping1to2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PanyPolicyMapping1to2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP1234CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP1234subCAP123Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP1234subsubCAP123P12Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP123CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP123subCAP12Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP123subsubCAP12P1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP123subsubCAP12P2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP123subsubsubCAP12P2P1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP12CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP12subCAP1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP12subsubCAP1P2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP2subCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP2subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\PoliciesP3CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\RFC3280MandatoryAttributeTypesCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\RFC3280OptionalAttributeTypesCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\RevokedsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\RolloverfromPrintableStringtoUTF8StringCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\SeparateCertificateandCRLKeysCA2CRLSigningCert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\SeparateCertificateandCRLKeysCRLSigningCert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\SeparateCertificateandCRLKeysCertificateSigningCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\TrustAnchorRootCertificate.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\TwoCRLsCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UIDCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UTF8StringCaseInsensitiveMatchCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UTF8StringEncodedNamesCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UnknownCRLEntryExtensionCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UnknownCRLExtensionCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UserNoticeQualifierTest15EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UserNoticeQualifierTest16EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UserNoticeQualifierTest17EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UserNoticeQualifierTest18EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\UserNoticeQualifierTest19EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidBasicSelfIssuedNewWithOldTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidBasicSelfIssuedNewWithOldTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidBasicSelfIssuedOldWithNewTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidCertificatePathTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNSnameConstraintsTest30EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNSnameConstraintsTest32EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNandRFC822nameConstraintsTest27EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNnameConstraintsTest11EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNnameConstraintsTest14EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNnameConstraintsTest18EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNnameConstraintsTest19EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNnameConstraintsTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNnameConstraintsTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNnameConstraintsTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDNnameConstraintsTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDSAParameterInheritanceTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidDSASignaturesTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidGeneralizedTimeCRLnextUpdateTest13EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidGeneralizedTimenotAfterDateTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidGeneralizedTimenotBeforeDateTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidIDPwithindirectCRLTest22EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidIDPwithindirectCRLTest24EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidIDPwithindirectCRLTest25EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidLongSerialNumberTest16EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidLongSerialNumberTest17EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidNameChainingCapitalizationTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidNameChainingWhitespaceTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidNameChainingWhitespaceTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidNameUIDsTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidNegativeSerialNumberTest14EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidNoissuingDistributionPointTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest11EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest12EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest13EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest14EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidPolicyMappingTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidRFC3280MandatoryAttributeTypesTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidRFC3280OptionalAttributeTypesTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidRFC822nameConstraintsTest21EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidRFC822nameConstraintsTest23EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidRFC822nameConstraintsTest25EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidSelfIssuedinhibitAnyPolicyTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidSelfIssuedinhibitAnyPolicyTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidSelfIssuedinhibitPolicyMappingTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidSelfIssuedpathLenConstraintTest15EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidSelfIssuedpathLenConstraintTest17EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidSelfIssuedrequireExplicitPolicyTest6EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidSeparateCertificateandCRLKeysTest19EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidTwoCRLsTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidURInameConstraintsTest34EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidURInameConstraintsTest36EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidUTF8StringCaseInsensitiveMatchTest11EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidUTF8StringEncodedNamesTest9EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidUnknownNotCriticalCertificateExtensionTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidbasicConstraintsNotCriticalTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidcRLIssuerTest28EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidcRLIssuerTest29EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidcRLIssuerTest30EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidcRLIssuerTest33EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValiddeltaCRLTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValiddeltaCRLTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValiddeltaCRLTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValiddeltaCRLTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValiddistributionPointTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValiddistributionPointTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValiddistributionPointTest5EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValiddistributionPointTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidinhibitAnyPolicyTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidinhibitPolicyMappingTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidinhibitPolicyMappingTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidkeyUsageNotCriticalTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidonlyContainsCACertsTest13EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidonlySomeReasonsTest18EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidonlySomeReasonsTest19EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidpathLenConstraintTest13EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidpathLenConstraintTest14EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidpathLenConstraintTest7EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidpathLenConstraintTest8EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\Validpre2000UTCnotBeforeDateTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidrequireExplicitPolicyTest1EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidrequireExplicitPolicyTest2EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\ValidrequireExplicitPolicyTest4EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\WrongCRLCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\anyPolicyCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\basicConstraintsCriticalcAFalseCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\basicConstraintsNotCriticalCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\basicConstraintsNotCriticalcAFalseCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\deltaCRLCA1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\deltaCRLCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\deltaCRLCA3Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\deltaCRLIndicatorNoBaseCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\distributionPoint1CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\distributionPoint2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\indirectCRLCA1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\indirectCRLCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\indirectCRLCA3Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\indirectCRLCA3cRLIssuerCert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\indirectCRLCA4Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\indirectCRLCA4cRLIssuerCert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\indirectCRLCA5Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\indirectCRLCA6Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy0CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy1CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy1SelfIssuedCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy1subCA1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy1subCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy1subCAIAP5Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy1subsubCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy5CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy5subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicy5subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitAnyPolicyTest3EE.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping0CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping0subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P12CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P12subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P12subCAIPM5Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P12subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P12subsubCAIPM5Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P1CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P1SelfIssuedCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P1SelfIssuedsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P1subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping1P1subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping5CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping5subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping5subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\inhibitPolicyMapping5subsubsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\keyUsageCriticalcRLSignFalseCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\keyUsageCriticalkeyCertSignFalseCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\keyUsageNotCriticalCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\keyUsageNotCriticalcRLSignFalseCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\keyUsageNotCriticalkeyCertSignFalseCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN1CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN1SelfIssuedCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN1subCA1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN1subCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN1subCA3Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN3CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN3subCA1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN3subCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN4CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDN5CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDNS1CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsDNS2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsRFC822CA1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsRFC822CA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsRFC822CA3Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsURI1CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\nameConstraintsURI2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\onlyContainsAttributeCertsCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\onlyContainsCACertsCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\onlyContainsUserCertsCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\onlySomeReasonsCA1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\onlySomeReasonsCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\onlySomeReasonsCA3Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\onlySomeReasonsCA4Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint0CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint0SelfIssuedCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint0subCA2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint0subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint1CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint1SelfIssuedCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint1SelfIssuedsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint1subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6subCA0Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6subCA1Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6subCA4Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6subsubCA00Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6subsubCA11Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6subsubCA41Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6subsubsubCA11XCert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pathLenConstraint6subsubsubCA41XCert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\pre2000CRLnextUpdateCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy0CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy0subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy0subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy0subsubsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy10CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy10subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy10subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy10subsubsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy2CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy2SelfIssuedCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy2SelfIssuedsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy2subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy4CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy4subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy4subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy4subsubsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy5CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy5subCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy5subsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy5subsubsubCACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy7CACert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy7subCARE2Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy7subsubCARE2RE4Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\certs\requireExplicitPolicy7subsubsubCARE2RE4Cert.crt" />
-    <EmbeddedResource Include="data\PKITS\crls\BadCRLIssuerNameCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BadCRLSignatureCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BadSignedCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BadnotAfterDateCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BadnotBeforeDateCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BasicSelfIssuedCRLSigningKeyCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BasicSelfIssuedNewKeyCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BasicSelfIssuedOldKeyCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\BasicSelfIssuedOldKeySelfIssuedCertCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\DSACACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\DSAParametersInheritedCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\GeneralizedTimeCRLnextUpdateCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\GoodCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\GoodsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\GoodsubCAPanyPolicyMapping1to2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\LongSerialNumberCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\Mapping1to2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\MappingFromanyPolicyCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\MappingToanyPolicyCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\MissingbasicConstraintsCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\NameOrderCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\NegativeSerialNumberCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\NoPoliciesCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\NoissuingDistributionPointCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\OldCRLnextUpdateCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\P12Mapping1to3CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\P12Mapping1to3subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\P12Mapping1to3subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\P1Mapping1to234CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\P1Mapping1to234subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\P1anyPolicyMapping1to2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PanyPolicyMapping1to2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP1234CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP1234subCAP123CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP1234subsubCAP123P12CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP123CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP123subCAP12CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP123subsubCAP12P1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP123subsubCAP2P2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP123subsubsubCAP12P2P1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP12CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP12subCAP1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP12subsubCAP1P2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP2subCA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP2subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\PoliciesP3CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\RFC3280MandatoryAttributeTypesCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\RFC3280OptionalAttributeTypesCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\RevokedsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\RolloverfromPrintableStringtoUTF8StringCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\SeparateCertificateandCRLKeysCA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\SeparateCertificateandCRLKeysCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\TrustAnchorRootCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\TwoCRLsCABadCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\TwoCRLsCAGoodCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\UIDCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\UTF8StringCaseInsensitiveMatchCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\UTF8StringEncodedNamesCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\UnknownCRLEntryExtensionCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\UnknownCRLExtensionCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\WrongCRLCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\anyPolicyCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\basicConstraintsCriticalcAFalseCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\basicConstraintsNotCriticalCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\basicConstraintsNotCriticalcAFalseCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\deltaCRLCA1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\deltaCRLCA1deltaCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\deltaCRLCA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\deltaCRLCA2deltaCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\deltaCRLCA3CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\deltaCRLCA3deltaCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\deltaCRLIndicatorNoBaseCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\distributionPoint1CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\distributionPoint2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\indirectCRLCA1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\indirectCRLCA3CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\indirectCRLCA3cRLIssuerCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\indirectCRLCA4cRLIssuerCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\indirectCRLCA5CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy0CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy1CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy1subCA1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy1subCA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy1subCAIAP5CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy1subsubCA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy5CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy5subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitAnyPolicy5subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping0CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping0subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping1P12CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping1P12subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping1P12subCAIPM5CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping1P12subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping1P12subsubCAIPM5CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping1P1CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping1P1subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping1P1subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping5CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping5subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping5subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\inhibitPolicyMapping5subsubsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\keyUsageCriticalcRLSignFalseCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\keyUsageCriticalkeyCertSignFalseCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\keyUsageNotCriticalCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\keyUsageNotCriticalcRLSignFalseCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\keyUsageNotCriticalkeyCertSignFalseCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN1CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN1subCA1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN1subCA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN1subCA3CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN3CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN3subCA1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN3subCA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN4CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDN5CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDNS1CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsDNS2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsRFC822CA1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsRFC822CA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsRFC822CA3CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsURI1CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\nameConstraintsURI2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlyContainsAttributeCertsCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlyContainsCACertsCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlyContainsUserCertsCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlySomeReasonsCA1compromiseCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlySomeReasonsCA1otherreasonsCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlySomeReasonsCA2CRL1.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlySomeReasonsCA2CRL2.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlySomeReasonsCA3compromiseCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlySomeReasonsCA3otherreasonsCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlySomeReasonsCA4compromiseCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\onlySomeReasonsCA4otherreasonsCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint0CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint0subCA2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint0subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint1CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint1subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6subCA0CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6subCA1CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6subCA4CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6subsubCA00CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6subsubCA11CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6subsubCA41CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6subsubsubCA11XCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pathLenConstraint6subsubsubCA41XCRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\pre2000CRLnextUpdateCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy0CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy0subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy0subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy0subsubsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy10CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy10subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy10subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy10subsubsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy2CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy2subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy4CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy4subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy4subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy4subsubsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy5CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy5subCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy5subsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy5subsubsubCACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy7CACRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy7subCARE2CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy7subsubCARE2RE4CRL.crl" />
-    <EmbeddedResource Include="data\PKITS\crls\requireExplicitPolicy7subsubsubCARE2RE4CRL.crl" />
-    <EmbeddedResource Include="data\asn1\masterlist-content.data" />
-    <EmbeddedResource Include="data\cms\sigs\PSSSignData.data" />
-    <EmbeddedResource Include="data\cms\sigs\PSSSignDataSHA1.sig" />
-    <EmbeddedResource Include="data\cms\sigs\PSSSignDataSHA1Enc.sig" />
-    <EmbeddedResource Include="data\cms\sigs\PSSSignDataSHA256.sig" />
-    <EmbeddedResource Include="data\cms\sigs\PSSSignDataSHA256Enc.sig" />
-    <EmbeddedResource Include="data\cms\sigs\PSSSignDataSHA512.sig" />
-    <EmbeddedResource Include="data\cms\sigs\PSSSignDataSHA512Enc.sig" />
-    <EmbeddedResource Include="data\cms\sigs\counterSig.p7m" />
-    <EmbeddedResource Include="data\cms\sigs\rawsha256nonull.p7m" />
-    <EmbeddedResource Include="data\cms\sigs\SignedMSPkcs7.sig" />
-    <EmbeddedResource Include="data\hc256\hc128\ecrypt_HC-128.txt" />
-    <EmbeddedResource Include="data\hc256\hc256\ecrypt_HC-256_128K_128IV.txt" />
-    <EmbeddedResource Include="data\hc256\hc256\ecrypt_HC-256_128K_256IV.txt" />
-    <EmbeddedResource Include="data\hc256\hc256\ecrypt_HC-256_256K_128IV.txt" />
-    <EmbeddedResource Include="data\hc256\hc256\ecrypt_HC-256_256K_256IV.txt" />
-    <EmbeddedResource Include="data\keys\README.txt" />
-    <EmbeddedResource Include="data\keys\pbes1\pbeWithMD2AndDES_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbeWithMD2AndRC2_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbeWithMD5AndDES_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbeWithMD5AndRC2_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbeWithSHA1AndDES_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbeWithSHA1AndRC2_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbe_WithSHA1And128BitRC2_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbe_WithSHA1And128BitRC4.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbe_WithSHA1And2_Key_TripleDES_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbe_WithSHA1And3_Key_TripleDES_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbe_WithSHA1And40BitRC2_CBC.key" />
-    <EmbeddedResource Include="data\keys\pbes1\pbe_WithSHA1And40BitRC4.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-128-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-128-cfb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-128-cfb1.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-128-cfb8.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-128-ecb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-128-ofb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-192-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-192-cfb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-192-cfb1.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-192-cfb8.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-192-ecb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-192-ofb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-256-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-256-cfb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-256-cfb1.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-256-cfb8.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-256-ecb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes-256-ofb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes128.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes192.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.aes256.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.bf-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.bf.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.blowfish.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.cast-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.cast.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.cast5-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des-cfb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des-cfb1.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des-cfb8.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des-ecb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des-ede.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des-ede3-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des-ofb.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.des3.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.rc2-40-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.rc2-64-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.rc2-cbc.key" />
-    <EmbeddedResource Include="data\keys\pbes2\pbes2.rc2.key" />
-    <EmbeddedResource Include="data\openpgp\bigpub.asc" />
-    <EmbeddedResource Include="data\openpgp\longSigSubPack.asc" />
-    <EmbeddedResource Include="data\openpgp\dsa\README.txt" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-1024-160.pub" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-1024-160.sec" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-15360-512.pub" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-15360-512.sec" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-2048-224.pub" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-2048-224.sec" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-3072-256.pub" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-3072-256.sec" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-7680-384.pub" />
-    <EmbeddedResource Include="data\openpgp\dsa\keys\DSA-7680-384.sec" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-1024-160-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-1024-224-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-1024-256-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-1024-384-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-1024-512-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-15360-512-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-2048-224-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-3072-256-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\dsa\sigs\dsa-7680-384-sign.gpg" />
-    <EmbeddedResource Include="data\openpgp\unicode\passphrase_cyr.txt" />
-    <EmbeddedResource Include="data\openpgp\unicode\passphrase_for_test.txt" />
-    <EmbeddedResource Include="data\openpgp\unicode\secring.gpg" />
-    <EmbeddedResource Include="data\openpgp\unicode\test.asc" />
-    <EmbeddedResource Include="data\openssl\README.txt" />
-    <EmbeddedResource Include="data\openssl\eckey.pem" />
-    <EmbeddedResource Include="data\openssl\enckey.pem" />
-    <EmbeddedResource Include="data\openssl\pkcs7.pem" />
-    <EmbeddedResource Include="data\openssl\pkcs8test.pem" />
-    <EmbeddedResource Include="data\openssl\test.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes128_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes128_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes128_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes128_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes192_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes192_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes192_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes192_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes256_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes256_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes256_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_aes256_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_blowfish_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_blowfish_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_blowfish_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_blowfish_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des1_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des1_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des1_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des1_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des2_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des2_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des2_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des2_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des3_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des3_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des3_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_des3_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_rc2_128_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_rc2_128_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_rc2_128_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_rc2_128_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_rc2_40_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_rc2_64_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\dsa\openssl_dsa_unencrypted.pem" />
-    <EmbeddedResource Include="data\openssl\pkcs8\openssl_pkcs8_rsa.pem" />
-    <EmbeddedResource Include="data\openssl\pkcs8\openssl_pkcs8_rsa_enc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes128_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes128_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes128_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes128_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes192_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes192_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes192_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes192_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes256_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes256_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes256_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_aes256_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_blowfish_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_blowfish_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_blowfish_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_blowfish_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des1_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des1_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des1_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des1_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des2_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des2_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des2_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des2_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des3_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des3_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des3_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_des3_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_rc2_128_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_rc2_128_cfb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_rc2_128_ecb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_rc2_128_ofb.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_rc2_40_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_rc2_64_cbc.pem" />
-    <EmbeddedResource Include="data\openssl\rsa\openssl_rsa_unencrypted.pem" />
-    <EmbeddedResource Include="data\rfc4134\3.1.bin" />
-    <EmbeddedResource Include="data\rfc4134\3.2.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.1.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.10.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.11.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.2.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.3.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.4.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.5.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.6.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.7.bin" />
-    <EmbeddedResource Include="data\rfc4134\4.8.eml" />
-    <EmbeddedResource Include="data\rfc4134\4.9.eml" />
-    <EmbeddedResource Include="data\rfc4134\5.1.bin" />
-    <EmbeddedResource Include="data\rfc4134\5.2.bin" />
-    <EmbeddedResource Include="data\rfc4134\5.3.eml" />
-    <EmbeddedResource Include="data\rfc4134\6.0.bin" />
-    <EmbeddedResource Include="data\rfc4134\7.1.bin" />
-    <EmbeddedResource Include="data\rfc4134\7.2.bin" />
-    <EmbeddedResource Include="data\rfc4134\AliceDSSSignByCarlNoInherit.cer" />
-    <EmbeddedResource Include="data\rfc4134\AlicePrivDSSSign.pri" />
-    <EmbeddedResource Include="data\rfc4134\AlicePrivRSASign.pri" />
-    <EmbeddedResource Include="data\rfc4134\AliceRSASignByCarl.cer" />
-    <EmbeddedResource Include="data\rfc4134\BobPrivRSAEncrypt.pri" />
-    <EmbeddedResource Include="data\rfc4134\BobRSASignByCarl.cer" />
-    <EmbeddedResource Include="data\rfc4134\CarlDSSCRLEmpty.crl" />
-    <EmbeddedResource Include="data\rfc4134\CarlDSSCRLForAll.crl" />
-    <EmbeddedResource Include="data\rfc4134\CarlDSSCRLForCarl.crl" />
-    <EmbeddedResource Include="data\rfc4134\CarlDSSSelf.cer" />
-    <EmbeddedResource Include="data\rfc4134\CarlPrivDSSSign.pri" />
-    <EmbeddedResource Include="data\rfc4134\CarlPrivRSASign.pri" />
-    <EmbeddedResource Include="data\rfc4134\CarlRSACRLEmpty.crl" />
-    <EmbeddedResource Include="data\rfc4134\CarlRSACRLForAll.crl" />
-    <EmbeddedResource Include="data\rfc4134\CarlRSACRLForCarl.crl" />
-    <EmbeddedResource Include="data\rfc4134\CarlRSASelf.cer" />
-    <EmbeddedResource Include="data\rfc4134\DianeDSSSignByCarlInherit.cer" />
-    <EmbeddedResource Include="data\rfc4134\DianePrivDSSSign.pri" />
-    <EmbeddedResource Include="data\rfc4134\DianePrivRSASignEncrypt.pri" />
-    <EmbeddedResource Include="data\rfc4134\DianeRSASignByCarl.cer" />
-    <EmbeddedResource Include="data\rfc4134\ExContent.bin" />
-    <EmbeddedResource Include="data\rfc4134\rfc4134.txt" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-A.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-A.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-B.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-B.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-C.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-C.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-D.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-D.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-E.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-E.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-F.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-F.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-G.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-G.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-H.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-H.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-I.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-I.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-J.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-J.pem" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-L.p12" />
-    <EmbeddedResource Include="data\rsa3\self-testcase-L.pem" />
-    <EmbeddedResource Include="data\rsa3\testcases.README" />
-    <EmbeddedResource Include="data\scrypt\TestVectors.txt" />
-    <EmbeddedResource Include="data\tls\README.txt" />
-    <EmbeddedResource Include="data\tls\ca.tmpl" />
-    <EmbeddedResource Include="data\tls\client.tmpl" />
-    <EmbeddedResource Include="data\tls\server.tmpl" />
-    <EmbeddedResource Include="data\tls\x509-ca-key.pem" />
-    <EmbeddedResource Include="data\tls\x509-ca.pem" />
-    <EmbeddedResource Include="data\tls\x509-client-dsa.pem" />
-    <EmbeddedResource Include="data\tls\x509-client-ecdsa.pem" />
-    <EmbeddedResource Include="data\tls\x509-client-key.pem" />
-    <EmbeddedResource Include="data\tls\x509-client-key-dsa.pem" />
-    <EmbeddedResource Include="data\tls\x509-client-key-ecdsa.pem" />
-    <EmbeddedResource Include="data\tls\x509-client.pem" />
-    <EmbeddedResource Include="data\tls\x509-server-dsa.pem" />
-    <EmbeddedResource Include="data\tls\x509-server-ecdsa.pem" />
-    <EmbeddedResource Include="data\tls\x509-server-key.pem" />
-    <EmbeddedResource Include="data\tls\x509-server-key-dsa.pem" />
-    <EmbeddedResource Include="data\tls\x509-server-key-ecdsa.pem" />
-    <EmbeddedResource Include="data\tls\x509-server.pem" />
-    <EmbeddedResource Include="data\tls\keystores\client_store.dsa" />
-    <EmbeddedResource Include="data\tls\keystores\client_store.rsa" />
-    <EmbeddedResource Include="data\tls\keystores\server_store.dsa" />
-    <EmbeddedResource Include="data\tls\keystores\server_store.rsa" />
-  </ItemGroup>
-  <ItemGroup>
-    <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/crypto/test/crypto.test.csproj b/crypto/test/crypto.test.csproj
new file mode 100644
index 000000000..8446f71a9
--- /dev/null
+++ b/crypto/test/crypto.test.csproj
@@ -0,0 +1,27 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.0;netcoreapp1.1;net462</TargetFrameworks>
+    <DefineConstants>$(DefineConstants);LIB</DefineConstants>
+    <AssemblyOriginatorKeyFile>..\..\BouncyCastle.snk</AssemblyOriginatorKeyFile>
+    <SignAssembly>true</SignAssembly>
+    <EnableDefaultItems>false</EnableDefaultItems>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.1' ">
+    <DefineConstants>$(DefineConstants);PORTABLE</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Include="src\**\*.cs" Exclude="**\examples\**\*.cs" />
+    <EmbeddedResource Include="data\**\*.*" Exclude="**\README.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
+    <PackageReference Include="NUnit" Version="3.7.1" />
+    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\src\crypto.csproj" />
+  </ItemGroup>
+  <ItemGroup>
+    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/crypto/test/lib/nunit.core.dll b/crypto/test/lib/nunit.core.dll
deleted file mode 100644
index 8d99c637d..000000000
--- a/crypto/test/lib/nunit.core.dll
+++ /dev/null
Binary files differdiff --git a/crypto/test/lib/nunit.core.interfaces.dll b/crypto/test/lib/nunit.core.interfaces.dll
deleted file mode 100644
index 70a76b21c..000000000
--- a/crypto/test/lib/nunit.core.interfaces.dll
+++ /dev/null
Binary files differdiff --git a/crypto/test/lib/nunit.framework.dll b/crypto/test/lib/nunit.framework.dll
deleted file mode 100644
index ba484ba8c..000000000
--- a/crypto/test/lib/nunit.framework.dll
+++ /dev/null
Binary files differdiff --git a/crypto/test/src/asn1/test/AdditionalInformationSyntaxUnitTest.cs b/crypto/test/src/asn1/test/AdditionalInformationSyntaxUnitTest.cs
index ac4ff9809..f60961c8b 100644
--- a/crypto/test/src/asn1/test/AdditionalInformationSyntaxUnitTest.cs
+++ b/crypto/test/src/asn1/test/AdditionalInformationSyntaxUnitTest.cs
@@ -59,12 +59,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 		{
 			checkMandatoryField("information", information, syntax.Information);
 		}
-
-		public static void Main(
+#if !LIB
+        public static void MainOld(
 			string[] args)
 		{
 			RunTest(new AdditionalInformationSyntaxUnitTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/AdmissionSyntaxUnitTest.cs b/crypto/test/src/asn1/test/AdmissionSyntaxUnitTest.cs
index 59464d212..e589b907b 100644
--- a/crypto/test/src/asn1/test/AdmissionSyntaxUnitTest.cs
+++ b/crypto/test/src/asn1/test/AdmissionSyntaxUnitTest.cs
@@ -82,11 +82,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+#if !LIB
+        public static void MainOld(
 			string[] args)
 		{
 			RunTest(new AdmissionSyntaxUnitTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/AdmissionsUnitTest.cs b/crypto/test/src/asn1/test/AdmissionsUnitTest.cs
index edefeb830..b5ef094dd 100644
--- a/crypto/test/src/asn1/test/AdmissionsUnitTest.cs
+++ b/crypto/test/src/asn1/test/AdmissionsUnitTest.cs
@@ -72,12 +72,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkMandatoryField("admissionAuthority", name, admissions.AdmissionAuthority);
 			checkMandatoryField("namingAuthority", auth, admissions.NamingAuthority);
 		}
-
-		public static void Main(
+#if !LIB
+        public static void MainOld(
 			string[] args)
 		{
 			RunTest(new AdmissionsUnitTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/AllTests.cs b/crypto/test/src/asn1/test/AllTests.cs
index 981b5a4df..7076b8d5f 100644
--- a/crypto/test/src/asn1/test/AllTests.cs
+++ b/crypto/test/src/asn1/test/AllTests.cs
@@ -8,7 +8,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 {
     public class AllTests
     {
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/asn1/test/AttributeTableUnitTest.cs b/crypto/test/src/asn1/test/AttributeTableUnitTest.cs
index 5dcf349cc..2321ba8bc 100644
--- a/crypto/test/src/asn1/test/AttributeTableUnitTest.cs
+++ b/crypto/test/src/asn1/test/AttributeTableUnitTest.cs
@@ -134,11 +134,13 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[] args)
         {
             RunTest(new AttributeTableUnitTest());
         }
+#endif
 
         [Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/BiometricDataUnitTest.cs b/crypto/test/src/asn1/test/BiometricDataUnitTest.cs
index a542f71af..964689c52 100644
--- a/crypto/test/src/asn1/test/BiometricDataUnitTest.cs
+++ b/crypto/test/src/asn1/test/BiometricDataUnitTest.cs
@@ -116,11 +116,13 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-		public static void Main(
+        #if !LIB
+		public static void MainOld(
             string[] args)
         {
             RunTest(new BiometricDataUnitTest());
         }
+#endif
 
 		[Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/BitStringTest.cs b/crypto/test/src/asn1/test/BitStringTest.cs
index 35b7811bc..5225bb3be 100644
--- a/crypto/test/src/asn1/test/BitStringTest.cs
+++ b/crypto/test/src/asn1/test/BitStringTest.cs
@@ -159,11 +159,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			get { return "BitString"; }
         }
 
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[] args)
         {
             RunTest(new BitStringTest());
         }
+#endif
 
         [Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/CMSTest.cs b/crypto/test/src/asn1/test/CMSTest.cs
index 1afb363af..f5977da71 100644
--- a/crypto/test/src/asn1/test/CMSTest.cs
+++ b/crypto/test/src/asn1/test/CMSTest.cs
@@ -286,7 +286,8 @@ namespace Org.BouncyCastle.Asn1.Tests
 			get { return "CMS"; }
 		}
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new CmsTest();
@@ -294,6 +295,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 
 			Console.WriteLine(result);
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/CertHashUnitTest.cs b/crypto/test/src/asn1/test/CertHashUnitTest.cs
index 1e271a9c0..9ac5805d3 100644
--- a/crypto/test/src/asn1/test/CertHashUnitTest.cs
+++ b/crypto/test/src/asn1/test/CertHashUnitTest.cs
@@ -76,11 +76,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkMandatoryField("certificateHash", digest, certHash.CertificateHash);
 		}
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new CertHashUnitTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/CertificateTest.cs b/crypto/test/src/asn1/test/CertificateTest.cs
index 7fcb1fffa..e4effc4a6 100644
--- a/crypto/test/src/asn1/test/CertificateTest.cs
+++ b/crypto/test/src/asn1/test/CertificateTest.cs
@@ -378,11 +378,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			CheckAttributeCertificate(8, cert8);
 		}
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new CertificateTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/CommitmentTypeIndicationUnitTest.cs b/crypto/test/src/asn1/test/CommitmentTypeIndicationUnitTest.cs
index 20c2d18e3..2ecb3f440 100644
--- a/crypto/test/src/asn1/test/CommitmentTypeIndicationUnitTest.cs
+++ b/crypto/test/src/asn1/test/CommitmentTypeIndicationUnitTest.cs
@@ -90,11 +90,13 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[]    args)
         {
             RunTest(new CommitmentTypeIndicationUnitTest());
         }
+#endif
 
         [Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/CommitmentTypeQualifierUnitTest.cs b/crypto/test/src/asn1/test/CommitmentTypeQualifierUnitTest.cs
index 192ac52f6..65997c971 100644
--- a/crypto/test/src/asn1/test/CommitmentTypeQualifierUnitTest.cs
+++ b/crypto/test/src/asn1/test/CommitmentTypeQualifierUnitTest.cs
@@ -90,11 +90,13 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[] args)
         {
             RunTest(new CommitmentTypeQualifierUnitTest());
         }
+#endif
 
         [Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/ContentHintsUnitTest.cs b/crypto/test/src/asn1/test/ContentHintsUnitTest.cs
index d7453c27e..8e953c203 100644
--- a/crypto/test/src/asn1/test/ContentHintsUnitTest.cs
+++ b/crypto/test/src/asn1/test/ContentHintsUnitTest.cs
@@ -76,11 +76,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkOptionalField("description", description, hints.ContentDescription);
 		}
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ContentHintsUnitTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/CscaMasterListTest.cs b/crypto/test/src/asn1/test/CscaMasterListTest.cs
index 814e98b2a..b3169ca87 100644
--- a/crypto/test/src/asn1/test/CscaMasterListTest.cs
+++ b/crypto/test/src/asn1/test/CscaMasterListTest.cs
@@ -40,11 +40,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			return Streams.ReadAll(SimpleTest.GetTestDataAsStream("asn1." + name));
 		}
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
             string[] args)
         {
             RunTest(new CscaMasterListTest());
         }
+#endif
 
 		[Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/DERApplicationSpecificTest.cs b/crypto/test/src/asn1/test/DERApplicationSpecificTest.cs
index e505acd9d..2d3849a2a 100644
--- a/crypto/test/src/asn1/test/DERApplicationSpecificTest.cs
+++ b/crypto/test/src/asn1/test/DERApplicationSpecificTest.cs
@@ -128,11 +128,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new DerApplicationSpecificTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/DERUTF8StringTest.cs b/crypto/test/src/asn1/test/DERUTF8StringTest.cs
index be4dace79..b84f5b621 100644
--- a/crypto/test/src/asn1/test/DERUTF8StringTest.cs
+++ b/crypto/test/src/asn1/test/DERUTF8StringTest.cs
@@ -93,7 +93,8 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			DerUtf8StringTest test = new DerUtf8StringTest();
@@ -101,6 +102,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 
 			Console.WriteLine(result);
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/DataGroupHashUnitTest.cs b/crypto/test/src/asn1/test/DataGroupHashUnitTest.cs
index dcebf4670..9832dc0dd 100644
--- a/crypto/test/src/asn1/test/DataGroupHashUnitTest.cs
+++ b/crypto/test/src/asn1/test/DataGroupHashUnitTest.cs
@@ -89,11 +89,13 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
             string[] args)
         {
             RunTest(new DataGroupHashUnitTest());
         }
+#endif
 
 		[Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/DeclarationOfMajorityUnitTest.cs b/crypto/test/src/asn1/test/DeclarationOfMajorityUnitTest.cs
index bd1fb5a9e..37c6fb519 100644
--- a/crypto/test/src/asn1/test/DeclarationOfMajorityUnitTest.cs
+++ b/crypto/test/src/asn1/test/DeclarationOfMajorityUnitTest.cs
@@ -80,11 +80,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new DeclarationOfMajorityUnitTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/EncryptedPrivateKeyInfoTest.cs b/crypto/test/src/asn1/test/EncryptedPrivateKeyInfoTest.cs
index a84df59cc..34e5495cf 100644
--- a/crypto/test/src/asn1/test/EncryptedPrivateKeyInfoTest.cs
+++ b/crypto/test/src/asn1/test/EncryptedPrivateKeyInfoTest.cs
@@ -132,7 +132,8 @@ namespace Org.BouncyCastle.Asn1.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new EncryptedPrivateKeyInfoTest();
@@ -140,6 +141,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 
 			Console.WriteLine(result);
         }
+#endif
 
         [Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/EqualsAndHashCodeTest.cs b/crypto/test/src/asn1/test/EqualsAndHashCodeTest.cs
index 91329fbd5..2495fe20b 100644
--- a/crypto/test/src/asn1/test/EqualsAndHashCodeTest.cs
+++ b/crypto/test/src/asn1/test/EqualsAndHashCodeTest.cs
@@ -79,13 +79,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 		{
 			get { return "EqualsAndHashCode"; }
 		}
-
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[] args)
         {
 			RunTest(new EqualsAndHashCodeTest());
         }
-
+#endif
 		[Test]
         public void TestFunction()
         {
diff --git a/crypto/test/src/asn1/test/EssCertIDv2UnitTest.cs b/crypto/test/src/asn1/test/EssCertIDv2UnitTest.cs
index 9aac777e1..60d0059ed 100644
--- a/crypto/test/src/asn1/test/EssCertIDv2UnitTest.cs
+++ b/crypto/test/src/asn1/test/EssCertIDv2UnitTest.cs
@@ -28,12 +28,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 
 			EssCertIDv2.GetInstance(asn1Object);
 		}
-	
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new EssCertIDv2UnitTest());
 		}
+#endif
 
 		[Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/GeneralNameTest.cs b/crypto/test/src/asn1/test/GeneralNameTest.cs
index e9c3b5861..95e0a903e 100644
--- a/crypto/test/src/asn1/test/GeneralNameTest.cs
+++ b/crypto/test/src/asn1/test/GeneralNameTest.cs
@@ -98,12 +98,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 				Fail("ipv6h failed");
 			}
 		}
-
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new GeneralNameTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/GeneralizedTimeTest.cs b/crypto/test/src/asn1/test/GeneralizedTimeTest.cs
index 51995e195..af968397f 100644
--- a/crypto/test/src/asn1/test/GeneralizedTimeTest.cs
+++ b/crypto/test/src/asn1/test/GeneralizedTimeTest.cs
@@ -192,7 +192,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             char sign = '+';
 
             // Note: GetUtcOffset incorporates Daylight Savings offset
-            TimeSpan offset =  TimeZone.CurrentTimeZone.GetUtcOffset(date);
+            TimeSpan offset =  TimeZoneInfo.Local.GetUtcOffset(date);
             if (offset.CompareTo(TimeSpan.Zero) < 0)
             {
                 sign = '-';
@@ -213,12 +213,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 
             return time.ToString();
         }
-
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[] args)
         {
             RunTest(new GeneralizedTimeTest());
         }
+#endif
 
         [Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/GenerationTest.cs b/crypto/test/src/asn1/test/GenerationTest.cs
index 862e66d22..840ae4707 100644
--- a/crypto/test/src/asn1/test/GenerationTest.cs
+++ b/crypto/test/src/asn1/test/GenerationTest.cs
@@ -307,12 +307,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 		{
 			get { return "Generation"; }
 		}
-
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[] args)
         {
 			RunTest(new GenerationTest());
         }
+#endif
 
 		[Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/InputStreamTest.cs b/crypto/test/src/asn1/test/InputStreamTest.cs
index 1d92759e0..9734c9805 100644
--- a/crypto/test/src/asn1/test/InputStreamTest.cs
+++ b/crypto/test/src/asn1/test/InputStreamTest.cs
@@ -67,12 +67,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 				}
 			}
 		}
-
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new InputStreamTest());
 		}
+#endif
 
 		[Test]
 		public void TestFunction()
diff --git a/crypto/test/src/asn1/test/Iso4217CurrencyCodeUnitTest.cs b/crypto/test/src/asn1/test/Iso4217CurrencyCodeUnitTest.cs
index bb6076a93..274ae25ce 100644
--- a/crypto/test/src/asn1/test/Iso4217CurrencyCodeUnitTest.cs
+++ b/crypto/test/src/asn1/test/Iso4217CurrencyCodeUnitTest.cs
@@ -139,11 +139,13 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[]    args)
         {
             RunTest(new Iso4217CurrencyCodeUnitTest());
         }
+#endif
 
         [Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/IssuingDistributionPointTest.cs b/crypto/test/src/asn1/test/IssuingDistributionPointTest.cs
index b5f5c88bb..5158f0610 100644
--- a/crypto/test/src/asn1/test/IssuingDistributionPointTest.cs
+++ b/crypto/test/src/asn1/test/IssuingDistributionPointTest.cs
@@ -115,13 +115,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 
 			return o1.Equals(o2);
 		}
-
-		public static void Main(
+#if !LIB
+        public static void MainOld(
 			string[] args)
 		{
 			RunTest(new IssuingDistributionPointUnitTest());
 		}
-
+#endif
         [Test]
         public void TestFunction()
         {
diff --git a/crypto/test/src/asn1/test/KeyUsageTest.cs b/crypto/test/src/asn1/test/KeyUsageTest.cs
index d7ed3655d..279446928 100644
--- a/crypto/test/src/asn1/test/KeyUsageTest.cs
+++ b/crypto/test/src/asn1/test/KeyUsageTest.cs
@@ -31,13 +31,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			BitStringConstantTester.testFlagValueCorrect(7, KeyUsage.EncipherOnly);
 			BitStringConstantTester.testFlagValueCorrect(8, KeyUsage.DecipherOnly);
 		}
-
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new KeyUsageTest());
 		}
-
+#endif
 		[Test]
 		public void TestFunction()
 		{
diff --git a/crypto/test/src/asn1/test/LDSSecurityObjectUnitTest.cs b/crypto/test/src/asn1/test/LDSSecurityObjectUnitTest.cs
index 914eda0b8..fa4c242d3 100644
--- a/crypto/test/src/asn1/test/LDSSecurityObjectUnitTest.cs
+++ b/crypto/test/src/asn1/test/LDSSecurityObjectUnitTest.cs
@@ -191,13 +191,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 				Fail("version info found when none expected.");
 			}
         }
-
-		public static void Main(
+#if !LIB
+        public static void MainOld(
             string[]    args)
         {
             RunTest(new LDSSecurityObjectUnitTest());
         }
-
+#endif
         [Test]
         public void TestFunction()
         {
diff --git a/crypto/test/src/asn1/test/MiscTest.cs b/crypto/test/src/asn1/test/MiscTest.cs
index 6b8411996..553a72ef4 100644
--- a/crypto/test/src/asn1/test/MiscTest.cs
+++ b/crypto/test/src/asn1/test/MiscTest.cs
@@ -130,12 +130,13 @@ namespace Org.BouncyCastle.Asn1.Tests
         {
             get { return "Misc"; }
         }
-
-        public static void Main(
+#if !LIB
+        public static void MainOld(
             string[] args)
         {
             RunTest(new MiscTest());
         }
+#endif
 
         [Test]
         public void TestFunction()
diff --git a/crypto/test/src/asn1/test/MonetaryLimitUnitTest.cs b/crypto/test/src/asn1/test/MonetaryLimitUnitTest.cs
index cdeb2eca5..5af508509 100644
--- a/crypto/test/src/asn1/test/MonetaryLimitUnitTest.cs
+++ b/crypto/test/src/asn1/test/MonetaryLimitUnitTest.cs
@@ -75,13 +75,13 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkMandatoryField("amount", amount, limit.Amount.IntValue);
 			checkMandatoryField("exponent", exponent, limit.Exponent.IntValue);
 		}
-
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new MonetaryLimitUnitTest());
 		}
-
+#endif
 		[Test]
 		public void TestFunction()
 		{
diff --git a/crypto/test/src/asn1/test/MonetaryValueUnitTest.cs b/crypto/test/src/asn1/test/MonetaryValueUnitTest.cs
index c75d74505..dff75f2cd 100644
--- a/crypto/test/src/asn1/test/MonetaryValueUnitTest.cs
+++ b/crypto/test/src/asn1/test/MonetaryValueUnitTest.cs
@@ -82,7 +82,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new MonetaryValueUnitTest());
diff --git a/crypto/test/src/asn1/test/NameOrPseudonymUnitTest.cs b/crypto/test/src/asn1/test/NameOrPseudonymUnitTest.cs
index 45f66613b..f308c3f42 100644
--- a/crypto/test/src/asn1/test/NameOrPseudonymUnitTest.cs
+++ b/crypto/test/src/asn1/test/NameOrPseudonymUnitTest.cs
@@ -97,7 +97,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new NameOrPseudonymUnitTest());
diff --git a/crypto/test/src/asn1/test/NamingAuthorityUnitTest.cs b/crypto/test/src/asn1/test/NamingAuthorityUnitTest.cs
index 787b2c32d..31a1a539b 100644
--- a/crypto/test/src/asn1/test/NamingAuthorityUnitTest.cs
+++ b/crypto/test/src/asn1/test/NamingAuthorityUnitTest.cs
@@ -89,7 +89,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkOptionalField("namingAuthorityText", namingAuthorityText, auth.NamingAuthorityText);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new NamingAuthorityUnitTest());
diff --git a/crypto/test/src/asn1/test/NetscapeCertTypeTest.cs b/crypto/test/src/asn1/test/NetscapeCertTypeTest.cs
index 8db5d990c..27babc2e3 100644
--- a/crypto/test/src/asn1/test/NetscapeCertTypeTest.cs
+++ b/crypto/test/src/asn1/test/NetscapeCertTypeTest.cs
@@ -28,7 +28,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			BitStringConstantTester.testFlagValueCorrect(7, NetscapeCertType.ObjectSigningCA);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new NetscapeCertTypeTest());
diff --git a/crypto/test/src/asn1/test/OCSPTest.cs b/crypto/test/src/asn1/test/OCSPTest.cs
index 13f59d3d1..6fde822d3 100644
--- a/crypto/test/src/asn1/test/OCSPTest.cs
+++ b/crypto/test/src/asn1/test/OCSPTest.cs
@@ -163,7 +163,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			get { return "Ocsp"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new OcspTest();
diff --git a/crypto/test/src/asn1/test/OIDTest.cs b/crypto/test/src/asn1/test/OIDTest.cs
index b0782db04..2007e4f25 100644
--- a/crypto/test/src/asn1/test/OIDTest.cs
+++ b/crypto/test/src/asn1/test/OIDTest.cs
@@ -128,8 +128,8 @@ namespace Org.BouncyCastle.Asn1.Tests
 			onCheck("1.1", "1.1.1", true);
 			onCheck("1.1", "1.1.2", true);
 		}
-
-		public static void Main(
+#if !LIB
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new OidTest();
@@ -137,7 +137,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 
 			Console.WriteLine(result);
 		}
-
+#endif
 		[Test]
 		public void TestFunction()
 		{
diff --git a/crypto/test/src/asn1/test/OtherCertIDUnitTest.cs b/crypto/test/src/asn1/test/OtherCertIDUnitTest.cs
index a09c18e8a..6af7d6f09 100644
--- a/crypto/test/src/asn1/test/OtherCertIDUnitTest.cs
+++ b/crypto/test/src/asn1/test/OtherCertIDUnitTest.cs
@@ -83,7 +83,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkOptionalField("issuerSerial", issuerSerial, certID.IssuerSerial);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new OtherCertIDUnitTest());
diff --git a/crypto/test/src/asn1/test/OtherSigningCertificateUnitTest.cs b/crypto/test/src/asn1/test/OtherSigningCertificateUnitTest.cs
index 4410d8e4c..4906cf043 100644
--- a/crypto/test/src/asn1/test/OtherSigningCertificateUnitTest.cs
+++ b/crypto/test/src/asn1/test/OtherSigningCertificateUnitTest.cs
@@ -77,7 +77,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkMandatoryField("GetCerts()[0]", otherCertID, otherCert.GetCerts()[0]);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new OtherSigningCertificateUnitTest());
diff --git a/crypto/test/src/asn1/test/PKCS10Test.cs b/crypto/test/src/asn1/test/PKCS10Test.cs
index 28736b816..8a973eac1 100644
--- a/crypto/test/src/asn1/test/PKCS10Test.cs
+++ b/crypto/test/src/asn1/test/PKCS10Test.cs
@@ -75,7 +75,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             return BasicPkcs10Test("Universal CR", req2);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new Pkcs10Test();
diff --git a/crypto/test/src/asn1/test/PKCS12Test.cs b/crypto/test/src/asn1/test/PKCS12Test.cs
index c20fa8cc6..8ebb27030 100644
--- a/crypto/test/src/asn1/test/PKCS12Test.cs
+++ b/crypto/test/src/asn1/test/PKCS12Test.cs
@@ -193,7 +193,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			get { return "Pkcs12"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Pkcs12Test());
diff --git a/crypto/test/src/asn1/test/PKIFailureInfoTest.cs b/crypto/test/src/asn1/test/PKIFailureInfoTest.cs
index 7d51dbb5f..c40227352 100644
--- a/crypto/test/src/asn1/test/PKIFailureInfoTest.cs
+++ b/crypto/test/src/asn1/test/PKIFailureInfoTest.cs
@@ -72,7 +72,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             DoTestEncoding();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PkiFailureInfoTest());
diff --git a/crypto/test/src/asn1/test/ParsingTest.cs b/crypto/test/src/asn1/test/ParsingTest.cs
index bb219e2fc..324807262 100644
--- a/crypto/test/src/asn1/test/ParsingTest.cs
+++ b/crypto/test/src/asn1/test/ParsingTest.cs
@@ -95,7 +95,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ParsingTest());
diff --git a/crypto/test/src/asn1/test/PersonalDataUnitTest.cs b/crypto/test/src/asn1/test/PersonalDataUnitTest.cs
index f92e619cf..625a382d4 100644
--- a/crypto/test/src/asn1/test/PersonalDataUnitTest.cs
+++ b/crypto/test/src/asn1/test/PersonalDataUnitTest.cs
@@ -110,7 +110,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkOptionalField("postalAddress", postalAddress, data.PostalAddress);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PersonalDataUnitTest());
diff --git a/crypto/test/src/asn1/test/ProcurationSyntaxUnitTest.cs b/crypto/test/src/asn1/test/ProcurationSyntaxUnitTest.cs
index 97d0e3eee..0f7c290f9 100644
--- a/crypto/test/src/asn1/test/ProcurationSyntaxUnitTest.cs
+++ b/crypto/test/src/asn1/test/ProcurationSyntaxUnitTest.cs
@@ -94,7 +94,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkOptionalField("certRef", certRef, procuration.CertRef);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ProcurationSyntaxUnitTest());
diff --git a/crypto/test/src/asn1/test/ProfessionInfoUnitTest.cs b/crypto/test/src/asn1/test/ProfessionInfoUnitTest.cs
index 6af2658ef..0450a21a7 100644
--- a/crypto/test/src/asn1/test/ProfessionInfoUnitTest.cs
+++ b/crypto/test/src/asn1/test/ProfessionInfoUnitTest.cs
@@ -104,7 +104,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkOptionalField("addProfessionInfo", addProfInfo, profInfo.AddProfessionInfo);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ProfessionInfoUnitTest());
diff --git a/crypto/test/src/asn1/test/QCStatementUnitTest.cs b/crypto/test/src/asn1/test/QCStatementUnitTest.cs
index 8d8ec9ec7..347186f8a 100644
--- a/crypto/test/src/asn1/test/QCStatementUnitTest.cs
+++ b/crypto/test/src/asn1/test/QCStatementUnitTest.cs
@@ -91,7 +91,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             RunTest(new QCStatementUnitTest());
diff --git a/crypto/test/src/asn1/test/ReasonFlagsTest.cs b/crypto/test/src/asn1/test/ReasonFlagsTest.cs
index ef404b3e1..66b5c4cc1 100644
--- a/crypto/test/src/asn1/test/ReasonFlagsTest.cs
+++ b/crypto/test/src/asn1/test/ReasonFlagsTest.cs
@@ -29,7 +29,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			BitStringConstantTester.testFlagValueCorrect(8, ReasonFlags.AACompromise);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ReasonFlagsTest());
diff --git a/crypto/test/src/asn1/test/RegressionTest.cs b/crypto/test/src/asn1/test/RegressionTest.cs
index 873ab4396..f78c0dd72 100644
--- a/crypto/test/src/asn1/test/RegressionTest.cs
+++ b/crypto/test/src/asn1/test/RegressionTest.cs
@@ -72,7 +72,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             new X9Test(),
         };
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             for (int i = 0; i != tests.Length; i++)
diff --git a/crypto/test/src/asn1/test/RequestedCertificateUnitTest.cs b/crypto/test/src/asn1/test/RequestedCertificateUnitTest.cs
index 767504173..433b3fe6b 100644
--- a/crypto/test/src/asn1/test/RequestedCertificateUnitTest.cs
+++ b/crypto/test/src/asn1/test/RequestedCertificateUnitTest.cs
@@ -100,7 +100,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new RequestedCertificateUnitTest());
diff --git a/crypto/test/src/asn1/test/RestrictionUnitTest.cs b/crypto/test/src/asn1/test/RestrictionUnitTest.cs
index 5dd6438cb..b240418a4 100644
--- a/crypto/test/src/asn1/test/RestrictionUnitTest.cs
+++ b/crypto/test/src/asn1/test/RestrictionUnitTest.cs
@@ -61,7 +61,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			checkMandatoryField("restriction", res, restriction.RestrictionString);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new RestrictionUnitTest());
diff --git a/crypto/test/src/asn1/test/SMIMETest.cs b/crypto/test/src/asn1/test/SMIMETest.cs
index adb90e093..df76c507a 100644
--- a/crypto/test/src/asn1/test/SMIMETest.cs
+++ b/crypto/test/src/asn1/test/SMIMETest.cs
@@ -70,7 +70,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			get { return "SMIME"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new SmimeTest();
diff --git a/crypto/test/src/asn1/test/SemanticsInformationUnitTest.cs b/crypto/test/src/asn1/test/SemanticsInformationUnitTest.cs
index 8f1f85f19..0bfa49725 100644
--- a/crypto/test/src/asn1/test/SemanticsInformationUnitTest.cs
+++ b/crypto/test/src/asn1/test/SemanticsInformationUnitTest.cs
@@ -121,7 +121,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             RunTest(new SemanticsInformationUnitTest());
diff --git a/crypto/test/src/asn1/test/SetTest.cs b/crypto/test/src/asn1/test/SetTest.cs
index 57c46603d..c33d39989 100644
--- a/crypto/test/src/asn1/test/SetTest.cs
+++ b/crypto/test/src/asn1/test/SetTest.cs
@@ -100,7 +100,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			s = new DerSet(v);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SetTest());
diff --git a/crypto/test/src/asn1/test/SignerLocationUnitTest.cs b/crypto/test/src/asn1/test/SignerLocationUnitTest.cs
index 650e2fcfd..e4666740f 100644
--- a/crypto/test/src/asn1/test/SignerLocationUnitTest.cs
+++ b/crypto/test/src/asn1/test/SignerLocationUnitTest.cs
@@ -178,7 +178,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
         {
             RunTest(new SignerLocationUnitTest());
diff --git a/crypto/test/src/asn1/test/StringTest.cs b/crypto/test/src/asn1/test/StringTest.cs
index acfd380b2..52f61dc86 100644
--- a/crypto/test/src/asn1/test/StringTest.cs
+++ b/crypto/test/src/asn1/test/StringTest.cs
@@ -88,7 +88,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new StringTest());
diff --git a/crypto/test/src/asn1/test/SubjectKeyIdentifierTest.cs b/crypto/test/src/asn1/test/SubjectKeyIdentifierTest.cs
index 127c47a3a..84273dfc2 100644
--- a/crypto/test/src/asn1/test/SubjectKeyIdentifierTest.cs
+++ b/crypto/test/src/asn1/test/SubjectKeyIdentifierTest.cs
@@ -44,7 +44,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SubjectKeyIdentifierTest());
diff --git a/crypto/test/src/asn1/test/TagTest.cs b/crypto/test/src/asn1/test/TagTest.cs
index 80ca2c0ea..6ede1b40b 100644
--- a/crypto/test/src/asn1/test/TagTest.cs
+++ b/crypto/test/src/asn1/test/TagTest.cs
@@ -102,7 +102,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new TagTest());
diff --git a/crypto/test/src/asn1/test/TargetInformationTest.cs b/crypto/test/src/asn1/test/TargetInformationTest.cs
index 7fa04cd01..022743aa8 100644
--- a/crypto/test/src/asn1/test/TargetInformationTest.cs
+++ b/crypto/test/src/asn1/test/TargetInformationTest.cs
@@ -41,7 +41,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new TargetInformationTest());
diff --git a/crypto/test/src/asn1/test/TypeOfBiometricDataUnitTest.cs b/crypto/test/src/asn1/test/TypeOfBiometricDataUnitTest.cs
index a59415c31..eb221ea20 100644
--- a/crypto/test/src/asn1/test/TypeOfBiometricDataUnitTest.cs
+++ b/crypto/test/src/asn1/test/TypeOfBiometricDataUnitTest.cs
@@ -135,7 +135,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             }
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             RunTest(new TypeOfBiometricDataUnitTest());
diff --git a/crypto/test/src/asn1/test/UTCTimeTest.cs b/crypto/test/src/asn1/test/UTCTimeTest.cs
index 07abbc911..a4a1c9941 100644
--- a/crypto/test/src/asn1/test/UTCTimeTest.cs
+++ b/crypto/test/src/asn1/test/UTCTimeTest.cs
@@ -105,7 +105,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new UtcTimeTest());
diff --git a/crypto/test/src/asn1/test/X509ExtensionsTest.cs b/crypto/test/src/asn1/test/X509ExtensionsTest.cs
index f1efd3a9b..468296c7f 100644
--- a/crypto/test/src/asn1/test/X509ExtensionsTest.cs
+++ b/crypto/test/src/asn1/test/X509ExtensionsTest.cs
@@ -100,7 +100,7 @@ namespace Org.BouncyCastle.Asn1.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new X509ExtensionsTest());
diff --git a/crypto/test/src/asn1/test/X509NameTest.cs b/crypto/test/src/asn1/test/X509NameTest.cs
index 9a564f72f..e8eda6851 100644
--- a/crypto/test/src/asn1/test/X509NameTest.cs
+++ b/crypto/test/src/asn1/test/X509NameTest.cs
@@ -654,7 +654,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             return true;
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new X509NameTest();
diff --git a/crypto/test/src/asn1/test/X9Test.cs b/crypto/test/src/asn1/test/X9Test.cs
index db2541f7c..f804a0adc 100644
--- a/crypto/test/src/asn1/test/X9Test.cs
+++ b/crypto/test/src/asn1/test/X9Test.cs
@@ -155,7 +155,7 @@ namespace Org.BouncyCastle.Asn1.Tests
             get { return "X9"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new X9Test());
diff --git a/crypto/test/src/cms/test/AllTests.cs b/crypto/test/src/cms/test/AllTests.cs
index b47374914..e11b79ebe 100644
--- a/crypto/test/src/cms/test/AllTests.cs
+++ b/crypto/test/src/cms/test/AllTests.cs
@@ -10,7 +10,7 @@ namespace Org.BouncyCastle.Cms.Tests
 {
     public class AllTests
     {
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/cms/test/AuthenticatedDataTest.cs b/crypto/test/src/cms/test/AuthenticatedDataTest.cs
index 0ad34a95b..f53af600f 100644
--- a/crypto/test/src/cms/test/AuthenticatedDataTest.cs
+++ b/crypto/test/src/cms/test/AuthenticatedDataTest.cs
@@ -124,7 +124,7 @@ namespace Org.BouncyCastle.Cms.Tests
 //		super(name);
 //		}
 //		
-//		public static void main(string args[])
+//		public static void MainOld(string args[])
 //		{
 //		junit.textui.TestRunner.run(AuthenticatedDataTest.class);
 //		}
diff --git a/crypto/test/src/cms/test/CMSTestUtil.cs b/crypto/test/src/cms/test/CMSTestUtil.cs
index 69f7c2983..ca94959d7 100644
--- a/crypto/test/src/cms/test/CMSTestUtil.cs
+++ b/crypto/test/src/cms/test/CMSTestUtil.cs
@@ -207,11 +207,11 @@ namespace Org.BouncyCastle.Cms.Tests
 			{
 				if (i + 64 < data.Length)
 				{
-					buf.Append(Encoding.Default.GetString(data, i, 64));
+					buf.Append(Encoding.ASCII.GetString(data, i, 64));
 				}
 				else
 				{
-					buf.Append(Encoding.Default.GetString(data, i, data.Length - i));
+					buf.Append(Encoding.ASCII.GetString(data, i, data.Length - i));
 				}
 				buf.Append('\n');
 			}
diff --git a/crypto/test/src/cms/test/EnvelopedDataStreamTest.cs b/crypto/test/src/cms/test/EnvelopedDataStreamTest.cs
index 8512f6622..39776e852 100644
--- a/crypto/test/src/cms/test/EnvelopedDataStreamTest.cs
+++ b/crypto/test/src/cms/test/EnvelopedDataStreamTest.cs
@@ -361,7 +361,7 @@ namespace Org.BouncyCastle.Cms.Tests
 		[Test]
 		public void TestKeyTransAes128()
 		{
-			byte[] data = Encoding.Default.GetBytes("WallaWallaWashington");
+			byte[] data = Encoding.ASCII.GetBytes("WallaWallaWashington");
 
 			CmsEnvelopedDataStreamGenerator edGen = new CmsEnvelopedDataStreamGenerator();
 
@@ -399,7 +399,7 @@ namespace Org.BouncyCastle.Cms.Tests
 		[Test]
 		public void TestAesKek()
 		{
-			byte[] data = Encoding.Default.GetBytes("WallaWallaWashington");
+			byte[] data = Encoding.ASCII.GetBytes("WallaWallaWashington");
 			KeyParameter kek = CmsTestUtil.MakeAes192Key();
 
 			CmsEnvelopedDataStreamGenerator edGen = new CmsEnvelopedDataStreamGenerator();
@@ -440,7 +440,7 @@ namespace Org.BouncyCastle.Cms.Tests
 		[Test]
 		public void TestTwoAesKek()
 		{
-			byte[] data = Encoding.Default.GetBytes("WallaWallaWashington");
+			byte[] data = Encoding.ASCII.GetBytes("WallaWallaWashington");
 			KeyParameter kek1 = CmsTestUtil.MakeAes192Key();
 			KeyParameter kek2 = CmsTestUtil.MakeAes192Key();
 
diff --git a/crypto/test/src/cms/test/EnvelopedDataTest.cs b/crypto/test/src/cms/test/EnvelopedDataTest.cs
index be588ef42..375c9a54b 100644
--- a/crypto/test/src/cms/test/EnvelopedDataTest.cs
+++ b/crypto/test/src/cms/test/EnvelopedDataTest.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections;
+using System.Reflection;
 using System.Text;
 
 using NUnit.Framework;
@@ -401,7 +402,7 @@ namespace Org.BouncyCastle.Cms.Tests
 
 			if (asn1Params != null)
 			{
-				Assert.IsTrue(asn1Params.IsInstanceOfType(ed.EncryptionAlgorithmID.Parameters));
+				Assert.IsTrue(asn1Params.GetTypeInfo().IsInstanceOfType(ed.EncryptionAlgorithmID.Parameters));
 			}
 
 			ArrayList c = new ArrayList(recipients.GetRecipients());
diff --git a/crypto/test/src/crypto/agreement/test/AllTests.cs b/crypto/test/src/crypto/agreement/test/AllTests.cs
index 66853b285..f37721d23 100644
--- a/crypto/test/src/crypto/agreement/test/AllTests.cs
+++ b/crypto/test/src/crypto/agreement/test/AllTests.cs
@@ -11,7 +11,7 @@ namespace Org.BouncyCastle.Crypto.Agreement.Tests
     [TestFixture]
     public class AllTests
     {
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/crypto/agreement/test/JPakeParticipantTest.cs b/crypto/test/src/crypto/agreement/test/JPakeParticipantTest.cs
index c84264aa5..e4be1d836 100644
--- a/crypto/test/src/crypto/agreement/test/JPakeParticipantTest.cs
+++ b/crypto/test/src/crypto/agreement/test/JPakeParticipantTest.cs
@@ -29,7 +29,7 @@ namespace Org.BouncyCastle.Crypto.Agreement.Tests
             get { return "JPakeParticipant"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new JPakeParticipantTest());
diff --git a/crypto/test/src/crypto/agreement/test/JPakePrimeOrderGroupTest.cs b/crypto/test/src/crypto/agreement/test/JPakePrimeOrderGroupTest.cs
index 0f089f93c..86e42f34a 100644
--- a/crypto/test/src/crypto/agreement/test/JPakePrimeOrderGroupTest.cs
+++ b/crypto/test/src/crypto/agreement/test/JPakePrimeOrderGroupTest.cs
@@ -22,7 +22,7 @@ namespace Org.BouncyCastle.Crypto.Agreement.Tests
             get { return "JPakePrimeOrderGroup"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new JPakePrimeOrderGroupTest());
diff --git a/crypto/test/src/crypto/agreement/test/JPakeUtilitiesTest.cs b/crypto/test/src/crypto/agreement/test/JPakeUtilitiesTest.cs
index 04a52cc06..eca1adfd8 100644
--- a/crypto/test/src/crypto/agreement/test/JPakeUtilitiesTest.cs
+++ b/crypto/test/src/crypto/agreement/test/JPakeUtilitiesTest.cs
@@ -32,7 +32,7 @@ namespace Org.BouncyCastle.Crypto.Agreement.Tests
             get { return "JPakeUtilities"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new JPakeUtilitiesTest());
diff --git a/crypto/test/src/crypto/io/test/AllTests.cs b/crypto/test/src/crypto/io/test/AllTests.cs
index 2634b4ab1..c87c77234 100644
--- a/crypto/test/src/crypto/io/test/AllTests.cs
+++ b/crypto/test/src/crypto/io/test/AllTests.cs
@@ -8,7 +8,7 @@ namespace Org.BouncyCastle.Crypto.IO.Tests
 {
 	public class AllTests
 	{
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/crypto/prng/test/CtrDrbgTest.cs b/crypto/test/src/crypto/prng/test/CtrDrbgTest.cs
index 4dc09f4e8..e7e03b888 100644
--- a/crypto/test/src/crypto/prng/test/CtrDrbgTest.cs
+++ b/crypto/test/src/crypto/prng/test/CtrDrbgTest.cs
@@ -23,7 +23,7 @@ namespace Org.BouncyCastle.Crypto.Prng.Test
             get { return "CTRDRBGTest"; }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new CtrDrbgTest());
         }
diff --git a/crypto/test/src/crypto/prng/test/HMacDrbgTest.cs b/crypto/test/src/crypto/prng/test/HMacDrbgTest.cs
index a5ca30836..79a1f62f6 100644
--- a/crypto/test/src/crypto/prng/test/HMacDrbgTest.cs
+++ b/crypto/test/src/crypto/prng/test/HMacDrbgTest.cs
@@ -22,7 +22,7 @@ namespace Org.BouncyCastle.Crypto.Prng.Test
             get { return "HMacDRBG"; }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new HMacDrbgTest());
         }
diff --git a/crypto/test/src/crypto/prng/test/HashDrbgTest.cs b/crypto/test/src/crypto/prng/test/HashDrbgTest.cs
index 892ca74da..f50cf3767 100644
--- a/crypto/test/src/crypto/prng/test/HashDrbgTest.cs
+++ b/crypto/test/src/crypto/prng/test/HashDrbgTest.cs
@@ -21,7 +21,7 @@ namespace Org.BouncyCastle.Crypto.Prng.Test
             get { return "HashDRBG"; }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new HashDrbgTest());
         }
diff --git a/crypto/test/src/crypto/prng/test/X931Test.cs b/crypto/test/src/crypto/prng/test/X931Test.cs
index 1132ea34a..38e129b32 100644
--- a/crypto/test/src/crypto/prng/test/X931Test.cs
+++ b/crypto/test/src/crypto/prng/test/X931Test.cs
@@ -23,7 +23,7 @@ namespace Org.BouncyCastle.Crypto.Prng.Test
             get { return "X931"; }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new X931Test());
         }
diff --git a/crypto/test/src/crypto/test/AESFastTest.cs b/crypto/test/src/crypto/test/AESFastTest.cs
index 5513a0e78..45e9c27ef 100644
--- a/crypto/test/src/crypto/test/AESFastTest.cs
+++ b/crypto/test/src/crypto/test/AESFastTest.cs
@@ -148,7 +148,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			AesFastTest test = new AesFastTest();
diff --git a/crypto/test/src/crypto/test/AESLightTest.cs b/crypto/test/src/crypto/test/AESLightTest.cs
index 0b5777ba1..8e5af07b0 100644
--- a/crypto/test/src/crypto/test/AESLightTest.cs
+++ b/crypto/test/src/crypto/test/AESLightTest.cs
@@ -148,7 +148,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			AesLightTest test = new AesLightTest();
diff --git a/crypto/test/src/crypto/test/AESTest.cs b/crypto/test/src/crypto/test/AESTest.cs
index 7b8fc34cf..03d7af7b8 100644
--- a/crypto/test/src/crypto/test/AESTest.cs
+++ b/crypto/test/src/crypto/test/AESTest.cs
@@ -158,7 +158,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
 	        string[] args)
         {
             AesTest test = new AesTest();
diff --git a/crypto/test/src/crypto/test/AESWrapTest.cs b/crypto/test/src/crypto/test/AESWrapTest.cs
index 11b46098e..bb47a7af7 100644
--- a/crypto/test/src/crypto/test/AESWrapTest.cs
+++ b/crypto/test/src/crypto/test/AESWrapTest.cs
@@ -194,7 +194,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new SimpleTestResult(true, Name + ": Okay");
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			AesWrapTest test = new AesWrapTest();
diff --git a/crypto/test/src/crypto/test/AllTests.cs b/crypto/test/src/crypto/test/AllTests.cs
index e7035a663..deb29ed72 100644
--- a/crypto/test/src/crypto/test/AllTests.cs
+++ b/crypto/test/src/crypto/test/AllTests.cs
@@ -13,7 +13,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 	public class AllTests
 	{
 #if !LIB
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
@@ -31,7 +31,7 @@ namespace Org.BouncyCastle.Crypto.Tests
         }
 #endif
 
-        [Test]
+		[Test]
 		public void TestCrypto()
 		{
 			foreach (Org.BouncyCastle.Utilities.Test.ITest test in RegressionTest.tests)
diff --git a/crypto/test/src/crypto/test/BCryptTest.cs b/crypto/test/src/crypto/test/BCryptTest.cs
index 2d9771d17..1d71f62af 100644
--- a/crypto/test/src/crypto/test/BCryptTest.cs
+++ b/crypto/test/src/crypto/test/BCryptTest.cs
@@ -145,7 +145,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
 		{
             RunTest(new BCryptTest());
 		}
diff --git a/crypto/test/src/crypto/test/BlowfishTest.cs b/crypto/test/src/crypto/test/BlowfishTest.cs
index 780dd3abd..3f5e79f6f 100644
--- a/crypto/test/src/crypto/test/BlowfishTest.cs
+++ b/crypto/test/src/crypto/test/BlowfishTest.cs
@@ -43,7 +43,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             Assert.AreEqual(Name + ": Okay", resultText);
         }
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
         {
             ITest test = new BlowfishTest();
diff --git a/crypto/test/src/crypto/test/CAST6Test.cs b/crypto/test/src/crypto/test/CAST6Test.cs
index 7517b6737..8e2a3fa93 100644
--- a/crypto/test/src/crypto/test/CAST6Test.cs
+++ b/crypto/test/src/crypto/test/CAST6Test.cs
@@ -39,7 +39,7 @@ namespace Org.BouncyCastle.Crypto.Tests
         {
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             ITest test = new Cast6Test();
diff --git a/crypto/test/src/crypto/test/CCMTest.cs b/crypto/test/src/crypto/test/CCMTest.cs
index 8c46e11e7..5cc9bc1b6 100644
--- a/crypto/test/src/crypto/test/CCMTest.cs
+++ b/crypto/test/src/crypto/test/CCMTest.cs
@@ -302,7 +302,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			Assert.AreEqual(Name + ": Okay", resultText);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new CcmTest());
diff --git a/crypto/test/src/crypto/test/CMacTest.cs b/crypto/test/src/crypto/test/CMacTest.cs
index 23ae7cb88..1e4154e77 100644
--- a/crypto/test/src/crypto/test/CMacTest.cs
+++ b/crypto/test/src/crypto/test/CMacTest.cs
@@ -285,7 +285,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             get { return "CMac"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new CMacTest());
diff --git a/crypto/test/src/crypto/test/CTSTest.cs b/crypto/test/src/crypto/test/CTSTest.cs
index 9d001bc68..90c9b2072 100644
--- a/crypto/test/src/crypto/test/CTSTest.cs
+++ b/crypto/test/src/crypto/test/CTSTest.cs
@@ -163,7 +163,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             CTSTest test = new CTSTest();
diff --git a/crypto/test/src/crypto/test/CamelliaLightTest.cs b/crypto/test/src/crypto/test/CamelliaLightTest.cs
index 2247178f2..2d9c74fc5 100644
--- a/crypto/test/src/crypto/test/CamelliaLightTest.cs
+++ b/crypto/test/src/crypto/test/CamelliaLightTest.cs
@@ -71,7 +71,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			Assert.AreEqual(Name + ": Okay", resultText);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new CamelliaLightTest());
diff --git a/crypto/test/src/crypto/test/CamelliaTest.cs b/crypto/test/src/crypto/test/CamelliaTest.cs
index a134546b7..f78fc228d 100644
--- a/crypto/test/src/crypto/test/CamelliaTest.cs
+++ b/crypto/test/src/crypto/test/CamelliaTest.cs
@@ -71,7 +71,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			Assert.AreEqual(Name + ": Okay", resultText);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new CamelliaTest());
diff --git a/crypto/test/src/crypto/test/Cast5Test.cs b/crypto/test/src/crypto/test/Cast5Test.cs
index ea2e0c540..bec1071f6 100644
--- a/crypto/test/src/crypto/test/Cast5Test.cs
+++ b/crypto/test/src/crypto/test/Cast5Test.cs
@@ -29,7 +29,7 @@ namespace Org.BouncyCastle.Crypto.Tests
         {
         }
 
-        public static void Main(
+        public static void MainOld(
 			string[] args)
         {
             ITest test = new Cast5Test();
diff --git a/crypto/test/src/crypto/test/ChaChaTest.cs b/crypto/test/src/crypto/test/ChaChaTest.cs
index 0b394c91e..187e1cd1e 100644
--- a/crypto/test/src/crypto/test/ChaChaTest.cs
+++ b/crypto/test/src/crypto/test/ChaChaTest.cs
@@ -302,7 +302,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new ChaChaTest());
diff --git a/crypto/test/src/crypto/test/DESTest.cs b/crypto/test/src/crypto/test/DESTest.cs
index cf1022eae..5a78adc94 100644
--- a/crypto/test/src/crypto/test/DESTest.cs
+++ b/crypto/test/src/crypto/test/DESTest.cs
@@ -197,7 +197,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "DES"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new DesTest());
diff --git a/crypto/test/src/crypto/test/DESedeTest.cs b/crypto/test/src/crypto/test/DESedeTest.cs
index aa61844f2..8bedf4ff8 100644
--- a/crypto/test/src/crypto/test/DESedeTest.cs
+++ b/crypto/test/src/crypto/test/DESedeTest.cs
@@ -170,7 +170,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "DESede"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new DesEdeTest());
diff --git a/crypto/test/src/crypto/test/DHKEKGeneratorTest.cs b/crypto/test/src/crypto/test/DHKEKGeneratorTest.cs
index eee408f97..967fcaf52 100644
--- a/crypto/test/src/crypto/test/DHKEKGeneratorTest.cs
+++ b/crypto/test/src/crypto/test/DHKEKGeneratorTest.cs
@@ -62,7 +62,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "DHKekGenerator"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new DHKekGeneratorTest());
diff --git a/crypto/test/src/crypto/test/DHTest.cs b/crypto/test/src/crypto/test/DHTest.cs
index b460f41a5..54bdd3147 100644
--- a/crypto/test/src/crypto/test/DHTest.cs
+++ b/crypto/test/src/crypto/test/DHTest.cs
@@ -383,7 +383,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new DHTest();
diff --git a/crypto/test/src/crypto/test/DSATest.cs b/crypto/test/src/crypto/test/DSATest.cs
index 0e6367150..e679bd971 100644
--- a/crypto/test/src/crypto/test/DSATest.cs
+++ b/crypto/test/src/crypto/test/DSATest.cs
@@ -574,7 +574,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new DsaTest());
diff --git a/crypto/test/src/crypto/test/DSTU7564Test.cs b/crypto/test/src/crypto/test/DSTU7564Test.cs
index 805d3c8ab..c89962653 100644
--- a/crypto/test/src/crypto/test/DSTU7564Test.cs
+++ b/crypto/test/src/crypto/test/DSTU7564Test.cs
@@ -614,7 +614,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new Dstu7564Digest((Dstu7564Digest)digest);
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new Dstu7564Test());
         }
diff --git a/crypto/test/src/crypto/test/DSTU7624Test.cs b/crypto/test/src/crypto/test/DSTU7624Test.cs
index 234474db6..1f8dc8782 100644
--- a/crypto/test/src/crypto/test/DSTU7624Test.cs
+++ b/crypto/test/src/crypto/test/DSTU7624Test.cs
@@ -723,7 +723,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             get { return "Dstu7624"; }
         }
 
-        public static void Main(
+        public static void MainOld(
            string[] args)
         {
             Dstu7624Test test = new Dstu7624Test();
diff --git a/crypto/test/src/crypto/test/DeterministicDSATest.cs b/crypto/test/src/crypto/test/DeterministicDSATest.cs
index 914a770bd..63773e69a 100644
--- a/crypto/test/src/crypto/test/DeterministicDSATest.cs
+++ b/crypto/test/src/crypto/test/DeterministicDSATest.cs
@@ -494,7 +494,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             TestECHMacDeterministic();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new DeterministicDsaTest());
diff --git a/crypto/test/src/crypto/test/DigestRandomNumberTest.cs b/crypto/test/src/crypto/test/DigestRandomNumberTest.cs
index cee2e354e..1161e2bc5 100644
--- a/crypto/test/src/crypto/test/DigestRandomNumberTest.cs
+++ b/crypto/test/src/crypto/test/DigestRandomNumberTest.cs
@@ -154,7 +154,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			Assert.AreEqual(Name + ": Okay", resultText);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new DigestRandomNumberTest());
diff --git a/crypto/test/src/crypto/test/EAXTest.cs b/crypto/test/src/crypto/test/EAXTest.cs
index 838f26a1b..93c9f45b0 100644
--- a/crypto/test/src/crypto/test/EAXTest.cs
+++ b/crypto/test/src/crypto/test/EAXTest.cs
@@ -335,7 +335,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new EaxTest());
diff --git a/crypto/test/src/crypto/test/ECDHKEKGeneratorTest.cs b/crypto/test/src/crypto/test/ECDHKEKGeneratorTest.cs
index 250b2ca22..08db81723 100644
--- a/crypto/test/src/crypto/test/ECDHKEKGeneratorTest.cs
+++ b/crypto/test/src/crypto/test/ECDHKEKGeneratorTest.cs
@@ -63,7 +63,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "ECDHKekGenerator"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ECDHKekGeneratorTest());
diff --git a/crypto/test/src/crypto/test/ECGOST3410Test.cs b/crypto/test/src/crypto/test/ECGOST3410Test.cs
index 37cb23ecf..5efa75169 100644
--- a/crypto/test/src/crypto/test/ECGOST3410Test.cs
+++ b/crypto/test/src/crypto/test/ECGOST3410Test.cs
@@ -325,7 +325,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             ecGOST3410_CParam();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ECGost3410Test test = new ECGost3410Test();
diff --git a/crypto/test/src/crypto/test/ECIESTest.cs b/crypto/test/src/crypto/test/ECIESTest.cs
index e8cfd6df4..f17e6957a 100644
--- a/crypto/test/src/crypto/test/ECIESTest.cs
+++ b/crypto/test/src/crypto/test/ECIESTest.cs
@@ -235,7 +235,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             DoTest(p1, p2);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new EcIesTest());
diff --git a/crypto/test/src/crypto/test/ECNRTest.cs b/crypto/test/src/crypto/test/ECNRTest.cs
index 5eae9f097..180b33560 100644
--- a/crypto/test/src/crypto/test/ECNRTest.cs
+++ b/crypto/test/src/crypto/test/ECNRTest.cs
@@ -98,7 +98,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             ecNR239bitPrime();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             EcNrTest test = new EcNrTest();
diff --git a/crypto/test/src/crypto/test/ECTest.cs b/crypto/test/src/crypto/test/ECTest.cs
index 5697f41eb..980d04d6c 100644
--- a/crypto/test/src/crypto/test/ECTest.cs
+++ b/crypto/test/src/crypto/test/ECTest.cs
@@ -923,7 +923,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             TestECMqvRandom();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new ECTest());
diff --git a/crypto/test/src/crypto/test/ElGamalTest.cs b/crypto/test/src/crypto/test/ElGamalTest.cs
index 1caa70387..02d723d08 100644
--- a/crypto/test/src/crypto/test/ElGamalTest.cs
+++ b/crypto/test/src/crypto/test/ElGamalTest.cs
@@ -269,7 +269,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			TestInitCheck();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ElGamalTest());
diff --git a/crypto/test/src/crypto/test/EqualsHashCodeTest.cs b/crypto/test/src/crypto/test/EqualsHashCodeTest.cs
index 05cc9ad53..8933afbcf 100644
--- a/crypto/test/src/crypto/test/EqualsHashCodeTest.cs
+++ b/crypto/test/src/crypto/test/EqualsHashCodeTest.cs
@@ -253,7 +253,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			TestDsa();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new EqualsHashCodeTest());
diff --git a/crypto/test/src/crypto/test/GCMTest.cs b/crypto/test/src/crypto/test/GCMTest.cs
index e5e5fc43e..b6b919623 100644
--- a/crypto/test/src/crypto/test/GCMTest.cs
+++ b/crypto/test/src/crypto/test/GCMTest.cs
@@ -728,7 +728,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return value;
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new GcmTest());
diff --git a/crypto/test/src/crypto/test/GMacTest.cs b/crypto/test/src/crypto/test/GMacTest.cs
index 0b37e1a03..72d3a556b 100644
--- a/crypto/test/src/crypto/test/GMacTest.cs
+++ b/crypto/test/src/crypto/test/GMacTest.cs
@@ -174,7 +174,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             get { return "GMac"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new GMacTest());
diff --git a/crypto/test/src/crypto/test/GOST28147MacTest.cs b/crypto/test/src/crypto/test/GOST28147MacTest.cs
index 5f3188f48..e4129ce4f 100644
--- a/crypto/test/src/crypto/test/GOST28147MacTest.cs
+++ b/crypto/test/src/crypto/test/GOST28147MacTest.cs
@@ -85,7 +85,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "Gost28147Mac"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new Gost28147MacTest();
diff --git a/crypto/test/src/crypto/test/GOST28147Test.cs b/crypto/test/src/crypto/test/GOST28147Test.cs
index 865dcc2a7..bd1e77cd3 100644
--- a/crypto/test/src/crypto/test/GOST28147Test.cs
+++ b/crypto/test/src/crypto/test/GOST28147Test.cs
@@ -357,7 +357,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "Gost28147"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new Gost28147Test();
diff --git a/crypto/test/src/crypto/test/GOST3410Test.cs b/crypto/test/src/crypto/test/GOST3410Test.cs
index f54662770..b43f432b5 100644
--- a/crypto/test/src/crypto/test/GOST3410Test.cs
+++ b/crypto/test/src/crypto/test/GOST3410Test.cs
@@ -1584,7 +1584,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new SimpleTestResult(true, "Gost3410: Okay");
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new Gost3410Test();
diff --git a/crypto/test/src/crypto/test/GOST3411DigestTest.cs b/crypto/test/src/crypto/test/GOST3411DigestTest.cs
index 329a158d6..64494287b 100644
--- a/crypto/test/src/crypto/test/GOST3411DigestTest.cs
+++ b/crypto/test/src/crypto/test/GOST3411DigestTest.cs
@@ -75,7 +75,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new Gost3411Digest((Gost3411Digest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new Gost3411DigestTest();
diff --git a/crypto/test/src/crypto/test/HCFamilyTest.cs b/crypto/test/src/crypto/test/HCFamilyTest.cs
index 0904bc9eb..f5039ae06 100644
--- a/crypto/test/src/crypto/test/HCFamilyTest.cs
+++ b/crypto/test/src/crypto/test/HCFamilyTest.cs
@@ -184,7 +184,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(string[] args)
+		public static void MainOld(string[] args)
 		{
 			RunTest(new HCFamilyTest());
 		}
diff --git a/crypto/test/src/crypto/test/HCFamilyVecTest.cs b/crypto/test/src/crypto/test/HCFamilyVecTest.cs
index 00b0ee75c..5fcaabc90 100644
--- a/crypto/test/src/crypto/test/HCFamilyVecTest.cs
+++ b/crypto/test/src/crypto/test/HCFamilyVecTest.cs
@@ -168,7 +168,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new HCFamilyVecTest());
diff --git a/crypto/test/src/crypto/test/HKDFGeneratorTest.cs b/crypto/test/src/crypto/test/HKDFGeneratorTest.cs
index d6e2149df..ff9927e17 100644
--- a/crypto/test/src/crypto/test/HKDFGeneratorTest.cs
+++ b/crypto/test/src/crypto/test/HKDFGeneratorTest.cs
@@ -294,7 +294,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             get { return "HKDF"; }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new HkdfGeneratorTest());
         }
diff --git a/crypto/test/src/crypto/test/IDEATest.cs b/crypto/test/src/crypto/test/IDEATest.cs
index fbbd1ae17..daea4689c 100644
--- a/crypto/test/src/crypto/test/IDEATest.cs
+++ b/crypto/test/src/crypto/test/IDEATest.cs
@@ -35,7 +35,7 @@ namespace Org.BouncyCastle.Crypto.Tests
         {
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new IdeaTest();
diff --git a/crypto/test/src/crypto/test/ISAACTest.cs b/crypto/test/src/crypto/test/ISAACTest.cs
index 1782bbc98..e961aa326 100644
--- a/crypto/test/src/crypto/test/ISAACTest.cs
+++ b/crypto/test/src/crypto/test/ISAACTest.cs
@@ -180,7 +180,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new IsaacTest());
diff --git a/crypto/test/src/crypto/test/ISO9796Test.cs b/crypto/test/src/crypto/test/ISO9796Test.cs
index 562238bca..6afd1f988 100644
--- a/crypto/test/src/crypto/test/ISO9796Test.cs
+++ b/crypto/test/src/crypto/test/ISO9796Test.cs
@@ -952,7 +952,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             DoFullMessageTest();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new ISO9796Test());
diff --git a/crypto/test/src/crypto/test/ISO9797Alg3MacTest.cs b/crypto/test/src/crypto/test/ISO9797Alg3MacTest.cs
index 9d5d8b6b7..e1aa13d0c 100644
--- a/crypto/test/src/crypto/test/ISO9797Alg3MacTest.cs
+++ b/crypto/test/src/crypto/test/ISO9797Alg3MacTest.cs
@@ -79,7 +79,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ISO9797Alg3MacTest test = new ISO9797Alg3MacTest();
diff --git a/crypto/test/src/crypto/test/KDF1GeneratorTest.cs b/crypto/test/src/crypto/test/KDF1GeneratorTest.cs
index 89c8d5453..9fb8bf20b 100644
--- a/crypto/test/src/crypto/test/KDF1GeneratorTest.cs
+++ b/crypto/test/src/crypto/test/KDF1GeneratorTest.cs
@@ -86,7 +86,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "KDF1"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Kdf1GeneratorTest());
diff --git a/crypto/test/src/crypto/test/KDF2GeneratorTest.cs b/crypto/test/src/crypto/test/KDF2GeneratorTest.cs
index e184e0b40..2eb1fe13a 100644
--- a/crypto/test/src/crypto/test/KDF2GeneratorTest.cs
+++ b/crypto/test/src/crypto/test/KDF2GeneratorTest.cs
@@ -98,7 +98,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "KDF2"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Kdf2GeneratorTest());
diff --git a/crypto/test/src/crypto/test/KeccakDigestTest.cs b/crypto/test/src/crypto/test/KeccakDigestTest.cs
index 961a5d2e3..9ae3ee820 100644
--- a/crypto/test/src/crypto/test/KeccakDigestTest.cs
+++ b/crypto/test/src/crypto/test/KeccakDigestTest.cs
@@ -357,7 +357,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new KeccakDigest((KeccakDigest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new KeccakDigestTest());
diff --git a/crypto/test/src/crypto/test/MD2DigestTest.cs b/crypto/test/src/crypto/test/MD2DigestTest.cs
index 4f4da516b..9af339a7f 100644
--- a/crypto/test/src/crypto/test/MD2DigestTest.cs
+++ b/crypto/test/src/crypto/test/MD2DigestTest.cs
@@ -50,7 +50,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new MD2Digest((MD2Digest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new MD2DigestTest());
diff --git a/crypto/test/src/crypto/test/MD4DigestTest.cs b/crypto/test/src/crypto/test/MD4DigestTest.cs
index 4fd4e0931..277e00467 100644
--- a/crypto/test/src/crypto/test/MD4DigestTest.cs
+++ b/crypto/test/src/crypto/test/MD4DigestTest.cs
@@ -42,7 +42,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new MD4Digest((MD4Digest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new MD4DigestTest());
diff --git a/crypto/test/src/crypto/test/MD5DigestTest.cs b/crypto/test/src/crypto/test/MD5DigestTest.cs
index cc914165c..a19b4fcfe 100644
--- a/crypto/test/src/crypto/test/MD5DigestTest.cs
+++ b/crypto/test/src/crypto/test/MD5DigestTest.cs
@@ -42,7 +42,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new MD5Digest((MD5Digest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new MD5DigestTest());
diff --git a/crypto/test/src/crypto/test/MD5HMacTest.cs b/crypto/test/src/crypto/test/MD5HMacTest.cs
index 101b8be3c..23eb8a69c 100644
--- a/crypto/test/src/crypto/test/MD5HMacTest.cs
+++ b/crypto/test/src/crypto/test/MD5HMacTest.cs
@@ -71,7 +71,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new SimpleTestResult(true, Name + ": Okay");
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             ITest test = new MD5HMacTest();
diff --git a/crypto/test/src/crypto/test/MGF1GeneratorTest.cs b/crypto/test/src/crypto/test/MGF1GeneratorTest.cs
index ee67ffa1c..058daef7c 100644
--- a/crypto/test/src/crypto/test/MGF1GeneratorTest.cs
+++ b/crypto/test/src/crypto/test/MGF1GeneratorTest.cs
@@ -86,7 +86,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "MGF1"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Mgf1GeneratorTest());
diff --git a/crypto/test/src/crypto/test/MacTest.cs b/crypto/test/src/crypto/test/MacTest.cs
index 9a58f8a8c..08faa0594 100644
--- a/crypto/test/src/crypto/test/MacTest.cs
+++ b/crypto/test/src/crypto/test/MacTest.cs
@@ -180,7 +180,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             MacTest test = new MacTest();
diff --git a/crypto/test/src/crypto/test/ModeTest.cs b/crypto/test/src/crypto/test/ModeTest.cs
index c67dce094..84b334d5e 100644
--- a/crypto/test/src/crypto/test/ModeTest.cs
+++ b/crypto/test/src/crypto/test/ModeTest.cs
@@ -88,7 +88,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new SimpleTestResult(true, Name + ": Okay");
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new ModeTest();
diff --git a/crypto/test/src/crypto/test/NaccacheSternTest.cs b/crypto/test/src/crypto/test/NaccacheSternTest.cs
index 9168adced..85d315e44 100644
--- a/crypto/test/src/crypto/test/NaccacheSternTest.cs
+++ b/crypto/test/src/crypto/test/NaccacheSternTest.cs
@@ -339,7 +339,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			Assert.AreEqual(Name + ": Okay", resultText);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new NaccacheSternTest();
diff --git a/crypto/test/src/crypto/test/NoekeonTest.cs b/crypto/test/src/crypto/test/NoekeonTest.cs
index b6fff70ce..b23fa4b30 100644
--- a/crypto/test/src/crypto/test/NoekeonTest.cs
+++ b/crypto/test/src/crypto/test/NoekeonTest.cs
@@ -42,7 +42,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "Noekeon"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new NoekeonTest());
diff --git a/crypto/test/src/crypto/test/NonMemoableDigestTest.cs b/crypto/test/src/crypto/test/NonMemoableDigestTest.cs
index e6b329e88..66428f25e 100644
--- a/crypto/test/src/crypto/test/NonMemoableDigestTest.cs
+++ b/crypto/test/src/crypto/test/NonMemoableDigestTest.cs
@@ -102,7 +102,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
 			string[] args)
 		{
 			RunTest(new NonMemoableDigestTest());
diff --git a/crypto/test/src/crypto/test/NullTest.cs b/crypto/test/src/crypto/test/NullTest.cs
index 16a51808f..76bfbf90f 100644
--- a/crypto/test/src/crypto/test/NullTest.cs
+++ b/crypto/test/src/crypto/test/NullTest.cs
@@ -71,7 +71,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new NullTest());
diff --git a/crypto/test/src/crypto/test/OAEPTest.cs b/crypto/test/src/crypto/test/OAEPTest.cs
index bc1dd9292..39af21137 100644
--- a/crypto/test/src/crypto/test/OAEPTest.cs
+++ b/crypto/test/src/crypto/test/OAEPTest.cs
@@ -822,7 +822,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new OaepTest());
diff --git a/crypto/test/src/crypto/test/OCBTest.cs b/crypto/test/src/crypto/test/OCBTest.cs
index 9f898fbe2..5e141da3a 100644
--- a/crypto/test/src/crypto/test/OCBTest.cs
+++ b/crypto/test/src/crypto/test/OCBTest.cs
@@ -498,7 +498,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return value;
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new OcbTest());
diff --git a/crypto/test/src/crypto/test/OpenBsdBCryptTest.cs b/crypto/test/src/crypto/test/OpenBsdBCryptTest.cs
index 8501588ee..bf10fe144 100644
--- a/crypto/test/src/crypto/test/OpenBsdBCryptTest.cs
+++ b/crypto/test/src/crypto/test/OpenBsdBCryptTest.cs
@@ -131,7 +131,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new OpenBsdBCryptTest());
         }
diff --git a/crypto/test/src/crypto/test/PSSBlindTest.cs b/crypto/test/src/crypto/test/PSSBlindTest.cs
index d887a8f08..b886bbf53 100644
--- a/crypto/test/src/crypto/test/PSSBlindTest.cs
+++ b/crypto/test/src/crypto/test/PSSBlindTest.cs
@@ -382,7 +382,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PssBlindTest());
diff --git a/crypto/test/src/crypto/test/PSSTest.cs b/crypto/test/src/crypto/test/PSSTest.cs
index 8578d254f..e85738f37 100644
--- a/crypto/test/src/crypto/test/PSSTest.cs
+++ b/crypto/test/src/crypto/test/PSSTest.cs
@@ -357,7 +357,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PssTest());
diff --git a/crypto/test/src/crypto/test/PaddingTest.cs b/crypto/test/src/crypto/test/PaddingTest.cs
index ed53d9228..e01e56ccb 100644
--- a/crypto/test/src/crypto/test/PaddingTest.cs
+++ b/crypto/test/src/crypto/test/PaddingTest.cs
@@ -152,7 +152,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "PaddingTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PaddingTest());
diff --git a/crypto/test/src/crypto/test/Pkcs12Test.cs b/crypto/test/src/crypto/test/Pkcs12Test.cs
index 29d5a3942..b5eac07e9 100644
--- a/crypto/test/src/crypto/test/Pkcs12Test.cs
+++ b/crypto/test/src/crypto/test/Pkcs12Test.cs
@@ -84,7 +84,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			Run3(10, password2, Hex.Decode("263216FCC2FAB31C"), 1000, Hex.Decode("5EC4C7A80DF652294C3925B6489A7AB857C83476"));
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Pkcs12Test());
diff --git a/crypto/test/src/crypto/test/Pkcs5Test.cs b/crypto/test/src/crypto/test/Pkcs5Test.cs
index fdf1e7a66..8147da263 100644
--- a/crypto/test/src/crypto/test/Pkcs5Test.cs
+++ b/crypto/test/src/crypto/test/Pkcs5Test.cs
@@ -218,7 +218,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new Pkcs5Test());
diff --git a/crypto/test/src/crypto/test/Poly1305Test.cs b/crypto/test/src/crypto/test/Poly1305Test.cs
index 7aaceb99e..8b48c40d5 100644
--- a/crypto/test/src/crypto/test/Poly1305Test.cs
+++ b/crypto/test/src/crypto/test/Poly1305Test.cs
@@ -502,7 +502,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
        }
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Poly1305Test());
diff --git a/crypto/test/src/crypto/test/RC2Test.cs b/crypto/test/src/crypto/test/RC2Test.cs
index 177c1817d..8b1e16fc4 100644
--- a/crypto/test/src/crypto/test/RC2Test.cs
+++ b/crypto/test/src/crypto/test/RC2Test.cs
@@ -38,7 +38,7 @@ namespace Org.BouncyCastle.Crypto.Tests
         {
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             ITest test = new RC2Test();
diff --git a/crypto/test/src/crypto/test/RC2WrapTest.cs b/crypto/test/src/crypto/test/RC2WrapTest.cs
index fc27acd2c..f18e623cd 100644
--- a/crypto/test/src/crypto/test/RC2WrapTest.cs
+++ b/crypto/test/src/crypto/test/RC2WrapTest.cs
@@ -103,7 +103,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "RC2Wrap"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new RC2WrapTest();
diff --git a/crypto/test/src/crypto/test/RC4Test.cs b/crypto/test/src/crypto/test/RC4Test.cs
index 7c1ac9162..0994cbee6 100644
--- a/crypto/test/src/crypto/test/RC4Test.cs
+++ b/crypto/test/src/crypto/test/RC4Test.cs
@@ -39,7 +39,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new SimpleTestResult(true, Name + ": Okay");
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             ITest test = new RC4Test();
diff --git a/crypto/test/src/crypto/test/RC5Test.cs b/crypto/test/src/crypto/test/RC5Test.cs
index e50878a0e..1a408d9a9 100644
--- a/crypto/test/src/crypto/test/RC5Test.cs
+++ b/crypto/test/src/crypto/test/RC5Test.cs
@@ -181,7 +181,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RC5Test test = new RC5Test();
diff --git a/crypto/test/src/crypto/test/RC6Test.cs b/crypto/test/src/crypto/test/RC6Test.cs
index 4f59ec4e9..b95528fa5 100644
--- a/crypto/test/src/crypto/test/RC6Test.cs
+++ b/crypto/test/src/crypto/test/RC6Test.cs
@@ -34,7 +34,7 @@ namespace Org.BouncyCastle.Crypto.Tests
         {
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new RC6Test();
diff --git a/crypto/test/src/crypto/test/RFC3211WrapTest.cs b/crypto/test/src/crypto/test/RFC3211WrapTest.cs
index bdef7c999..c129bc896 100644
--- a/crypto/test/src/crypto/test/RFC3211WrapTest.cs
+++ b/crypto/test/src/crypto/test/RFC3211WrapTest.cs
@@ -199,7 +199,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Rfc3211WrapTest());
diff --git a/crypto/test/src/crypto/test/RSABlindedTest.cs b/crypto/test/src/crypto/test/RSABlindedTest.cs
index 75b9f3a07..c353e6eff 100644
--- a/crypto/test/src/crypto/test/RSABlindedTest.cs
+++ b/crypto/test/src/crypto/test/RSABlindedTest.cs
@@ -429,7 +429,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new RsaBlindedTest();
diff --git a/crypto/test/src/crypto/test/RegressionTest.cs b/crypto/test/src/crypto/test/RegressionTest.cs
index 13fe23ecc..1e2255147 100644
--- a/crypto/test/src/crypto/test/RegressionTest.cs
+++ b/crypto/test/src/crypto/test/RegressionTest.cs
@@ -135,7 +135,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             new SM2SignerTest(),
         };
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             foreach (ITest test in tests)
             {
diff --git a/crypto/test/src/crypto/test/RijndaelTest.cs b/crypto/test/src/crypto/test/RijndaelTest.cs
index f714c83eb..dc94a33af 100644
--- a/crypto/test/src/crypto/test/RijndaelTest.cs
+++ b/crypto/test/src/crypto/test/RijndaelTest.cs
@@ -114,7 +114,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "Rijndael"; }
         }
 
-        public static void Main(
+        public static void MainOld(
 			string[] args)
         {
             ITest test = new RijndaelTest();
diff --git a/crypto/test/src/crypto/test/RipeMD128DigestTest.cs b/crypto/test/src/crypto/test/RipeMD128DigestTest.cs
index ead4f06ad..6ef60e3e3 100644
--- a/crypto/test/src/crypto/test/RipeMD128DigestTest.cs
+++ b/crypto/test/src/crypto/test/RipeMD128DigestTest.cs
@@ -57,7 +57,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new RipeMD128Digest((RipeMD128Digest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new RipeMD128DigestTest());
diff --git a/crypto/test/src/crypto/test/RipeMD128HMacTest.cs b/crypto/test/src/crypto/test/RipeMD128HMacTest.cs
index 2f6a2d979..84e035124 100644
--- a/crypto/test/src/crypto/test/RipeMD128HMacTest.cs
+++ b/crypto/test/src/crypto/test/RipeMD128HMacTest.cs
@@ -80,7 +80,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new RipeMD128HMacTest();
diff --git a/crypto/test/src/crypto/test/RipeMD160DigestTest.cs b/crypto/test/src/crypto/test/RipeMD160DigestTest.cs
index 15e53f2a0..62aba33dd 100644
--- a/crypto/test/src/crypto/test/RipeMD160DigestTest.cs
+++ b/crypto/test/src/crypto/test/RipeMD160DigestTest.cs
@@ -57,7 +57,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new RipeMD160Digest((RipeMD160Digest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new RipeMD160DigestTest());
diff --git a/crypto/test/src/crypto/test/RipeMD160HMacTest.cs b/crypto/test/src/crypto/test/RipeMD160HMacTest.cs
index cc87a535f..2ddb2c7a3 100644
--- a/crypto/test/src/crypto/test/RipeMD160HMacTest.cs
+++ b/crypto/test/src/crypto/test/RipeMD160HMacTest.cs
@@ -81,7 +81,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new RipeMD160HMacTest();
diff --git a/crypto/test/src/crypto/test/RipeMD256DigestTest.cs b/crypto/test/src/crypto/test/RipeMD256DigestTest.cs
index 5b3e6b10b..5a8a083c8 100644
--- a/crypto/test/src/crypto/test/RipeMD256DigestTest.cs
+++ b/crypto/test/src/crypto/test/RipeMD256DigestTest.cs
@@ -57,7 +57,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new RipeMD256Digest((RipeMD256Digest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new RipeMD256DigestTest());
diff --git a/crypto/test/src/crypto/test/RipeMD320DigestTest.cs b/crypto/test/src/crypto/test/RipeMD320DigestTest.cs
index 047d68aa7..249c1aa9c 100644
--- a/crypto/test/src/crypto/test/RipeMD320DigestTest.cs
+++ b/crypto/test/src/crypto/test/RipeMD320DigestTest.cs
@@ -57,7 +57,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new RipeMD320Digest((RipeMD320Digest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new RipeMD320DigestTest());
diff --git a/crypto/test/src/crypto/test/RsaTest.cs b/crypto/test/src/crypto/test/RsaTest.cs
index ace60b237..db9851c06 100644
--- a/crypto/test/src/crypto/test/RsaTest.cs
+++ b/crypto/test/src/crypto/test/RsaTest.cs
@@ -744,7 +744,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new RsaTest();
diff --git a/crypto/test/src/crypto/test/SCryptTest.cs b/crypto/test/src/crypto/test/SCryptTest.cs
index 82bc60880..ea9dda9b1 100644
--- a/crypto/test/src/crypto/test/SCryptTest.cs
+++ b/crypto/test/src/crypto/test/SCryptTest.cs
@@ -134,7 +134,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return int.Parse(arg.Trim());
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SCryptTest());
diff --git a/crypto/test/src/crypto/test/SEEDTest.cs b/crypto/test/src/crypto/test/SEEDTest.cs
index 2fcb242cc..230e16c61 100644
--- a/crypto/test/src/crypto/test/SEEDTest.cs
+++ b/crypto/test/src/crypto/test/SEEDTest.cs
@@ -48,7 +48,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "SEED"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SeedTest());
diff --git a/crypto/test/src/crypto/test/SHA1DigestTest.cs b/crypto/test/src/crypto/test/SHA1DigestTest.cs
index 318035b0c..0da6f4173 100644
--- a/crypto/test/src/crypto/test/SHA1DigestTest.cs
+++ b/crypto/test/src/crypto/test/SHA1DigestTest.cs
@@ -40,7 +40,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new Sha1Digest((Sha1Digest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Sha1DigestTest());
diff --git a/crypto/test/src/crypto/test/SHA1HMacTest.cs b/crypto/test/src/crypto/test/SHA1HMacTest.cs
index 865f5b58b..f7d7ffba4 100644
--- a/crypto/test/src/crypto/test/SHA1HMacTest.cs
+++ b/crypto/test/src/crypto/test/SHA1HMacTest.cs
@@ -73,7 +73,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new Sha1HMacTest();
diff --git a/crypto/test/src/crypto/test/SHA224DigestTest.cs b/crypto/test/src/crypto/test/SHA224DigestTest.cs
index 9469b651b..5d6ee1267 100644
--- a/crypto/test/src/crypto/test/SHA224DigestTest.cs
+++ b/crypto/test/src/crypto/test/SHA224DigestTest.cs
@@ -53,7 +53,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new Sha224Digest((Sha224Digest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Sha224DigestTest());
diff --git a/crypto/test/src/crypto/test/SHA224HMacTest.cs b/crypto/test/src/crypto/test/SHA224HMacTest.cs
index 06c6ea1cb..8cf0bec86 100644
--- a/crypto/test/src/crypto/test/SHA224HMacTest.cs
+++ b/crypto/test/src/crypto/test/SHA224HMacTest.cs
@@ -102,7 +102,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new Sha224HMacTest();
diff --git a/crypto/test/src/crypto/test/SHA256DigestTest.cs b/crypto/test/src/crypto/test/SHA256DigestTest.cs
index d2ae89e56..aa5589d42 100644
--- a/crypto/test/src/crypto/test/SHA256DigestTest.cs
+++ b/crypto/test/src/crypto/test/SHA256DigestTest.cs
@@ -54,7 +54,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new Sha256Digest((Sha256Digest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new Sha256DigestTest());
diff --git a/crypto/test/src/crypto/test/SHA256HMacTest.cs b/crypto/test/src/crypto/test/SHA256HMacTest.cs
index a9016af21..103bdf1c8 100644
--- a/crypto/test/src/crypto/test/SHA256HMacTest.cs
+++ b/crypto/test/src/crypto/test/SHA256HMacTest.cs
@@ -102,7 +102,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new Sha256HMacTest();
diff --git a/crypto/test/src/crypto/test/SHA384DigestTest.cs b/crypto/test/src/crypto/test/SHA384DigestTest.cs
index 99363ac5a..d98ed19dc 100644
--- a/crypto/test/src/crypto/test/SHA384DigestTest.cs
+++ b/crypto/test/src/crypto/test/SHA384DigestTest.cs
@@ -53,7 +53,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new Sha384Digest((Sha384Digest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new Sha384DigestTest());
diff --git a/crypto/test/src/crypto/test/SHA384HMacTest.cs b/crypto/test/src/crypto/test/SHA384HMacTest.cs
index 0caba12c4..0b6d17256 100644
--- a/crypto/test/src/crypto/test/SHA384HMacTest.cs
+++ b/crypto/test/src/crypto/test/SHA384HMacTest.cs
@@ -102,7 +102,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new Sha384HMacTest();
diff --git a/crypto/test/src/crypto/test/SHA3DigestTest.cs b/crypto/test/src/crypto/test/SHA3DigestTest.cs
index 71f51f43b..8faf184f9 100644
--- a/crypto/test/src/crypto/test/SHA3DigestTest.cs
+++ b/crypto/test/src/crypto/test/SHA3DigestTest.cs
@@ -229,7 +229,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return s;
         }
 
-        public static void Main(
+        public static void MainOld(
             string[]    args)
         {
             RunTest(new Sha3DigestTest());
diff --git a/crypto/test/src/crypto/test/SHA512DigestTest.cs b/crypto/test/src/crypto/test/SHA512DigestTest.cs
index d4f56e15e..c2020e82e 100644
--- a/crypto/test/src/crypto/test/SHA512DigestTest.cs
+++ b/crypto/test/src/crypto/test/SHA512DigestTest.cs
@@ -53,7 +53,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new Sha512Digest((Sha512Digest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Sha512DigestTest());
diff --git a/crypto/test/src/crypto/test/SHA512HMacTest.cs b/crypto/test/src/crypto/test/SHA512HMacTest.cs
index c091a7220..b42080e89 100644
--- a/crypto/test/src/crypto/test/SHA512HMacTest.cs
+++ b/crypto/test/src/crypto/test/SHA512HMacTest.cs
@@ -103,7 +103,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new SimpleTestResult(true, Name + ": Okay");
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             ITest test = new Sha512HMacTest();
diff --git a/crypto/test/src/crypto/test/SHA512t224DigestTest.cs b/crypto/test/src/crypto/test/SHA512t224DigestTest.cs
index a3d68e1ab..81ef2498c 100644
--- a/crypto/test/src/crypto/test/SHA512t224DigestTest.cs
+++ b/crypto/test/src/crypto/test/SHA512t224DigestTest.cs
@@ -53,7 +53,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new Sha512tDigest((Sha512tDigest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[]    args)
         {
             RunTest(new Sha512t224DigestTest());
diff --git a/crypto/test/src/crypto/test/SHA512t256DigestTest.cs b/crypto/test/src/crypto/test/SHA512t256DigestTest.cs
index c957aa660..fec453a22 100644
--- a/crypto/test/src/crypto/test/SHA512t256DigestTest.cs
+++ b/crypto/test/src/crypto/test/SHA512t256DigestTest.cs
@@ -53,7 +53,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new Sha512tDigest((Sha512tDigest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new Sha512t256DigestTest());
diff --git a/crypto/test/src/crypto/test/SM2EngineTest.cs b/crypto/test/src/crypto/test/SM2EngineTest.cs
index 8a1987d52..cc9440e86 100644
--- a/crypto/test/src/crypto/test/SM2EngineTest.cs
+++ b/crypto/test/src/crypto/test/SM2EngineTest.cs
@@ -151,7 +151,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             DoEngineTestF2m();
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new SM2EngineTest());
         }
diff --git a/crypto/test/src/crypto/test/SM2KeyExchangeTest.cs b/crypto/test/src/crypto/test/SM2KeyExchangeTest.cs
index d7a2650eb..41993218c 100644
--- a/crypto/test/src/crypto/test/SM2KeyExchangeTest.cs
+++ b/crypto/test/src/crypto/test/SM2KeyExchangeTest.cs
@@ -213,7 +213,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             DoKeyExchangeTestF2m();
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new SM2KeyExchangeTest());
         }
diff --git a/crypto/test/src/crypto/test/SM2SignerTest.cs b/crypto/test/src/crypto/test/SM2SignerTest.cs
index 5904c95a7..795fb6323 100644
--- a/crypto/test/src/crypto/test/SM2SignerTest.cs
+++ b/crypto/test/src/crypto/test/SM2SignerTest.cs
@@ -176,7 +176,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new DerSequence(new DerInteger(r), new DerInteger(s)).GetEncoded();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new SM2SignerTest());
diff --git a/crypto/test/src/crypto/test/SM3DigestTest.cs b/crypto/test/src/crypto/test/SM3DigestTest.cs
index ae29a1581..41aa2cd62 100644
--- a/crypto/test/src/crypto/test/SM3DigestTest.cs
+++ b/crypto/test/src/crypto/test/SM3DigestTest.cs
@@ -190,7 +190,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 	        return new SM3Digest((SM3Digest)digest);
 	    }
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SM3DigestTest());
diff --git a/crypto/test/src/crypto/test/SRP6Test.cs b/crypto/test/src/crypto/test/SRP6Test.cs
index 6b64df924..643319a3f 100644
--- a/crypto/test/src/crypto/test/SRP6Test.cs
+++ b/crypto/test/src/crypto/test/SRP6Test.cs
@@ -242,7 +242,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 	        }
 	    }
 
-	    public static void Main(string[] args)
+	    public static void MainOld(string[] args)
 	    {
 	        RunTest(new Srp6Test());
 	    }
diff --git a/crypto/test/src/crypto/test/Salsa20Test.cs b/crypto/test/src/crypto/test/Salsa20Test.cs
index b4dc1ef2b..be7d44519 100644
--- a/crypto/test/src/crypto/test/Salsa20Test.cs
+++ b/crypto/test/src/crypto/test/Salsa20Test.cs
@@ -301,7 +301,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Salsa20Test());
diff --git a/crypto/test/src/crypto/test/SerpentTest.cs b/crypto/test/src/crypto/test/SerpentTest.cs
index 08dbda591..b2b2dda7d 100644
--- a/crypto/test/src/crypto/test/SerpentTest.cs
+++ b/crypto/test/src/crypto/test/SerpentTest.cs
@@ -134,7 +134,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "Serpent"; }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new SerpentTest());
         }
diff --git a/crypto/test/src/crypto/test/ShakeDigestTest.cs b/crypto/test/src/crypto/test/ShakeDigestTest.cs
index d8b2d55d6..e200741b5 100644
--- a/crypto/test/src/crypto/test/ShakeDigestTest.cs
+++ b/crypto/test/src/crypto/test/ShakeDigestTest.cs
@@ -277,7 +277,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return s;
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new ShakeDigestTest());
diff --git a/crypto/test/src/crypto/test/ShortenedDigestTest.cs b/crypto/test/src/crypto/test/ShortenedDigestTest.cs
index 4956b5b39..c2b59c1bb 100644
--- a/crypto/test/src/crypto/test/ShortenedDigestTest.cs
+++ b/crypto/test/src/crypto/test/ShortenedDigestTest.cs
@@ -81,7 +81,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "ShortenedDigest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[]    args)
 		{
 			RunTest(new ShortenedDigestTest());
diff --git a/crypto/test/src/crypto/test/SipHashTest.cs b/crypto/test/src/crypto/test/SipHashTest.cs
index 82dfce82c..97a1dd874 100644
--- a/crypto/test/src/crypto/test/SipHashTest.cs
+++ b/crypto/test/src/crypto/test/SipHashTest.cs
@@ -140,7 +140,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new SipHashTest());
         }
diff --git a/crypto/test/src/crypto/test/SkeinDigestTest.cs b/crypto/test/src/crypto/test/SkeinDigestTest.cs
index b6f1c542b..b38de9159 100644
--- a/crypto/test/src/crypto/test/SkeinDigestTest.cs
+++ b/crypto/test/src/crypto/test/SkeinDigestTest.cs
@@ -285,7 +285,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			//	        }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SkeinDigestTest());
diff --git a/crypto/test/src/crypto/test/SkeinMacTest.cs b/crypto/test/src/crypto/test/SkeinMacTest.cs
index 852c3b2c7..5e68a1931 100644
--- a/crypto/test/src/crypto/test/SkeinMacTest.cs
+++ b/crypto/test/src/crypto/test/SkeinMacTest.cs
@@ -156,7 +156,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SkeinMacTest());
diff --git a/crypto/test/src/crypto/test/SkipjackTest.cs b/crypto/test/src/crypto/test/SkipjackTest.cs
index d9fe6e4b4..a8ec2d907 100644
--- a/crypto/test/src/crypto/test/SkipjackTest.cs
+++ b/crypto/test/src/crypto/test/SkipjackTest.cs
@@ -26,7 +26,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 		{
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             ITest test = new SkipjackTest();
diff --git a/crypto/test/src/crypto/test/StreamCipherResetTest.cs b/crypto/test/src/crypto/test/StreamCipherResetTest.cs
index 49760a24b..2692ff0b4 100644
--- a/crypto/test/src/crypto/test/StreamCipherResetTest.cs
+++ b/crypto/test/src/crypto/test/StreamCipherResetTest.cs
@@ -118,7 +118,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new StreamCipherResetTest());
         }
diff --git a/crypto/test/src/crypto/test/TEATest.cs b/crypto/test/src/crypto/test/TEATest.cs
index 525941dbf..3c8a9ef80 100644
--- a/crypto/test/src/crypto/test/TEATest.cs
+++ b/crypto/test/src/crypto/test/TEATest.cs
@@ -42,7 +42,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "TEA"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new TeaTest());
diff --git a/crypto/test/src/crypto/test/Threefish1024Test.cs b/crypto/test/src/crypto/test/Threefish1024Test.cs
index 64f9aa29f..01d2761d0 100644
--- a/crypto/test/src/crypto/test/Threefish1024Test.cs
+++ b/crypto/test/src/crypto/test/Threefish1024Test.cs
@@ -57,7 +57,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "Threefish-1024"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Threefish1024Test());
diff --git a/crypto/test/src/crypto/test/Threefish256Test.cs b/crypto/test/src/crypto/test/Threefish256Test.cs
index e44299a31..863f5de40 100644
--- a/crypto/test/src/crypto/test/Threefish256Test.cs
+++ b/crypto/test/src/crypto/test/Threefish256Test.cs
@@ -42,7 +42,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "Threefish-256"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Threefish256Test());
diff --git a/crypto/test/src/crypto/test/Threefish512Test.cs b/crypto/test/src/crypto/test/Threefish512Test.cs
index 8f4ec6345..4d9b18395 100644
--- a/crypto/test/src/crypto/test/Threefish512Test.cs
+++ b/crypto/test/src/crypto/test/Threefish512Test.cs
@@ -47,7 +47,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "Threefish-512"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Threefish512Test());
diff --git a/crypto/test/src/crypto/test/TigerDigestTest.cs b/crypto/test/src/crypto/test/TigerDigestTest.cs
index b351c4b5e..bedcb242b 100644
--- a/crypto/test/src/crypto/test/TigerDigestTest.cs
+++ b/crypto/test/src/crypto/test/TigerDigestTest.cs
@@ -65,7 +65,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             return new TigerDigest((TigerDigest)digest);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new TigerDigestTest());
diff --git a/crypto/test/src/crypto/test/TnepresTest.cs b/crypto/test/src/crypto/test/TnepresTest.cs
index 07308dbff..34407790a 100644
--- a/crypto/test/src/crypto/test/TnepresTest.cs
+++ b/crypto/test/src/crypto/test/TnepresTest.cs
@@ -139,7 +139,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             get { return "Tnepres"; }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new TnepresTest());
         }
diff --git a/crypto/test/src/crypto/test/TwofishTest.cs b/crypto/test/src/crypto/test/TwofishTest.cs
index 9425d2e60..c6efe5707 100644
--- a/crypto/test/src/crypto/test/TwofishTest.cs
+++ b/crypto/test/src/crypto/test/TwofishTest.cs
@@ -34,7 +34,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 		{
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             ITest test = new TwofishTest();
diff --git a/crypto/test/src/crypto/test/VMPCKSA3Test.cs b/crypto/test/src/crypto/test/VMPCKSA3Test.cs
index a25105b77..d0c87d596 100644
--- a/crypto/test/src/crypto/test/VMPCKSA3Test.cs
+++ b/crypto/test/src/crypto/test/VMPCKSA3Test.cs
@@ -95,7 +95,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return output;
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new VmpcKsa3Test());
diff --git a/crypto/test/src/crypto/test/VMPCMacTest.cs b/crypto/test/src/crypto/test/VMPCMacTest.cs
index b9a5e3a93..68fe4c7c7 100644
--- a/crypto/test/src/crypto/test/VMPCMacTest.cs
+++ b/crypto/test/src/crypto/test/VMPCMacTest.cs
@@ -20,7 +20,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "VMPC-MAC"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new VmpcMacTest());
diff --git a/crypto/test/src/crypto/test/VMPCTest.cs b/crypto/test/src/crypto/test/VMPCTest.cs
index 6186c4733..72ec75814 100644
--- a/crypto/test/src/crypto/test/VMPCTest.cs
+++ b/crypto/test/src/crypto/test/VMPCTest.cs
@@ -95,7 +95,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return output;
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new VmpcTest());
diff --git a/crypto/test/src/crypto/test/WhirlpoolDigestTest.cs b/crypto/test/src/crypto/test/WhirlpoolDigestTest.cs
index 1445b8977..45b1b2636 100644
--- a/crypto/test/src/crypto/test/WhirlpoolDigestTest.cs
+++ b/crypto/test/src/crypto/test/WhirlpoolDigestTest.cs
@@ -102,7 +102,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			return new WhirlpoolDigest((WhirlpoolDigest)digest);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new WhirlpoolDigestTest());
diff --git a/crypto/test/src/crypto/test/X931SignerTest.cs b/crypto/test/src/crypto/test/X931SignerTest.cs
index d03cbc8e4..e34fe1349 100644
--- a/crypto/test/src/crypto/test/X931SignerTest.cs
+++ b/crypto/test/src/crypto/test/X931SignerTest.cs
@@ -129,7 +129,7 @@ namespace Org.BouncyCastle.Crypto.Tests
             }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new X931SignerTest());
         }
diff --git a/crypto/test/src/crypto/test/XSalsa20Test.cs b/crypto/test/src/crypto/test/XSalsa20Test.cs
index 74ed04e88..7b7cd96c4 100644
--- a/crypto/test/src/crypto/test/XSalsa20Test.cs
+++ b/crypto/test/src/crypto/test/XSalsa20Test.cs
@@ -166,7 +166,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new XSalsa20Test());
diff --git a/crypto/test/src/crypto/test/XTEATest.cs b/crypto/test/src/crypto/test/XTEATest.cs
index a1ea65298..298a873f2 100644
--- a/crypto/test/src/crypto/test/XTEATest.cs
+++ b/crypto/test/src/crypto/test/XTEATest.cs
@@ -42,7 +42,7 @@ namespace Org.BouncyCastle.Crypto.Tests
 			get { return "XTEA"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new XteaTest());
diff --git a/crypto/test/src/crypto/tls/test/DtlsTestCase.cs b/crypto/test/src/crypto/tls/test/DtlsTestCase.cs
index 5e43337f4..9fa5b5846 100644
--- a/crypto/test/src/crypto/tls/test/DtlsTestCase.cs
+++ b/crypto/test/src/crypto/tls/test/DtlsTestCase.cs
@@ -18,7 +18,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
                 throw new InvalidOperationException("Non-DTLS version");
         }
 
-        [Test, TestCaseSource(typeof(DtlsTestSuite), "Suite")]
+        [Test, TestCaseSource(typeof(DtlsTestSuite), nameof(DtlsTestSuite.Suite))]
         public void RunTest(TlsTestConfig config)
         {
             CheckDtlsVersion(config.clientMinimumVersion);
@@ -145,10 +145,10 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
                 if (!isShutdown)
                 {
                     isShutdown = true;
-                    serverThread.Interrupt();
-                    serverThread.Join();
+                    //serverThread.Interrupt();                    
+                    serverThread.Join(100);
                 }
             }
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crypto/test/src/crypto/tls/test/MockDatagramAssociation.cs b/crypto/test/src/crypto/tls/test/MockDatagramAssociation.cs
index 48df36ca9..4591afa15 100644
--- a/crypto/test/src/crypto/tls/test/MockDatagramAssociation.cs
+++ b/crypto/test/src/crypto/tls/test/MockDatagramAssociation.cs
@@ -1,7 +1,5 @@
 using System;
 using System.Collections;
-using System.IO;
-using System.Net;
 using System.Threading;
 
 using Org.BouncyCastle.Utilities;
@@ -68,7 +66,11 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
                         {
                             Monitor.Wait(receiveQueue, waitMillis);
                         }
+#if !PORTABLE
                         catch (ThreadInterruptedException)
+#else
+                        catch (Exception)
+#endif
                         {
                             // TODO Keep waiting until full wait expired?
                         }
diff --git a/crypto/test/src/crypto/tls/test/NetworkStream.cs b/crypto/test/src/crypto/tls/test/NetworkStream.cs
index 04de81e13..10cfe5443 100644
--- a/crypto/test/src/crypto/tls/test/NetworkStream.cs
+++ b/crypto/test/src/crypto/tls/test/NetworkStream.cs
@@ -34,10 +34,17 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
             get { return mInner.CanWrite; }
         }
 
-        public override void Close()
+#if PORTABLE
+        protected override void Dispose(bool disposing)
         {
             lock (this) mClosed = true;
         }
+#else
+        public override void Close()
+		{
+			lock (this) mClosed = true;
+		}
+#endif
 
         public override void Flush()
         {
diff --git a/crypto/test/src/crypto/tls/test/PipedStream.cs b/crypto/test/src/crypto/tls/test/PipedStream.cs
index 6b2c15059..a5bcc1041 100644
--- a/crypto/test/src/crypto/tls/test/PipedStream.cs
+++ b/crypto/test/src/crypto/tls/test/PipedStream.cs
@@ -11,7 +11,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
         private bool mClosed = false;
 
         private PipedStream mOther = null;
-        private long mReadPos = 0;
+        private int mReadPos = 0;
 
         internal PipedStream()
         {
@@ -41,7 +41,10 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
             get { return true; }
         }
 
-        public override void Close()
+
+
+#if PORTABLE
+        protected override void Dispose(bool disposing)
         {
             lock (this)
             {
@@ -49,6 +52,16 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
                 Monitor.PulseAll(this);
             }
         }
+#else
+        public override void Close()
+		{
+			lock (this)
+            {
+                mClosed = true;
+                Monitor.PulseAll(this);
+            }
+		}
+#endif
 
         public override void Flush()
         {
@@ -81,7 +94,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
             {
                 WaitForData();
                 int len = (int)System.Math.Min(count, mOther.mBuf.Position - mReadPos);
-                Array.Copy(mOther.mBuf.GetBuffer(), mReadPos, buffer, offset, len);
+                Array.Copy(mOther.mBuf.ToArray(), mReadPos, buffer, offset, len);
                 mReadPos += len;
                 return len;
             }
@@ -93,7 +106,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
             {
                 WaitForData();
                 bool eof = (mReadPos >= mOther.mBuf.Position);
-                return eof ? -1 : mOther.mBuf.GetBuffer()[mReadPos++];
+                return eof ? -1 : mOther.mBuf.ToArray()[mReadPos++];
             }
         }
 
diff --git a/crypto/test/src/crypto/tls/test/PskTlsClientTest.cs b/crypto/test/src/crypto/tls/test/PskTlsClientTest.cs
index 7072c7105..6c59810e8 100644
--- a/crypto/test/src/crypto/tls/test/PskTlsClientTest.cs
+++ b/crypto/test/src/crypto/tls/test/PskTlsClientTest.cs
@@ -1,4 +1,5 @@
-using System;
+#if !LIB
+using System;
 using System.IO;
 using System.Net.Sockets;
 using System.Text;
@@ -20,7 +21,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
     {
         private static readonly SecureRandom secureRandom = new SecureRandom();
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             string hostname = "localhost";
             int port = 5556;
@@ -70,10 +71,11 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
         internal static TlsClientProtocol OpenTlsConnection(string hostname, int port, TlsClient client)
         {
             TcpClient tcp = new TcpClient(hostname, port);
-
+            
             TlsClientProtocol protocol = new TlsClientProtocol(tcp.GetStream(), secureRandom);
             protocol.Connect(client);
             return protocol;
         }
     }
 }
+#endif
\ No newline at end of file
diff --git a/crypto/test/src/crypto/tls/test/TlsClientTest.cs b/crypto/test/src/crypto/tls/test/TlsClientTest.cs
index c9a5ef9ad..d30fbdee2 100644
--- a/crypto/test/src/crypto/tls/test/TlsClientTest.cs
+++ b/crypto/test/src/crypto/tls/test/TlsClientTest.cs
@@ -1,4 +1,5 @@
 using System;
+#if !LIB
 using System.IO;
 using System.Net.Sockets;
 using System.Text;
@@ -17,7 +18,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
     {
         private static readonly SecureRandom secureRandom = new SecureRandom();
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             string hostname = "localhost";
             int port = 5556;
@@ -64,3 +65,4 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
         }
     }
 }
+#endif
\ No newline at end of file
diff --git a/crypto/test/src/crypto/tls/test/TlsServerTest.cs b/crypto/test/src/crypto/tls/test/TlsServerTest.cs
index 7920cb59a..28272169b 100644
--- a/crypto/test/src/crypto/tls/test/TlsServerTest.cs
+++ b/crypto/test/src/crypto/tls/test/TlsServerTest.cs
@@ -1,4 +1,5 @@
-using System;
+#if !LIB
+using System;
 using System.IO;
 using System.Net;
 using System.Net.Sockets;
@@ -19,7 +20,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
     {
         private static readonly SecureRandom secureRandom = new SecureRandom();
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             int port = 5556;
 
@@ -83,3 +84,4 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
         }
     }
 }
+#endif
\ No newline at end of file
diff --git a/crypto/test/src/crypto/tls/test/TlsTestCase.cs b/crypto/test/src/crypto/tls/test/TlsTestCase.cs
index 7fb5db6ce..3d35970f3 100644
--- a/crypto/test/src/crypto/tls/test/TlsTestCase.cs
+++ b/crypto/test/src/crypto/tls/test/TlsTestCase.cs
@@ -153,7 +153,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
                         {
                             Monitor.Wait(this);
                         }
-                        catch (ThreadInterruptedException)
+                        catch (Exception)
                         {
                         }
                     }
diff --git a/crypto/test/src/crypto/tls/test/TlsTestServerImpl.cs b/crypto/test/src/crypto/tls/test/TlsTestServerImpl.cs
index 9edd2e524..3a2344b88 100644
--- a/crypto/test/src/crypto/tls/test/TlsTestServerImpl.cs
+++ b/crypto/test/src/crypto/tls/test/TlsTestServerImpl.cs
@@ -214,7 +214,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
             {
                 output.WriteLine(line);
             }
-            catch (ThreadInterruptedException)
+            catch (Exception)
             {
                 /*
                  * For some reason the NUnit plugin in Visual Studio started throwing these during alert logging
diff --git a/crypto/test/src/crypto/tls/test/TlsTestUtilities.cs b/crypto/test/src/crypto/tls/test/TlsTestUtilities.cs
index a76858ce6..a15e867a4 100644
--- a/crypto/test/src/crypto/tls/test/TlsTestUtilities.cs
+++ b/crypto/test/src/crypto/tls/test/TlsTestUtilities.cs
@@ -45,7 +45,7 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests
             byte[] der = c.GetEncoded();
             byte[] sha1 = Sha256DigestOf(der);
             byte[] hexBytes = Hex.Encode(sha1);
-            string hex = Encoding.ASCII.GetString(hexBytes).ToUpper(CultureInfo.InvariantCulture);
+            string hex = Encoding.ASCII.GetString(hexBytes).ToUpperInvariant();
 
             StringBuilder fp = new StringBuilder();
             int i = 0;
diff --git a/crypto/test/src/math/ec/test/AllTests.cs b/crypto/test/src/math/ec/test/AllTests.cs
index 0517ac713..2b0d349ec 100644
--- a/crypto/test/src/math/ec/test/AllTests.cs
+++ b/crypto/test/src/math/ec/test/AllTests.cs
@@ -8,7 +8,7 @@ namespace Org.BouncyCastle.Math.EC.Tests
 {
     public class AllTests
     {
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs b/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs
index 2bcd5b502..fed2c8d42 100644
--- a/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs
+++ b/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs
@@ -201,7 +201,7 @@ namespace Org.BouncyCastle.Math.EC.Tests
             }
         }
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             new ECPointPerformanceTest().TestMultiply();
         }
diff --git a/crypto/test/src/math/ec/test/F2mProofer.cs b/crypto/test/src/math/ec/test/F2mProofer.cs
index 727d32c55..9c4fa85d3 100644
--- a/crypto/test/src/math/ec/test/F2mProofer.cs
+++ b/crypto/test/src/math/ec/test/F2mProofer.cs
@@ -136,7 +136,7 @@
 //				+ "| -compare <className1> <className2>]");
 //		}
 //
-//		public static void Main(string[] args)
+//		public static void MainOld(string[] args)
 //		{
 //			if (args.Length == 0)
 //			{
diff --git a/crypto/test/src/math/test/AllTests.cs b/crypto/test/src/math/test/AllTests.cs
index 53feff954..69db45e04 100644
--- a/crypto/test/src/math/test/AllTests.cs
+++ b/crypto/test/src/math/test/AllTests.cs
@@ -8,7 +8,7 @@ namespace Org.BouncyCastle.Math.Tests
 {
     public class AllTests
     {
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/ocsp/test/AllTests.cs b/crypto/test/src/ocsp/test/AllTests.cs
index 5e799cd09..d374776f3 100644
--- a/crypto/test/src/ocsp/test/AllTests.cs
+++ b/crypto/test/src/ocsp/test/AllTests.cs
@@ -10,7 +10,7 @@ namespace Org.BouncyCastle.Ocsp.Tests
 {
 	public class AllTests
 	{
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/ocsp/test/OCSPTest.cs b/crypto/test/src/ocsp/test/OCSPTest.cs
index 823de90f9..5b775eac2 100644
--- a/crypto/test/src/ocsp/test/OCSPTest.cs
+++ b/crypto/test/src/ocsp/test/OCSPTest.cs
@@ -835,7 +835,7 @@ namespace Org.BouncyCastle.Ocsp.Tests
 			doTestIrregularVersionReq();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new OcspTest());
diff --git a/crypto/test/src/openpgp/test/PGPArmoredTest.cs b/crypto/test/src/openpgp/test/PGPArmoredTest.cs
index e48827a35..6dad6bcd6 100644
--- a/crypto/test/src/openpgp/test/PGPArmoredTest.cs
+++ b/crypto/test/src/openpgp/test/PGPArmoredTest.cs
@@ -265,7 +265,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			get { return "PGPArmoredTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PgpArmoredTest());
diff --git a/crypto/test/src/openpgp/test/PGPClearSignedSignatureTest.cs b/crypto/test/src/openpgp/test/PGPClearSignedSignatureTest.cs
index 668f8cce2..fe161e8f1 100644
--- a/crypto/test/src/openpgp/test/PGPClearSignedSignatureTest.cs
+++ b/crypto/test/src/openpgp/test/PGPClearSignedSignatureTest.cs
@@ -428,7 +428,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			generateTest(crNlMessage, "\\r\\n");
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PgpClearSignedSignatureTest());
diff --git a/crypto/test/src/openpgp/test/PGPCompressionTest.cs b/crypto/test/src/openpgp/test/PGPCompressionTest.cs
index fdcf7222c..eddfa1e7c 100644
--- a/crypto/test/src/openpgp/test/PGPCompressionTest.cs
+++ b/crypto/test/src/openpgp/test/PGPCompressionTest.cs
@@ -108,7 +108,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			get { return "PGPCompressionTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PgpCompressionTest());
diff --git a/crypto/test/src/openpgp/test/PGPDSAElGamalTest.cs b/crypto/test/src/openpgp/test/PGPDSAElGamalTest.cs
index b86324954..e200cec21 100644
--- a/crypto/test/src/openpgp/test/PGPDSAElGamalTest.cs
+++ b/crypto/test/src/openpgp/test/PGPDSAElGamalTest.cs
@@ -475,7 +475,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			get { return "PGPDSAElGamalTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PgpDsaElGamalTest());
diff --git a/crypto/test/src/openpgp/test/PGPDSATest.cs b/crypto/test/src/openpgp/test/PGPDSATest.cs
index 7808ed6cd..55e346a6a 100644
--- a/crypto/test/src/openpgp/test/PGPDSATest.cs
+++ b/crypto/test/src/openpgp/test/PGPDSATest.cs
@@ -580,7 +580,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			get { return "PGPDSATest"; }
         }
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
         {
 			RunTest(new PgpDsaTest());
diff --git a/crypto/test/src/openpgp/test/PGPNoPrivateKeyTest.cs b/crypto/test/src/openpgp/test/PGPNoPrivateKeyTest.cs
index 8f702b67b..35e85a2c8 100644
--- a/crypto/test/src/openpgp/test/PGPNoPrivateKeyTest.cs
+++ b/crypto/test/src/openpgp/test/PGPNoPrivateKeyTest.cs
@@ -152,7 +152,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             get { return "PGPNoPrivateKeyTest"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new PgpNoPrivateKeyTest());
diff --git a/crypto/test/src/openpgp/test/PGPPBETest.cs b/crypto/test/src/openpgp/test/PGPPBETest.cs
index 29b786a83..b14506438 100644
--- a/crypto/test/src/openpgp/test/PGPPBETest.cs
+++ b/crypto/test/src/openpgp/test/PGPPBETest.cs
@@ -157,11 +157,16 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
                 TestDateTime);
 
 			ldOut.Write(text, 0, text.Length);
-			ldOut.Close();
+#if PORTABLE
+            ldOut.Dispose();
 
-			comOut.Close();
+            comOut.Dispose();
+#else
+            ldOut.Close();
 
-			//
+			comOut.Close();
+#endif
+            //
             // encrypt - with stream close
             //
             MemoryStream cbOut = new UncloseableMemoryStream();
@@ -173,7 +178,11 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			byte[] bOutData = bOut.ToArray();
 			Stream cOut = cPk.Open(new UncloseableStream(cbOut), bOutData.Length);
             cOut.Write(bOutData, 0, bOutData.Length);
+#if PORTABLE
+            cOut.Dispose();
+#else
             cOut.Close();
+#endif
 
 			data = DecryptMessage(cbOut.ToArray());
             if (!Arrays.AreEqual(data, text))
@@ -321,11 +330,17 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 
 			ldOut.Write(msg, 0, msg.Length);
 
-			ldOut.Close();
+#if PORTABLE
+            ldOut.Dispose();
+
+            comOut.Dispose();
+#else
+            ldOut.Close();
 
 			comOut.Close();
-        
-			cbOut = new MemoryStream();
+#endif
+
+            cbOut = new MemoryStream();
 			cPk = new PgpEncryptedDataGenerator(SymmetricKeyAlgorithmTag.Cast5, true, rand);
 
             cPk.AddMethod(pass, HashAlgorithmTag.Sha1);
@@ -335,7 +350,11 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			data = bOut.ToArray();
 			cOut.Write(data, 0, data.Length);
 
-			cOut.Close();
+#if PORTABLE
+            cOut.Dispose();
+#else
+            cOut.Close();
+#endif
 
 			data = DecryptMessage(cbOut.ToArray());
 			if (!AreEqual(data, msg))
@@ -356,18 +375,25 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 		private class UncloseableMemoryStream
 			: MemoryStream
 		{
-			public override void Close()
+#if PORTABLE
+            protected override void Dispose(bool disposing)
+            {
+                throw new Exception("Dispose() called on underlying stream");
+            }
+#else
+            public override void Close()
 			{
 				throw new Exception("Close() called on underlying stream");
 			}
-		}
+#endif
+        }
 
 		public override string Name
         {
 			get { return "PGPPBETest"; }
         }
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
         {
 			RunTest(new PgpPbeTest());
diff --git a/crypto/test/src/openpgp/test/PGPPacketTest.cs b/crypto/test/src/openpgp/test/PGPPacketTest.cs
index b82f8526f..f8a13eeeb 100644
--- a/crypto/test/src/openpgp/test/PGPPacketTest.cs
+++ b/crypto/test/src/openpgp/test/PGPPacketTest.cs
@@ -63,7 +63,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			get { return "PGPPacketTest"; }
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
 			RunTest(new PgpPacketTest());
diff --git a/crypto/test/src/openpgp/test/PGPRSATest.cs b/crypto/test/src/openpgp/test/PGPRSATest.cs
index 82b569bbb..8944546fc 100644
--- a/crypto/test/src/openpgp/test/PGPRSATest.cs
+++ b/crypto/test/src/openpgp/test/PGPRSATest.cs
@@ -387,7 +387,11 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 
             cOut.Write(bytes, 0, bytes.Length);
 
+#if PORTABLE
+            cOut.Dispose();
+#else
             cOut.Close();
+#endif
 
             byte[] encData = bcOut.ToArray();
 
@@ -735,8 +739,12 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             Stream cOut = cPk.Open(new UncloseableStream(cbOut), shortText.Length);
 
             cOut.Write(shortText, 0, shortText.Length);
-
+            
+#if PORTABLE
+            cOut.Dispose();
+#else
             cOut.Close();
+#endif
 
             pgpF = new PgpObjectFactory(cbOut.ToArray());
 
@@ -772,7 +780,11 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 
             cOut.Write(text, 0, text.Length);
 
+#if PORTABLE
+            cOut.Dispose();
+#else
             cOut.Close();
+#endif
 
             pgpF = new PgpObjectFactory(cbOut.ToArray());
 
@@ -981,11 +993,19 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
                 sGen.Update((byte)ch);
             }
 
+#if PORTABLE
+            lOut.Dispose();
+#else
             lOut.Close();
+#endif
 
             sGen.Generate().Encode(bcOut);
-
+            
+#if PORTABLE
+            bcOut.Dispose();
+#else
             bcOut.Close();
+#endif
 
             //
             // verify generated signature
@@ -1056,12 +1076,20 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
                 lOut.WriteByte((byte) ch);
                 sGen.Update((byte)ch);
             }
-
+            
+#if PORTABLE
+            lOut.Dispose();
+#else
             lOut.Close();
+#endif
 
             sGen.Generate().Encode(bcOut);
 
+#if PORTABLE
+            bcOut.Dispose();
+#else
             bcOut.Close();
+#endif
 
             //
             // verify generated signature
@@ -1157,12 +1185,21 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
                 lOut.WriteByte((byte)ch);
                 sGen.Update((byte)ch);
             }
-
+            
+#if PORTABLE
+            lOut.Dispose();
+#else
             lOut.Close();
+#endif
 
             sGen.Generate().Encode(bcOut);
 
+#if PORTABLE
+            bcOut.Dispose();
+#else
             bcOut.Close();
+#endif
+
 
             //
             // verify generated signature
@@ -1205,10 +1242,17 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
         private class UncloseableMemoryStream
             : MemoryStream
         {
-            public override void Close()
+#if PORTABLE
+            protected override void Dispose(bool disposing)
             {
-                throw new Exception("Close() called on underlying stream");
+                throw new Exception("Dispose() called on underlying stream");
             }
+#else
+            public override void Close()
+			{
+				throw new Exception("Close() called on underlying stream");
+			}
+#endif
         }
 
         public override string Name
@@ -1216,7 +1260,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             get { return "PGPRSATest"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new PgpRsaTest());
diff --git a/crypto/test/src/openpgp/test/PGPSignatureTest.cs b/crypto/test/src/openpgp/test/PGPSignatureTest.cs
index af490193a..23220cad3 100644
--- a/crypto/test/src/openpgp/test/PGPSignatureTest.cs
+++ b/crypto/test/src/openpgp/test/PGPSignatureTest.cs
@@ -1069,7 +1069,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             get { return "PGPSignatureTest"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new PgpSignatureTest());
diff --git a/crypto/test/src/openpgp/test/PgpECDHTest.cs b/crypto/test/src/openpgp/test/PgpECDHTest.cs
index b7c500bd0..fb65d1de6 100644
--- a/crypto/test/src/openpgp/test/PgpECDHTest.cs
+++ b/crypto/test/src/openpgp/test/PgpECDHTest.cs
@@ -263,7 +263,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             get { return "PgpECDHTest"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new PgpECDHTest());
diff --git a/crypto/test/src/openpgp/test/PgpECDsaTest.cs b/crypto/test/src/openpgp/test/PgpECDsaTest.cs
index 6259ef627..5bcc3ba68 100644
--- a/crypto/test/src/openpgp/test/PgpECDsaTest.cs
+++ b/crypto/test/src/openpgp/test/PgpECDsaTest.cs
@@ -188,7 +188,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             get { return "PgpECDsaTest"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new PgpECDsaTest());
diff --git a/crypto/test/src/openpgp/test/PgpECMessageTest.cs b/crypto/test/src/openpgp/test/PgpECMessageTest.cs
index ac8283721..4a11dbdcc 100644
--- a/crypto/test/src/openpgp/test/PgpECMessageTest.cs
+++ b/crypto/test/src/openpgp/test/PgpECMessageTest.cs
@@ -179,7 +179,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             get { return "PgpECMessageTest"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new PgpECMessageTest());
diff --git a/crypto/test/src/openpgp/test/PgpKeyRingTest.cs b/crypto/test/src/openpgp/test/PgpKeyRingTest.cs
index 5f1d83459..af35c85a4 100644
--- a/crypto/test/src/openpgp/test/PgpKeyRingTest.cs
+++ b/crypto/test/src/openpgp/test/PgpKeyRingTest.cs
@@ -2620,7 +2620,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             get { return "PgpKeyRingTest"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new PgpKeyRingTest());
diff --git a/crypto/test/src/openpgp/test/PgpMarkerTest.cs b/crypto/test/src/openpgp/test/PgpMarkerTest.cs
index 89be7cd52..a4f95dfc1 100644
--- a/crypto/test/src/openpgp/test/PgpMarkerTest.cs
+++ b/crypto/test/src/openpgp/test/PgpMarkerTest.cs
@@ -85,7 +85,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			get { return "PgpMarkerTest"; }
         }
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             RunTest(new PgpMarkerTest());
diff --git a/crypto/test/src/openpgp/test/PgpParsingTest.cs b/crypto/test/src/openpgp/test/PgpParsingTest.cs
index 78fca7570..34fc0af5f 100644
--- a/crypto/test/src/openpgp/test/PgpParsingTest.cs
+++ b/crypto/test/src/openpgp/test/PgpParsingTest.cs
@@ -23,7 +23,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
 			get { return "PgpParsingTest"; }
 		}
 
-        public static void Main(
+        public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PgpParsingTest());
diff --git a/crypto/test/src/openpgp/test/PgpUnicodeTest.cs b/crypto/test/src/openpgp/test/PgpUnicodeTest.cs
index 534e8a471..7f1bc62d1 100644
--- a/crypto/test/src/openpgp/test/PgpUnicodeTest.cs
+++ b/crypto/test/src/openpgp/test/PgpUnicodeTest.cs
@@ -2,7 +2,6 @@
 using System.IO;
 using System.Text;
 
-using NUnit.Core;
 using NUnit.Framework;
 
 using Org.BouncyCastle.Math;
@@ -123,7 +122,8 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             return new PgpSecretKeyRingBundle(SimpleTest.GetTestDataAsStream("openpgp.unicode." + keyName));
         }
 
-        public static void Main(string[] args)
+#if !LIB
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
@@ -138,5 +138,6 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
                 return suite;
             }
         }
+#endif
     }
 }
diff --git a/crypto/test/src/openpgp/test/RegressionTest.cs b/crypto/test/src/openpgp/test/RegressionTest.cs
index 329960bd8..7a68be55e 100644
--- a/crypto/test/src/openpgp/test/RegressionTest.cs
+++ b/crypto/test/src/openpgp/test/RegressionTest.cs
@@ -26,7 +26,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp.Tests
             new PgpParsingTest(),
         };
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             foreach (ITest test in tests)
diff --git a/crypto/test/src/openssl/test/AllTests.cs b/crypto/test/src/openssl/test/AllTests.cs
index 0cc2dcd85..b1898cbc7 100644
--- a/crypto/test/src/openssl/test/AllTests.cs
+++ b/crypto/test/src/openssl/test/AllTests.cs
@@ -36,7 +36,7 @@ namespace Org.BouncyCastle.OpenSsl.Tests
 		}
 
 #if !LIB
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/openssl/test/ReaderTest.cs b/crypto/test/src/openssl/test/ReaderTest.cs
index c0be5c848..9a45968cb 100644
--- a/crypto/test/src/openssl/test/ReaderTest.cs
+++ b/crypto/test/src/openssl/test/ReaderTest.cs
@@ -1,6 +1,6 @@
 using System;
 using System.IO;
-
+using System.Reflection;
 using NUnit.Framework;
 
 using Org.BouncyCastle.Asn1.Cms;
@@ -320,7 +320,7 @@ namespace Org.BouncyCastle.OpenSsl.Tests
                 Fail("Didn't find OpenSSL key");
             }
 
-            if (!expectedPrivKeyType.IsInstanceOfType(kp.Private))
+            if (!expectedPrivKeyType.GetTypeInfo().IsInstanceOfType(kp.Private))
             {
                 Fail("Returned key not of correct type");
             }
@@ -362,7 +362,7 @@ namespace Org.BouncyCastle.OpenSsl.Tests
             return new PemReader(tr, pGet);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new ReaderTest());
diff --git a/crypto/test/src/openssl/test/WriterTest.cs b/crypto/test/src/openssl/test/WriterTest.cs
index 0d7887771..a66fd22ed 100644
--- a/crypto/test/src/openssl/test/WriterTest.cs
+++ b/crypto/test/src/openssl/test/WriterTest.cs
@@ -168,7 +168,7 @@ namespace Org.BouncyCastle.OpenSsl.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new WriterTest());
diff --git a/crypto/test/src/pkcs/test/EncryptedPrivateKeyInfoTest.cs b/crypto/test/src/pkcs/test/EncryptedPrivateKeyInfoTest.cs
index 23639b112..f08d89b1e 100644
--- a/crypto/test/src/pkcs/test/EncryptedPrivateKeyInfoTest.cs
+++ b/crypto/test/src/pkcs/test/EncryptedPrivateKeyInfoTest.cs
@@ -78,7 +78,7 @@ namespace Org.BouncyCastle.Pkcs.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
 			RunTest(new EncryptedPrivateKeyInfoTest());
diff --git a/crypto/test/src/pkcs/test/PKCS10Test.cs b/crypto/test/src/pkcs/test/PKCS10Test.cs
index d0227b9de..009f6b141 100644
--- a/crypto/test/src/pkcs/test/PKCS10Test.cs
+++ b/crypto/test/src/pkcs/test/PKCS10Test.cs
@@ -71,7 +71,7 @@ namespace Org.BouncyCastle.Pkcs.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
 			RunTest(new Pkcs10Test());
diff --git a/crypto/test/src/pkcs/test/PKCS12StoreTest.cs b/crypto/test/src/pkcs/test/PKCS12StoreTest.cs
index cd9dfcfad..1e7272f0f 100644
--- a/crypto/test/src/pkcs/test/PKCS12StoreTest.cs
+++ b/crypto/test/src/pkcs/test/PKCS12StoreTest.cs
@@ -904,7 +904,7 @@ namespace Org.BouncyCastle.Pkcs.Tests
 			doTestPkcs12Store();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Pkcs12StoreTest());
diff --git a/crypto/test/src/security/test/TestMacUtil.cs b/crypto/test/src/security/test/TestMacUtil.cs
index 1eb6f35b0..d11fc4b96 100644
--- a/crypto/test/src/security/test/TestMacUtil.cs
+++ b/crypto/test/src/security/test/TestMacUtil.cs
@@ -14,14 +14,13 @@ namespace Org.BouncyCastle.Security.Tests
         [Test]
         public void TestCultureIndependence()
         {
-            Thread t = Thread.CurrentThread;
-            CultureInfo ci = t.CurrentCulture;
+            CultureInfo ci = CultureInfo.CurrentCulture;
             try
             {
                 /*
                  * In Hungarian, the "CS" in "HMACSHA256" is linguistically a single character, so "HMAC" is not a prefix.
                  */
-                t.CurrentCulture = new CultureInfo("hu-HU");
+                CultureInfo.CurrentCulture = new CultureInfo("hu-HU");
                 IMac mac = MacUtilities.GetMac("HMACSHA256");
                 Assert.NotNull(mac);
             }
@@ -31,7 +30,7 @@ namespace Org.BouncyCastle.Security.Tests
             }
             finally
             {
-                t.CurrentCulture = ci;
+                CultureInfo.CurrentCulture = ci;
             }
         }
     }
diff --git a/crypto/test/src/security/test/TestParameterUtil.cs b/crypto/test/src/security/test/TestParameterUtil.cs
index fe494212a..265a66ba9 100644
--- a/crypto/test/src/security/test/TestParameterUtil.cs
+++ b/crypto/test/src/security/test/TestParameterUtil.cs
@@ -1,5 +1,5 @@
 using System;
-
+using System.Reflection;
 using NUnit.Framework;
 
 using Org.BouncyCastle.Asn1;
@@ -67,7 +67,7 @@ namespace Org.BouncyCastle.Security.Tests
 			Type			expectedType,
 			byte[]			expectedBytes)
 		{
-			Assert.IsTrue(expectedType.IsInstanceOfType(key));
+			Assert.IsTrue(expectedType.GetTypeInfo().IsInstanceOfType(key));
 			Assert.IsTrue(Arrays.AreEqual(expectedBytes, key.GetKey()));
 		}
 	}
diff --git a/crypto/test/src/security/test/TestSignerUtil.cs b/crypto/test/src/security/test/TestSignerUtil.cs
index 18b856e3f..d815d53a5 100644
--- a/crypto/test/src/security/test/TestSignerUtil.cs
+++ b/crypto/test/src/security/test/TestSignerUtil.cs
@@ -120,7 +120,7 @@ namespace Org.BouncyCastle.Security.Tests
             {
                 ISigner signer = SignerUtilities.GetSigner(algorithm);
 
-                string upper = algorithm.ToUpper(CultureInfo.InvariantCulture);
+                string upper = algorithm.ToUpperInvariant();
                 int withPos = upper.LastIndexOf("WITH");
 
                 string cipherName = withPos < 0
diff --git a/crypto/test/src/test/AESSICTest.cs b/crypto/test/src/test/AESSICTest.cs
index f8de35efd..c4748c06a 100644
--- a/crypto/test/src/test/AESSICTest.cs
+++ b/crypto/test/src/test/AESSICTest.cs
@@ -130,7 +130,7 @@ namespace Org.BouncyCastle.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new AesSicTest());
diff --git a/crypto/test/src/test/AESTest.cs b/crypto/test/src/test/AESTest.cs
index 5a1ce8046..f42daedfe 100644
--- a/crypto/test/src/test/AESTest.cs
+++ b/crypto/test/src/test/AESTest.cs
@@ -354,7 +354,7 @@ namespace Org.BouncyCastle.Tests
 			TestGcm();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new AesTest());
diff --git a/crypto/test/src/test/AttrCertSelectorTest.cs b/crypto/test/src/test/AttrCertSelectorTest.cs
index 37c1e66d2..3f414e7b9 100644
--- a/crypto/test/src/test/AttrCertSelectorTest.cs
+++ b/crypto/test/src/test/AttrCertSelectorTest.cs
@@ -205,7 +205,7 @@ namespace Org.BouncyCastle.Tests
 			TestSelector();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new AttrCertSelectorTest());
diff --git a/crypto/test/src/test/AttrCertTest.cs b/crypto/test/src/test/AttrCertTest.cs
index d701d007e..b119bafa0 100644
--- a/crypto/test/src/test/AttrCertTest.cs
+++ b/crypto/test/src/test/AttrCertTest.cs
@@ -604,7 +604,7 @@ namespace Org.BouncyCastle.Tests
 			doTestGenerateWithPrincipal();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new AttrCertTest());
diff --git a/crypto/test/src/test/BlockCipherTest.cs b/crypto/test/src/test/BlockCipherTest.cs
index e6f92b84e..ddb0e1a7e 100644
--- a/crypto/test/src/test/BlockCipherTest.cs
+++ b/crypto/test/src/test/BlockCipherTest.cs
@@ -466,7 +466,7 @@ namespace Org.BouncyCastle.Tests
 
             rand = new FixedSecureRandom();
 
-            string[] parts = algorithm.ToUpper(CultureInfo.InvariantCulture).Split('/');
+            string[] parts = algorithm.ToUpperInvariant().Split('/');
             string baseAlgorithm = parts[0];
             string mode = parts.Length > 1 ? parts[1] : null;
 
@@ -498,7 +498,7 @@ namespace Org.BouncyCastle.Tests
                 inCipher = CipherUtilities.GetCipher(algorithm);
                 outCipher = CipherUtilities.GetCipher(algorithm);
 
-                if (!inCipher.AlgorithmName.ToUpper(CultureInfo.InvariantCulture).StartsWith(baseAlgorithm))
+                if (!inCipher.AlgorithmName.ToUpperInvariant().StartsWith(baseAlgorithm))
                 {
                     Fail("wrong cipher returned!");
                 }
@@ -1075,7 +1075,7 @@ namespace Org.BouncyCastle.Tests
             doTestExceptions();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new BlockCipherTest());
diff --git a/crypto/test/src/test/CMacTest.cs b/crypto/test/src/test/CMacTest.cs
index f80caca7d..5688c04e1 100644
--- a/crypto/test/src/test/CMacTest.cs
+++ b/crypto/test/src/test/CMacTest.cs
@@ -260,7 +260,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "CMac"; }
 		}
 
-		public static void Main(string[] args)
+		public static void MainOld(string[] args)
 		{
 			RunTest(new CMacTest());
 		}
diff --git a/crypto/test/src/test/CRL5Test.cs b/crypto/test/src/test/CRL5Test.cs
index ebd74af69..73a7b985d 100644
--- a/crypto/test/src/test/CRL5Test.cs
+++ b/crypto/test/src/test/CRL5Test.cs
@@ -248,7 +248,7 @@ namespace Org.BouncyCastle.Tests
 			TestDirectCrl();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Crl5Test());
diff --git a/crypto/test/src/test/CamelliaTest.cs b/crypto/test/src/test/CamelliaTest.cs
index f8e3520a3..1272c9f80 100644
--- a/crypto/test/src/test/CamelliaTest.cs
+++ b/crypto/test/src/test/CamelliaTest.cs
@@ -195,7 +195,7 @@ namespace Org.BouncyCastle.Tests
 			TestWrapOids();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new CamelliaTest());
diff --git a/crypto/test/src/test/CertPathBuilderTest.cs b/crypto/test/src/test/CertPathBuilderTest.cs
index e31bde866..c2f037c45 100644
--- a/crypto/test/src/test/CertPathBuilderTest.cs
+++ b/crypto/test/src/test/CertPathBuilderTest.cs
@@ -146,7 +146,7 @@ namespace Org.BouncyCastle.Tests
             get { return "CertPathBuilder"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new CertPathBuilderTest());
diff --git a/crypto/test/src/test/CertPathTest.cs b/crypto/test/src/test/CertPathTest.cs
index f1a7c94f6..164a9a63f 100644
--- a/crypto/test/src/test/CertPathTest.cs
+++ b/crypto/test/src/test/CertPathTest.cs
@@ -244,7 +244,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "CertPath"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new CertPathTest());
diff --git a/crypto/test/src/test/CertPathValidatorTest.cs b/crypto/test/src/test/CertPathValidatorTest.cs
index f83ac850a..df2ba4c8f 100644
--- a/crypto/test/src/test/CertPathValidatorTest.cs
+++ b/crypto/test/src/test/CertPathValidatorTest.cs
@@ -257,7 +257,7 @@ namespace Org.BouncyCastle.Tests
             get { return "CertPathValidator"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new CertPathValidatorTest());
diff --git a/crypto/test/src/test/CertTest.cs b/crypto/test/src/test/CertTest.cs
index d9af06c82..9a4965297 100644
--- a/crypto/test/src/test/CertTest.cs
+++ b/crypto/test/src/test/CertTest.cs
@@ -2611,7 +2611,7 @@ namespace Org.BouncyCastle.Tests
             checkCertificate(18, emptyDNCert);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new CertTest());
diff --git a/crypto/test/src/test/CipherStreamTest.cs b/crypto/test/src/test/CipherStreamTest.cs
index 0809dfe80..671778ae9 100644
--- a/crypto/test/src/test/CipherStreamTest.cs
+++ b/crypto/test/src/test/CipherStreamTest.cs
@@ -440,7 +440,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "CipherStreamTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new CipherStreamTest());
diff --git a/crypto/test/src/test/DESedeTest.cs b/crypto/test/src/test/DESedeTest.cs
index d84b994f0..aea5d145e 100644
--- a/crypto/test/src/test/DESedeTest.cs
+++ b/crypto/test/src/test/DESedeTest.cs
@@ -281,7 +281,7 @@ namespace Org.BouncyCastle.Tests
             wrapTest("TDEA", 1, kek1, iv1, in1, out1);
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new DesEdeTest());
diff --git a/crypto/test/src/test/DHTest.cs b/crypto/test/src/test/DHTest.cs
index 1acc0d603..da31673de 100644
--- a/crypto/test/src/test/DHTest.cs
+++ b/crypto/test/src/test/DHTest.cs
@@ -735,7 +735,7 @@ namespace Org.BouncyCastle.Tests
             TestSubgroupConfinement();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new DHTest());
diff --git a/crypto/test/src/test/DSATest.cs b/crypto/test/src/test/DSATest.cs
index a8b8bec3b..d7382d256 100644
--- a/crypto/test/src/test/DSATest.cs
+++ b/crypto/test/src/test/DSATest.cs
@@ -855,7 +855,7 @@ namespace Org.BouncyCastle.Tests
             get { return "DSA/ECDSA"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new DsaTest());
diff --git a/crypto/test/src/test/DigestTest.cs b/crypto/test/src/test/DigestTest.cs
index 9f68a8361..fb987c54e 100644
--- a/crypto/test/src/test/DigestTest.cs
+++ b/crypto/test/src/test/DigestTest.cs
@@ -197,7 +197,7 @@ namespace Org.BouncyCastle.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new DigestTest());
diff --git a/crypto/test/src/test/ECDSA5Test.cs b/crypto/test/src/test/ECDSA5Test.cs
index 3bf746edb..40ea21c0a 100644
--- a/crypto/test/src/test/ECDSA5Test.cs
+++ b/crypto/test/src/test/ECDSA5Test.cs
@@ -291,7 +291,7 @@ namespace Org.BouncyCastle.Tests
             TestGeneration();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new ECDsa5Test());
diff --git a/crypto/test/src/test/ECEncodingTest.cs b/crypto/test/src/test/ECEncodingTest.cs
index 8d993c15e..972029e35 100644
--- a/crypto/test/src/test/ECEncodingTest.cs
+++ b/crypto/test/src/test/ECEncodingTest.cs
@@ -225,7 +225,7 @@ namespace Org.BouncyCastle.Tests
 				key.Parameters);
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ECEncodingTest());
diff --git a/crypto/test/src/test/ECNRTest.cs b/crypto/test/src/test/ECNRTest.cs
index 8a24443c2..ff1176505 100644
--- a/crypto/test/src/test/ECNRTest.cs
+++ b/crypto/test/src/test/ECNRTest.cs
@@ -195,7 +195,7 @@ namespace Org.BouncyCastle.Tests
             TestECNR521bitPrime();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new ECNRTest());
diff --git a/crypto/test/src/test/ElGamalTest.cs b/crypto/test/src/test/ElGamalTest.cs
index 9a87ea9b1..feecad23d 100644
--- a/crypto/test/src/test/ElGamalTest.cs
+++ b/crypto/test/src/test/ElGamalTest.cs
@@ -325,7 +325,7 @@ namespace Org.BouncyCastle.Tests
 			TestRandom256();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new ElGamalTest());
diff --git a/crypto/test/src/test/EncryptedPrivateKeyInfoTest.cs b/crypto/test/src/test/EncryptedPrivateKeyInfoTest.cs
index baac5ff7f..f2506cd99 100644
--- a/crypto/test/src/test/EncryptedPrivateKeyInfoTest.cs
+++ b/crypto/test/src/test/EncryptedPrivateKeyInfoTest.cs
@@ -137,7 +137,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "EncryptedPrivateKeyInfoTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new EncryptedPrivateKeyInfoTest());
diff --git a/crypto/test/src/test/FIPSDESTest.cs b/crypto/test/src/test/FIPSDESTest.cs
index 1f40e1591..f1efe2527 100644
--- a/crypto/test/src/test/FIPSDESTest.cs
+++ b/crypto/test/src/test/FIPSDESTest.cs
@@ -185,7 +185,7 @@ namespace Org.BouncyCastle.Tests
 			return new SimpleTestResult(true, Name + ": Okay");
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new FipsDesTest();
diff --git a/crypto/test/src/test/GOST28147Test.cs b/crypto/test/src/test/GOST28147Test.cs
index 0adfad334..fcdfaaf28 100644
--- a/crypto/test/src/test/GOST28147Test.cs
+++ b/crypto/test/src/test/GOST28147Test.cs
@@ -228,7 +228,7 @@ namespace Org.BouncyCastle.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new Gost28147Test());
diff --git a/crypto/test/src/test/GOST3410Test.cs b/crypto/test/src/test/GOST3410Test.cs
index db232c5a1..931332cfb 100644
--- a/crypto/test/src/test/GOST3410Test.cs
+++ b/crypto/test/src/test/GOST3410Test.cs
@@ -363,7 +363,7 @@ namespace Org.BouncyCastle.Tests
             parametersTest();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[]	args)
         {
             RunTest(new Gost3410Test());
diff --git a/crypto/test/src/test/HMacTest.cs b/crypto/test/src/test/HMacTest.cs
index 4a018ac50..81cb19f8b 100644
--- a/crypto/test/src/test/HMacTest.cs
+++ b/crypto/test/src/test/HMacTest.cs
@@ -244,7 +244,7 @@ namespace Org.BouncyCastle.Tests
             get { return "HMac"; }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new HMacTest());
diff --git a/crypto/test/src/test/IESTest.cs b/crypto/test/src/test/IESTest.cs
index 193fe1ae9..812b05f97 100644
--- a/crypto/test/src/test/IESTest.cs
+++ b/crypto/test/src/test/IESTest.cs
@@ -228,7 +228,7 @@ namespace Org.BouncyCastle.Tests
 //			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new IesTest());
diff --git a/crypto/test/src/test/MacTest.cs b/crypto/test/src/test/MacTest.cs
index d4b3188bd..86b64d905 100644
--- a/crypto/test/src/test/MacTest.cs
+++ b/crypto/test/src/test/MacTest.cs
@@ -199,7 +199,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "Mac"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new MacTest());
diff --git a/crypto/test/src/test/MqvTest.cs b/crypto/test/src/test/MqvTest.cs
index ef36e1a23..ec5c610ca 100644
--- a/crypto/test/src/test/MqvTest.cs
+++ b/crypto/test/src/test/MqvTest.cs
@@ -90,7 +90,7 @@ namespace Org.BouncyCastle.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new MqvTest());
diff --git a/crypto/test/src/test/NamedCurveTest.cs b/crypto/test/src/test/NamedCurveTest.cs
index f7c831f17..5b29a4152 100644
--- a/crypto/test/src/test/NamedCurveTest.cs
+++ b/crypto/test/src/test/NamedCurveTest.cs
@@ -394,7 +394,7 @@ namespace Org.BouncyCastle.Tests
             }
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new NamedCurveTest());
diff --git a/crypto/test/src/test/NistCertPathTest.cs b/crypto/test/src/test/NistCertPathTest.cs
index 0f42e24d0..d070e36d4 100644
--- a/crypto/test/src/test/NistCertPathTest.cs
+++ b/crypto/test/src/test/NistCertPathTest.cs
@@ -5175,7 +5175,7 @@ namespace Org.BouncyCastle.Tests
 			End_Certificate_RL_09_01_crt
 		};
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new NistCertPathTest());
diff --git a/crypto/test/src/test/NoekeonTest.cs b/crypto/test/src/test/NoekeonTest.cs
index c3745da1c..8f4cbfe5c 100644
--- a/crypto/test/src/test/NoekeonTest.cs
+++ b/crypto/test/src/test/NoekeonTest.cs
@@ -140,7 +140,7 @@ namespace Org.BouncyCastle.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new NoekeonTest());
diff --git a/crypto/test/src/test/PBETest.cs b/crypto/test/src/test/PBETest.cs
index ee61a027c..366af552d 100644
--- a/crypto/test/src/test/PBETest.cs
+++ b/crypto/test/src/test/PBETest.cs
@@ -510,7 +510,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "PbeTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PbeTest());
diff --git a/crypto/test/src/test/PKCS10CertRequestTest.cs b/crypto/test/src/test/PKCS10CertRequestTest.cs
index 9bad0a678..7c96baea1 100644
--- a/crypto/test/src/test/PKCS10CertRequestTest.cs
+++ b/crypto/test/src/test/PKCS10CertRequestTest.cs
@@ -453,7 +453,7 @@ namespace Org.BouncyCastle.Tests
             nullPointerTest();
         }
 
-        public static void Main(
+        public static void MainOld(
             string[] args)
         {
             RunTest(new Pkcs10CertRequestTest());
diff --git a/crypto/test/src/test/PSSTest.cs b/crypto/test/src/test/PSSTest.cs
index 677289e7c..c4c41da8f 100644
--- a/crypto/test/src/test/PSSTest.cs
+++ b/crypto/test/src/test/PSSTest.cs
@@ -236,7 +236,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "PSS"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PssTest());
diff --git a/crypto/test/src/test/PkixNameConstraintsTest.cs b/crypto/test/src/test/PkixNameConstraintsTest.cs
index a20fc33c4..f26b88a5e 100644
--- a/crypto/test/src/test/PkixNameConstraintsTest.cs
+++ b/crypto/test/src/test/PkixNameConstraintsTest.cs
@@ -416,7 +416,7 @@ namespace Org.BouncyCastle.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PkixNameConstraintsTest());
diff --git a/crypto/test/src/test/PkixPolicyMappingTest.cs b/crypto/test/src/test/PkixPolicyMappingTest.cs
index 47e2c3120..dc56d0487 100644
--- a/crypto/test/src/test/PkixPolicyMappingTest.cs
+++ b/crypto/test/src/test/PkixPolicyMappingTest.cs
@@ -402,7 +402,7 @@ namespace Org.BouncyCastle.Tests
 			}
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PkixPolicyMappingTest());
diff --git a/crypto/test/src/test/PkixTest.cs b/crypto/test/src/test/PkixTest.cs
index 882319610..c30c01c93 100644
--- a/crypto/test/src/test/PkixTest.cs
+++ b/crypto/test/src/test/PkixTest.cs
@@ -231,7 +231,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "PkixTest"; }
         }
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new PkixTest());
diff --git a/crypto/test/src/test/RSATest.cs b/crypto/test/src/test/RSATest.cs
index a765ff138..0c57bb4f7 100644
--- a/crypto/test/src/test/RSATest.cs
+++ b/crypto/test/src/test/RSATest.cs
@@ -665,7 +665,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "RSATest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new RsaTest();
diff --git a/crypto/test/src/test/RegressionTest.cs b/crypto/test/src/test/RegressionTest.cs
index 0ffde72e4..9b55dffa6 100644
--- a/crypto/test/src/test/RegressionTest.cs
+++ b/crypto/test/src/test/RegressionTest.cs
@@ -66,7 +66,7 @@ namespace Org.BouncyCastle.Tests
 			new Crl5Test(),
 		};
 
-		public static void Main(
+		public static void MainOld(
             string[] args)
         {
             for (int i = 0; i != tests.Length; i++)
diff --git a/crypto/test/src/test/SEEDTest.cs b/crypto/test/src/test/SEEDTest.cs
index 2b380d5b7..cc8ee5757 100644
--- a/crypto/test/src/test/SEEDTest.cs
+++ b/crypto/test/src/test/SEEDTest.cs
@@ -181,7 +181,7 @@ namespace Org.BouncyCastle.Tests
 			TestWrapOids();
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SeedTest());
diff --git a/crypto/test/src/test/SigTest.cs b/crypto/test/src/test/SigTest.cs
index 803a24493..dcf98066e 100644
--- a/crypto/test/src/test/SigTest.cs
+++ b/crypto/test/src/test/SigTest.cs
@@ -361,7 +361,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "SigTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new SigTest());
diff --git a/crypto/test/src/test/WrapTest.cs b/crypto/test/src/test/WrapTest.cs
index bb49446e7..039fb6ede 100644
--- a/crypto/test/src/test/WrapTest.cs
+++ b/crypto/test/src/test/WrapTest.cs
@@ -74,7 +74,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "WrapTest"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			ITest test = new WrapTest();
diff --git a/crypto/test/src/test/X509CertificatePairTest.cs b/crypto/test/src/test/X509CertificatePairTest.cs
index a83de4cf0..ed694fef7 100644
--- a/crypto/test/src/test/X509CertificatePairTest.cs
+++ b/crypto/test/src/test/X509CertificatePairTest.cs
@@ -132,7 +132,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "X509CertificatePair"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new X509CertificatePairTest());
diff --git a/crypto/test/src/test/X509StoreTest.cs b/crypto/test/src/test/X509StoreTest.cs
index 37673b8b4..739772494 100644
--- a/crypto/test/src/test/X509StoreTest.cs
+++ b/crypto/test/src/test/X509StoreTest.cs
@@ -318,7 +318,7 @@ namespace Org.BouncyCastle.Tests
 			get { return "IX509Store"; }
 		}
 
-		public static void Main(
+		public static void MainOld(
 			string[] args)
 		{
 			RunTest(new X509StoreTest());
diff --git a/crypto/test/src/tsp/test/AllTests.cs b/crypto/test/src/tsp/test/AllTests.cs
index 58d096d54..b1c5698a7 100644
--- a/crypto/test/src/tsp/test/AllTests.cs
+++ b/crypto/test/src/tsp/test/AllTests.cs
@@ -10,7 +10,7 @@ namespace Org.BouncyCastle.Tsp.Tests
 {
     public class AllTests
     {
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/util/io/pem/test/AllTests.cs b/crypto/test/src/util/io/pem/test/AllTests.cs
index 921c40cb8..db66c4ca4 100644
--- a/crypto/test/src/util/io/pem/test/AllTests.cs
+++ b/crypto/test/src/util/io/pem/test/AllTests.cs
@@ -22,7 +22,7 @@ namespace Org.BouncyCastle.Utilities.IO.Pem.Tests
 	public class AllTests
 	{
 #if !LIB
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty);
         }
diff --git a/crypto/test/src/util/test/PortableExtensions.cs b/crypto/test/src/util/test/PortableExtensions.cs
new file mode 100644
index 000000000..1e37abf41
--- /dev/null
+++ b/crypto/test/src/util/test/PortableExtensions.cs
@@ -0,0 +1,22 @@
+
+#if PORTABLE
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Net.Sockets;
+
+namespace Org.BouncyCastle
+{
+    static class PortableExtensions
+    {
+        public static void Close(this Stream stream) => stream.Dispose();
+        public static void Close(this TextWriter writer) => writer.Dispose();
+        public static void Close(this TextReader reader) => reader.Dispose();
+        public static void Close(this TcpClient client) => client.Dispose();
+    }
+}
+
+#endif
diff --git a/crypto/test/src/util/test/SimpleTest.cs b/crypto/test/src/util/test/SimpleTest.cs
index 154da27f4..45b8a6a06 100644
--- a/crypto/test/src/util/test/SimpleTest.cs
+++ b/crypto/test/src/util/test/SimpleTest.cs
@@ -102,8 +102,8 @@ namespace Org.BouncyCastle.Utilities.Test
 			string name)
 		{
 			string fullName = GetFullName(name);
-
-			return Assembly.GetExecutingAssembly().GetManifestResourceStream(fullName);
+            
+			return typeof(SimpleTest).GetTypeInfo().Assembly.GetManifestResourceStream(fullName);
 		}
 
 		internal static string[] GetTestDataEntries(
@@ -112,7 +112,7 @@ namespace Org.BouncyCastle.Utilities.Test
 			string fullPrefix = GetFullName(prefix);
 
 			ArrayList result = new ArrayList();
-			string[] fullNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
+			string[] fullNames = typeof(SimpleTest).GetTypeInfo().Assembly.GetManifestResourceNames();
 			foreach (string fullName in fullNames)
 			{
 				if (fullName.StartsWith(fullPrefix))
@@ -127,25 +127,13 @@ namespace Org.BouncyCastle.Utilities.Test
 		private static string GetFullName(
 			string name)
 		{
-#if SEPARATE_UNIT_TESTS
-			return "UnitTests.data." + name;
-#elif PORTABLE
-			return "crypto.tests." + name;
-#else
             return "crypto.test.data." + name;
-#endif
 		}
 
 		private static string GetShortName(
 			string fullName)
 		{
-#if SEPARATE_UNIT_TESTS
-			return fullName.Substring("UnitTests.data.".Length);
-#elif PORTABLE
-			return fullName.Substring("crypto.tests.".Length);
-#else
             return fullName.Substring("crypto.test.data.".Length);
-#endif
 		}
 
 #if NETCF_1_0 || NETCF_2_0
diff --git a/crypto/test/src/x509/test/TestCertificateGen.cs b/crypto/test/src/x509/test/TestCertificateGen.cs
index e91a102f1..019c2a460 100644
--- a/crypto/test/src/x509/test/TestCertificateGen.cs
+++ b/crypto/test/src/x509/test/TestCertificateGen.cs
@@ -263,8 +263,8 @@ namespace Org.BouncyCastle.X509.Tests
             certGen.SetSerialNumber(BigInteger.One);
 
             certGen.SetIssuerDN(new X509Name(ord, attrs));
-            certGen.SetNotBefore(DateTime.Today.Subtract(new TimeSpan(1, 0, 0, 0)));
-            certGen.SetNotAfter(DateTime.Today.AddDays(1));
+            certGen.SetNotBefore(DateTime.UtcNow.AddDays(-1));
+            certGen.SetNotAfter(DateTime.UtcNow.AddDays(1));
             certGen.SetSubjectDN(new X509Name(ord, attrs));
             certGen.SetPublicKey(ecPub);
             certGen.SetSignatureAlgorithm("SHA1WITHECDSA");
@@ -726,7 +726,7 @@ namespace Org.BouncyCastle.X509.Tests
 			}
 		}
 
-        public static void Main(string[] args)
+        public static void MainOld(string[] args)
         {
             RunTest(new TestCertificateGen());
         }
diff --git a/csharp.sln b/csharp.sln
deleted file mode 100644
index ce64a084a..000000000
--- a/csharp.sln
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crypto", "crypto\crypto.csproj", "{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crypto-test", "crypto-test\crypto-test.csproj", "{C857AD68-8F1B-4C7A-A76B-3DC03CBE4FB0}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		Debug = Debug
-		Release = Release
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}.Debug.ActiveCfg = Debug|.NET
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}.Debug.Build.0 = Debug|.NET
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}.Release.ActiveCfg = Release|.NET
-		{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}.Release.Build.0 = Release|.NET
-		{C857AD68-8F1B-4C7A-A76B-3DC03CBE4FB0}.Debug.ActiveCfg = Debug|.NET
-		{C857AD68-8F1B-4C7A-A76B-3DC03CBE4FB0}.Debug.Build.0 = Debug|.NET
-		{C857AD68-8F1B-4C7A-A76B-3DC03CBE4FB0}.Release.ActiveCfg = Release|.NET
-		{C857AD68-8F1B-4C7A-A76B-3DC03CBE4FB0}.Release.Build.0 = Release|.NET
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
diff --git a/scripts/Sign-Package.ps1 b/scripts/Sign-Package.ps1
new file mode 100644
index 000000000..f38b5227e
--- /dev/null
+++ b/scripts/Sign-Package.ps1
@@ -0,0 +1,25 @@
+$currentDirectory = split-path $MyInvocation.MyCommand.Definition
+
+# See if we have the ClientSecret available
+if([string]::IsNullOrEmpty($env:SignClientSecret)){
+	Write-Host "Client Secret not found, not signing packages"
+	return;
+}
+
+# Setup Variables we need to pass into the sign client tool
+
+$appSettings = "$currentDirectory\SignClient.json"
+
+$appPath = "$currentDirectory\..\packages\SignClient\tools\netcoreapp2.0\SignClient.dll"
+
+$nupgks = ls $currentDirectory\..\*.nupkg | Select -ExpandProperty FullName
+
+foreach ($nupkg in $nupgks){
+	Write-Host "Submitting $nupkg for signing"
+
+	dotnet $appPath 'sign' -c $appSettings -i $nupkg -r $env:SignClientUser -s $env:SignClientSecret -n 'Portable.BouncyCastle' -d 'Portable.BouncyCastle' -u 'https://github.com/onovotny/bc-sharp' 
+
+	Write-Host "Finished signing $nupkg"
+}
+
+Write-Host "Sign-package complete"
\ No newline at end of file
diff --git a/scripts/SignClient.json b/scripts/SignClient.json
new file mode 100644
index 000000000..7ca5736a7
--- /dev/null
+++ b/scripts/SignClient.json
@@ -0,0 +1,13 @@
+{
+  "SignClient": {
+    "AzureAd": {
+      "AADInstance": "https://login.microsoftonline.com/",
+      "ClientId": "6632f806-5a64-4bc6-87cf-b622b2ec62d3",
+      "TenantId": "71048637-3782-41a3-b6b2-6f4ac8a25ae0"
+    },
+    "Service": {
+      "Url": "https://codesign.novotny.org/",
+      "ResourceId": "https://SignService/0263d4ba-331b-46d1-85e1-bee9898a65a6"
+    }
+  }
+}
\ No newline at end of file