From 218ff5c7454d734a4f75b22f60759777210d17d9 Mon Sep 17 00:00:00 2001 From: AlexPaskhin Date: Sat, 8 Dec 2018 15:53:36 +0000 Subject: [PATCH 1/7] Draft Migrate to Netcore skd project structure Unit test passed --- .gitattributes | 103 +- .gitignore | 48 +- BouncyCastle-PCL.sln | 46 - BouncyCastle.Mobile.sln | 38 - BouncyCastle.NetCoreSdk.sln | 52 + BouncyCastle.sln | 26 - BouncyCastle.snk | Bin 596 -> 0 bytes Directory.Build.props | 18 + Directory.Build.targets | 3 + FxCop/CustomDictionary.xml | 119 - MimeKit.BouncyCastle.nuspec | 45 - Portable.BouncyCastle.nuspec | 109 - crypto-test/App.ico | Bin 1078 -> 0 bytes crypto-test/CryptoTest.cs | 52 - crypto-test/crypto-test.csproj | 104 - crypto.tests.Net45/Properties/AssemblyInfo.cs | 36 - crypto.tests.Net45/crypto.tests.Net45.csproj | 92 - crypto.tests.Net45/packages.config | 5 - crypto/BouncyCastle.Android.csproj | 1595 -- crypto/BouncyCastle.csproj | 1589 -- crypto/BouncyCastle.iOS.csproj | 1590 -- crypto/NBuild.build | 247 - crypto/crypto.Net45.csproj | 54 - crypto/crypto.csproj | 13236 ---------------- crypto/crypto.dotnet.csproj | 98 - crypto/crypto.dotnet.project.json | 17 - crypto/crypto.pcl.csproj | 106 - crypto/crypto.pcl2.csproj | 92 - crypto/src/AssemblyInfo.cs | 119 - crypto/test/UnitTests.csproj | 1320 -- crypto/test/lib/nunit.core.dll | Bin 139264 -> 0 bytes crypto/test/lib/nunit.core.interfaces.dll | Bin 61440 -> 0 bytes crypto/test/lib/nunit.framework.dll | Bin 139264 -> 0 bytes crypto/testcfg.nunit | 6 - csharp.sln | 29 - src/BouncyCastle/AssemblyInfo.Version.cs | 28 + .../BouncyCastle.NetCoreSdk.csproj | 31 + .../BouncyCastle}/Contributors.html | 0 {crypto => src/BouncyCastle}/License.html | 0 {crypto => src/BouncyCastle}/Readme.html | 0 .../BouncyCastle}/asn1/ASN1Generator.cs | 0 .../asn1/ASN1OctetStringParser.cs | 0 .../BouncyCastle}/asn1/ASN1SequenceParser.cs | 0 .../BouncyCastle}/asn1/ASN1SetParser.cs | 0 .../BouncyCastle}/asn1/ASN1StreamParser.cs | 0 .../asn1/ASN1TaggedObjectParser.cs | 0 .../BouncyCastle}/asn1/Asn1Encodable.cs | 0 .../BouncyCastle}/asn1/Asn1EncodableVector.cs | 0 .../BouncyCastle}/asn1/Asn1Exception.cs | 0 .../BouncyCastle}/asn1/Asn1InputStream.cs | 0 .../src => src/BouncyCastle}/asn1/Asn1Null.cs | 0 .../BouncyCastle}/asn1/Asn1Object.cs | 0 .../BouncyCastle}/asn1/Asn1OctetString.cs | 0 .../BouncyCastle}/asn1/Asn1OutputStream.cs | 0 .../asn1/Asn1ParsingException.cs | 0 .../BouncyCastle}/asn1/Asn1Sequence.cs | 0 .../src => src/BouncyCastle}/asn1/Asn1Set.cs | 0 .../BouncyCastle}/asn1/Asn1TaggedObject.cs | 0 .../src => src/BouncyCastle}/asn1/Asn1Tags.cs | 0 .../BouncyCastle}/asn1/BERBitString.cs | 0 .../BouncyCastle}/asn1/BERGenerator.cs | 0 .../asn1/BEROctetStringGenerator.cs | 0 .../asn1/BEROctetStringParser.cs | 0 .../asn1/BERSequenceGenerator.cs | 0 .../BouncyCastle}/asn1/BERSequenceParser.cs | 0 .../BouncyCastle}/asn1/BERSetGenerator.cs | 0 .../BouncyCastle}/asn1/BERSetParser.cs | 0 .../asn1/BERTaggedObjectParser.cs | 0 .../asn1/BerApplicationSpecific.cs | 0 .../asn1/BerApplicationSpecificParser.cs | 0 .../src => src/BouncyCastle}/asn1/BerNull.cs | 0 .../BouncyCastle}/asn1/BerOctetString.cs | 0 .../BouncyCastle}/asn1/BerOutputStream.cs | 0 .../BouncyCastle}/asn1/BerSequence.cs | 0 .../src => src/BouncyCastle}/asn1/BerSet.cs | 0 .../BouncyCastle}/asn1/BerTaggedObject.cs | 0 .../asn1/ConstructedOctetStream.cs | 0 .../BouncyCastle}/asn1/DERExternal.cs | 0 .../BouncyCastle}/asn1/DERExternalParser.cs | 0 .../BouncyCastle}/asn1/DERGenerator.cs | 0 .../asn1/DEROctetStringParser.cs | 0 .../asn1/DERSequenceGenerator.cs | 0 .../BouncyCastle}/asn1/DERSequenceParser.cs | 0 .../BouncyCastle}/asn1/DERSetGenerator.cs | 0 .../BouncyCastle}/asn1/DERSetParser.cs | 0 .../asn1/DefiniteLengthInputStream.cs | 0 .../asn1/DerApplicationSpecific.cs | 0 .../BouncyCastle}/asn1/DerBMPString.cs | 0 .../BouncyCastle}/asn1/DerBitString.cs | 0 .../BouncyCastle}/asn1/DerBoolean.cs | 0 .../BouncyCastle}/asn1/DerEnumerated.cs | 0 .../BouncyCastle}/asn1/DerGeneralString.cs | 0 .../BouncyCastle}/asn1/DerGeneralizedTime.cs | 0 .../BouncyCastle}/asn1/DerGraphicString.cs | 0 .../BouncyCastle}/asn1/DerIA5String.cs | 0 .../BouncyCastle}/asn1/DerInteger.cs | 0 .../src => src/BouncyCastle}/asn1/DerNull.cs | 0 .../BouncyCastle}/asn1/DerNumericString.cs | 0 .../BouncyCastle}/asn1/DerObjectIdentifier.cs | 0 .../BouncyCastle}/asn1/DerOctetString.cs | 0 .../BouncyCastle}/asn1/DerOutputStream.cs | 0 .../BouncyCastle}/asn1/DerPrintableString.cs | 0 .../BouncyCastle}/asn1/DerSequence.cs | 0 .../src => src/BouncyCastle}/asn1/DerSet.cs | 0 .../BouncyCastle}/asn1/DerStringBase.cs | 0 .../BouncyCastle}/asn1/DerT61String.cs | 0 .../BouncyCastle}/asn1/DerTaggedObject.cs | 0 .../BouncyCastle}/asn1/DerUTCTime.cs | 0 .../BouncyCastle}/asn1/DerUTF8String.cs | 0 .../BouncyCastle}/asn1/DerUniversalString.cs | 0 .../BouncyCastle}/asn1/DerVideotexString.cs | 0 .../BouncyCastle}/asn1/DerVisibleString.cs | 0 .../asn1/IAsn1ApplicationSpecificParser.cs | 0 .../BouncyCastle}/asn1/IAsn1Choice.cs | 0 .../BouncyCastle}/asn1/IAsn1Convertible.cs | 0 .../BouncyCastle}/asn1/IAsn1String.cs | 0 .../asn1/IndefiniteLengthInputStream.cs | 0 .../BouncyCastle}/asn1/LazyASN1InputStream.cs | 0 .../BouncyCastle}/asn1/LazyDERSequence.cs | 0 .../BouncyCastle}/asn1/LazyDERSet.cs | 0 .../BouncyCastle}/asn1/LimitedInputStream.cs | 0 .../BouncyCastle}/asn1/OidTokenizer.cs | 0 .../asn1/anssi/ANSSINamedCurves.cs | 0 .../asn1/anssi/ANSSIObjectIdentifiers.cs | 0 .../asn1/bc/BCObjectIdentifiers.cs | 0 .../asn1/bsi/BsiObjectIdentifiers.cs | 0 .../asn1/cmp/CAKeyUpdAnnContent.cs | 0 .../asn1/cmp/CertConfirmContent.cs | 0 .../BouncyCastle}/asn1/cmp/CertOrEncCert.cs | 0 .../BouncyCastle}/asn1/cmp/CertRepMessage.cs | 0 .../BouncyCastle}/asn1/cmp/CertResponse.cs | 0 .../BouncyCastle}/asn1/cmp/CertStatus.cs | 0 .../asn1/cmp/CertifiedKeyPair.cs | 0 .../BouncyCastle}/asn1/cmp/Challenge.cs | 0 .../BouncyCastle}/asn1/cmp/CmpCertificate.cs | 0 .../asn1/cmp/CmpObjectIdentifiers.cs | 0 .../BouncyCastle}/asn1/cmp/CrlAnnContent.cs | 0 .../BouncyCastle}/asn1/cmp/ErrorMsgContent.cs | 0 .../BouncyCastle}/asn1/cmp/GenMsgContent.cs | 0 .../BouncyCastle}/asn1/cmp/GenRepContent.cs | 0 .../asn1/cmp/InfoTypeAndValue.cs | 0 .../asn1/cmp/KeyRecRepContent.cs | 0 .../BouncyCastle}/asn1/cmp/OobCertHash.cs | 0 .../BouncyCastle}/asn1/cmp/PKIBody.cs | 0 .../asn1/cmp/PKIConfirmContent.cs | 0 .../BouncyCastle}/asn1/cmp/PKIFailureInfo.cs | 0 .../BouncyCastle}/asn1/cmp/PKIFreeText.cs | 0 .../BouncyCastle}/asn1/cmp/PKIHeader.cs | 0 .../asn1/cmp/PKIHeaderBuilder.cs | 0 .../BouncyCastle}/asn1/cmp/PKIMessage.cs | 0 .../BouncyCastle}/asn1/cmp/PKIMessages.cs | 0 .../BouncyCastle}/asn1/cmp/PKIStatus.cs | 0 .../BouncyCastle}/asn1/cmp/PKIStatusInfo.cs | 0 .../BouncyCastle}/asn1/cmp/PbmParameter.cs | 0 .../BouncyCastle}/asn1/cmp/PollRepContent.cs | 0 .../BouncyCastle}/asn1/cmp/PollReqContent.cs | 0 .../asn1/cmp/PopoDecKeyChallContent.cs | 0 .../asn1/cmp/PopoDecKeyRespContent.cs | 0 .../BouncyCastle}/asn1/cmp/ProtectedPart.cs | 0 .../BouncyCastle}/asn1/cmp/RevAnnContent.cs | 0 .../BouncyCastle}/asn1/cmp/RevDetails.cs | 0 .../BouncyCastle}/asn1/cmp/RevRepContent.cs | 0 .../asn1/cmp/RevRepContentBuilder.cs | 0 .../BouncyCastle}/asn1/cmp/RevReqContent.cs | 0 .../BouncyCastle}/asn1/cms/Attribute.cs | 0 .../BouncyCastle}/asn1/cms/AttributeTable.cs | 0 .../BouncyCastle}/asn1/cms/Attributes.cs | 0 .../asn1/cms/AuthEnvelopedData.cs | 0 .../asn1/cms/AuthEnvelopedDataParser.cs | 0 .../asn1/cms/AuthenticatedData.cs | 0 .../asn1/cms/AuthenticatedDataParser.cs | 0 .../BouncyCastle}/asn1/cms/CMSAttributes.cs | 0 .../asn1/cms/CMSObjectIdentifiers.cs | 0 .../BouncyCastle}/asn1/cms/CompressedData.cs | 0 .../asn1/cms/CompressedDataParser.cs | 0 .../BouncyCastle}/asn1/cms/ContentInfo.cs | 0 .../asn1/cms/ContentInfoParser.cs | 0 .../asn1/cms/EncryptedContentInfo.cs | 0 .../asn1/cms/EncryptedContentInfoParser.cs | 0 .../BouncyCastle}/asn1/cms/EncryptedData.cs | 0 .../BouncyCastle}/asn1/cms/EnvelopedData.cs | 0 .../asn1/cms/EnvelopedDataParser.cs | 0 .../BouncyCastle}/asn1/cms/Evidence.cs | 0 .../asn1/cms/IssuerAndSerialNumber.cs | 0 .../BouncyCastle}/asn1/cms/KEKIdentifier.cs | 0 .../asn1/cms/KEKRecipientInfo.cs | 0 .../asn1/cms/KeyAgreeRecipientIdentifier.cs | 0 .../asn1/cms/KeyAgreeRecipientInfo.cs | 0 .../asn1/cms/KeyTransRecipientInfo.cs | 0 .../BouncyCastle}/asn1/cms/MetaData.cs | 0 .../asn1/cms/OriginatorIdentifierOrKey.cs | 0 .../BouncyCastle}/asn1/cms/OriginatorInfo.cs | 0 .../asn1/cms/OriginatorPublicKey.cs | 0 .../asn1/cms/OtherKeyAttribute.cs | 0 .../asn1/cms/OtherRecipientInfo.cs | 0 .../asn1/cms/OtherRevocationInfoFormat.cs | 0 .../asn1/cms/PasswordRecipientInfo.cs | 0 .../asn1/cms/RecipientEncryptedKey.cs | 0 .../asn1/cms/RecipientIdentifier.cs | 0 .../BouncyCastle}/asn1/cms/RecipientInfo.cs | 0 .../asn1/cms/RecipientKeyIdentifier.cs | 0 .../BouncyCastle}/asn1/cms/SCVPReqRes.cs | 0 .../BouncyCastle}/asn1/cms/SignedData.cs | 0 .../asn1/cms/SignedDataParser.cs | 0 .../asn1/cms/SignerIdentifier.cs | 0 .../BouncyCastle}/asn1/cms/SignerInfo.cs | 0 .../src => src/BouncyCastle}/asn1/cms/Time.cs | 0 .../BouncyCastle}/asn1/cms/TimeStampAndCRL.cs | 0 .../asn1/cms/TimeStampTokenEvidence.cs | 0 .../BouncyCastle}/asn1/cms/TimeStampedData.cs | 0 .../asn1/cms/TimeStampedDataParser.cs | 0 .../asn1/cms/ecc/MQVuserKeyingMaterial.cs | 0 .../asn1/crmf/AttributeTypeAndValue.cs | 0 .../BouncyCastle}/asn1/crmf/CertId.cs | 0 .../asn1/crmf/CertReqMessages.cs | 0 .../BouncyCastle}/asn1/crmf/CertReqMsg.cs | 0 .../BouncyCastle}/asn1/crmf/CertRequest.cs | 0 .../BouncyCastle}/asn1/crmf/CertTemplate.cs | 0 .../asn1/crmf/CertTemplateBuilder.cs | 0 .../BouncyCastle}/asn1/crmf/Controls.cs | 0 .../asn1/crmf/CrmfObjectIdentifiers.cs | 0 .../BouncyCastle}/asn1/crmf/EncKeyWithID.cs | 0 .../BouncyCastle}/asn1/crmf/EncryptedKey.cs | 0 .../BouncyCastle}/asn1/crmf/EncryptedValue.cs | 0 .../asn1/crmf/OptionalValidity.cs | 0 .../asn1/crmf/PKIArchiveOptions.cs | 0 .../asn1/crmf/PKIPublicationInfo.cs | 0 .../BouncyCastle}/asn1/crmf/PKMacValue.cs | 0 .../BouncyCastle}/asn1/crmf/PopoPrivKey.cs | 0 .../BouncyCastle}/asn1/crmf/PopoSigningKey.cs | 0 .../asn1/crmf/PopoSigningKeyInput.cs | 0 .../asn1/crmf/ProofOfPossession.cs | 0 .../BouncyCastle}/asn1/crmf/SinglePubInfo.cs | 0 .../asn1/crmf/SubsequentMessage.cs | 0 .../cryptopro/CryptoProObjectIdentifiers.cs | 0 .../asn1/cryptopro/ECGOST3410NamedCurves.cs | 0 .../cryptopro/ECGOST3410ParamSetParameters.cs | 0 .../asn1/cryptopro/GOST28147Parameters.cs | 0 .../asn1/cryptopro/GOST3410NamedParameters.cs | 0 .../cryptopro/GOST3410ParamSetParameters.cs | 0 .../GOST3410PublicKeyAlgParameters.cs | 0 .../asn1/eac/EACObjectIdentifiers.cs | 0 .../asn1/edec/EdECObjectIdentifiers.cs | 0 .../asn1/esf/CertificateValues.cs | 0 .../asn1/esf/CommitmentTypeIdentifier.cs | 0 .../asn1/esf/CommitmentTypeIndication.cs | 0 .../asn1/esf/CommitmentTypeQualifier.cs | 0 .../asn1/esf/CompleteCertificateRefs.cs | 0 .../asn1/esf/CompleteRevocationRefs.cs | 0 .../BouncyCastle}/asn1/esf/CrlIdentifier.cs | 0 .../BouncyCastle}/asn1/esf/CrlListID.cs | 0 .../BouncyCastle}/asn1/esf/CrlOcspRef.cs | 0 .../BouncyCastle}/asn1/esf/CrlValidatedID.cs | 0 .../BouncyCastle}/asn1/esf/ESFAttributes.cs | 0 .../BouncyCastle}/asn1/esf/OcspIdentifier.cs | 0 .../BouncyCastle}/asn1/esf/OcspListID.cs | 0 .../BouncyCastle}/asn1/esf/OcspResponsesID.cs | 0 .../BouncyCastle}/asn1/esf/OtherCertID.cs | 0 .../BouncyCastle}/asn1/esf/OtherHash.cs | 0 .../asn1/esf/OtherHashAlgAndValue.cs | 0 .../BouncyCastle}/asn1/esf/OtherRevRefs.cs | 0 .../BouncyCastle}/asn1/esf/OtherRevVals.cs | 0 .../asn1/esf/OtherSigningCertificate.cs | 0 .../asn1/esf/RevocationValues.cs | 0 .../asn1/esf/SigPolicyQualifierInfo.cs | 0 .../asn1/esf/SignaturePolicyId.cs | 0 .../asn1/esf/SignaturePolicyIdentifier.cs | 0 .../BouncyCastle}/asn1/esf/SignerAttribute.cs | 0 .../BouncyCastle}/asn1/esf/SignerLocation.cs | 0 .../BouncyCastle}/asn1/ess/ContentHints.cs | 0 .../asn1/ess/ContentIdentifier.cs | 0 .../BouncyCastle}/asn1/ess/ESSCertID.cs | 0 .../BouncyCastle}/asn1/ess/ESSCertIDv2.cs | 0 .../BouncyCastle}/asn1/ess/OtherCertID.cs | 0 .../asn1/ess/OtherSigningCertificate.cs | 0 .../asn1/ess/SigningCertificate.cs | 0 .../asn1/ess/SigningCertificateV2.cs | 0 .../BouncyCastle}/asn1/gm/GMNamedCurves.cs | 0 .../asn1/gm/GMObjectIdentifiers.cs | 0 .../asn1/gnu/GNUObjectIdentifiers.cs | 0 .../asn1/iana/IANAObjectIdentifiers.cs | 0 .../BouncyCastle}/asn1/icao/CscaMasterList.cs | 0 .../BouncyCastle}/asn1/icao/DataGroupHash.cs | 0 .../asn1/icao/ICAOObjectIdentifiers.cs | 0 .../asn1/icao/LDSSecurityObject.cs | 0 .../BouncyCastle}/asn1/icao/LDSVersionInfo.cs | 0 .../asn1/isismtt/ISISMTTObjectIdentifiers.cs | 0 .../asn1/isismtt/ocsp/CertHash.cs | 0 .../asn1/isismtt/ocsp/RequestedCertificate.cs | 0 .../x509/AdditionalInformationSyntax.cs | 0 .../asn1/isismtt/x509/AdmissionSyntax.cs | 0 .../asn1/isismtt/x509/Admissions.cs | 0 .../isismtt/x509/DeclarationOfMajority.cs | 0 .../asn1/isismtt/x509/MonetaryLimit.cs | 0 .../asn1/isismtt/x509/NamingAuthority.cs | 0 .../asn1/isismtt/x509/ProcurationSyntax.cs | 0 .../asn1/isismtt/x509/ProfessionInfo.cs | 0 .../asn1/isismtt/x509/Restriction.cs | 0 .../asn1/kisa/KISAObjectIdentifiers.cs | 0 .../microsoft/MicrosoftObjectIdentifiers.cs | 0 .../asn1/misc/CAST5CBCParameters.cs | 0 .../BouncyCastle}/asn1/misc/IDEACBCPar.cs | 0 .../asn1/misc/MiscObjectIdentifiers.cs | 0 .../asn1/misc/NetscapeCertType.cs | 0 .../asn1/misc/NetscapeRevocationURL.cs | 0 .../asn1/misc/VerisignCzagExtension.cs | 0 .../asn1/mozilla/PublicKeyAndChallenge.cs | 0 .../asn1/nist/NISTNamedCurves.cs | 0 .../asn1/nist/NISTObjectIdentifiers.cs | 0 .../asn1/ntt/NTTObjectIdentifiers.cs | 0 .../asn1/ocsp/BasicOCSPResponse.cs | 0 .../BouncyCastle}/asn1/ocsp/CertID.cs | 0 .../BouncyCastle}/asn1/ocsp/CertStatus.cs | 0 .../BouncyCastle}/asn1/ocsp/CrlID.cs | 0 .../asn1/ocsp/OCSPObjectIdentifiers.cs | 0 .../BouncyCastle}/asn1/ocsp/OCSPRequest.cs | 0 .../BouncyCastle}/asn1/ocsp/OCSPResponse.cs | 0 .../asn1/ocsp/OCSPResponseStatus.cs | 0 .../BouncyCastle}/asn1/ocsp/Request.cs | 0 .../BouncyCastle}/asn1/ocsp/ResponderID.cs | 0 .../BouncyCastle}/asn1/ocsp/ResponseBytes.cs | 0 .../BouncyCastle}/asn1/ocsp/ResponseData.cs | 0 .../BouncyCastle}/asn1/ocsp/RevokedInfo.cs | 0 .../BouncyCastle}/asn1/ocsp/ServiceLocator.cs | 0 .../BouncyCastle}/asn1/ocsp/Signature.cs | 0 .../BouncyCastle}/asn1/ocsp/SingleResponse.cs | 0 .../BouncyCastle}/asn1/ocsp/TBSRequest.cs | 0 .../asn1/oiw/ElGamalParameter.cs | 0 .../asn1/oiw/OIWObjectIdentifiers.cs | 0 .../BouncyCastle}/asn1/pkcs/Attribute.cs | 0 .../asn1/pkcs/AuthenticatedSafe.cs | 0 .../BouncyCastle}/asn1/pkcs/CertBag.cs | 0 .../asn1/pkcs/CertificationRequest.cs | 0 .../asn1/pkcs/CertificationRequestInfo.cs | 0 .../BouncyCastle}/asn1/pkcs/ContentInfo.cs | 0 .../BouncyCastle}/asn1/pkcs/DHParameter.cs | 0 .../BouncyCastle}/asn1/pkcs/EncryptedData.cs | 0 .../asn1/pkcs/EncryptedPrivateKeyInfo.cs | 0 .../asn1/pkcs/EncryptionScheme.cs | 0 .../asn1/pkcs/IssuerAndSerialNumber.cs | 0 .../asn1/pkcs/KeyDerivationFunc.cs | 0 .../BouncyCastle}/asn1/pkcs/MacData.cs | 0 .../BouncyCastle}/asn1/pkcs/PBEParameter.cs | 0 .../asn1/pkcs/PBES2Parameters.cs | 0 .../BouncyCastle}/asn1/pkcs/PBKDF2Params.cs | 0 .../asn1/pkcs/PKCS12PBEParams.cs | 0 .../asn1/pkcs/PKCSObjectIdentifiers.cs | 0 .../src => src/BouncyCastle}/asn1/pkcs/Pfx.cs | 0 .../BouncyCastle}/asn1/pkcs/PrivateKeyInfo.cs | 0 .../asn1/pkcs/RC2CBCParameter.cs | 0 .../asn1/pkcs/RSAESOAEPparams.cs | 0 .../asn1/pkcs/RSAPrivateKeyStructure.cs | 0 .../asn1/pkcs/RSASSAPSSparams.cs | 0 .../BouncyCastle}/asn1/pkcs/SafeBag.cs | 0 .../BouncyCastle}/asn1/pkcs/SignedData.cs | 0 .../BouncyCastle}/asn1/pkcs/SignerInfo.cs | 0 .../RosstandartObjectIdentifiers.cs | 0 .../asn1/sec/ECPrivateKeyStructure.cs | 0 .../BouncyCastle}/asn1/sec/SECNamedCurves.cs | 0 .../asn1/sec/SECObjectIdentifiers.cs | 0 .../asn1/smime/SMIMEAttributes.cs | 0 .../asn1/smime/SMIMECapabilities.cs | 0 .../asn1/smime/SMIMECapabilitiesAttribute.cs | 0 .../asn1/smime/SMIMECapability.cs | 0 .../asn1/smime/SMIMECapabilityVector.cs | 0 .../SMIMEEncryptionKeyPreferenceAttribute.cs | 0 .../asn1/teletrust/TeleTrusTNamedCurves.cs | 0 .../teletrust/TeleTrusTObjectIdentifiers.cs | 0 .../BouncyCastle}/asn1/tsp/Accuracy.cs | 0 .../BouncyCastle}/asn1/tsp/MessageImprint.cs | 0 .../BouncyCastle}/asn1/tsp/TSTInfo.cs | 0 .../BouncyCastle}/asn1/tsp/TimeStampReq.cs | 0 .../BouncyCastle}/asn1/tsp/TimeStampResp.cs | 0 .../asn1/ua/UAObjectIdentifiers.cs | 0 .../BouncyCastle}/asn1/util/Asn1Dump.cs | 0 .../BouncyCastle}/asn1/util/Dump.cs | 0 .../BouncyCastle}/asn1/util/FilterStream.cs | 0 .../asn1/x500/DirectoryString.cs | 0 .../asn1/x509/AccessDescription.cs | 0 .../asn1/x509/AlgorithmIdentifier.cs | 0 .../BouncyCastle}/asn1/x509/AttCertIssuer.cs | 0 .../asn1/x509/AttCertValidityPeriod.cs | 0 .../BouncyCastle}/asn1/x509/Attribute.cs | 0 .../asn1/x509/AttributeCertificate.cs | 0 .../asn1/x509/AttributeCertificateInfo.cs | 0 .../BouncyCastle}/asn1/x509/AttributeTable.cs | 0 .../asn1/x509/AuthorityInformationAccess.cs | 0 .../asn1/x509/AuthorityKeyIdentifier.cs | 0 .../asn1/x509/BasicConstraints.cs | 0 .../BouncyCastle}/asn1/x509/CRLDistPoint.cs | 0 .../BouncyCastle}/asn1/x509/CRLNumber.cs | 0 .../BouncyCastle}/asn1/x509/CRLReason.cs | 0 .../BouncyCastle}/asn1/x509/CertPolicyId.cs | 0 .../asn1/x509/CertificateList.cs | 0 .../asn1/x509/CertificatePair.cs | 0 .../asn1/x509/CertificatePolicies.cs | 0 .../BouncyCastle}/asn1/x509/DSAParameter.cs | 0 .../BouncyCastle}/asn1/x509/DigestInfo.cs | 0 .../BouncyCastle}/asn1/x509/DisplayText.cs | 0 .../asn1/x509/DistributionPoint.cs | 0 .../asn1/x509/DistributionPointName.cs | 0 .../asn1/x509/ExtendedKeyUsage.cs | 0 .../BouncyCastle}/asn1/x509/GeneralName.cs | 0 .../BouncyCastle}/asn1/x509/GeneralNames.cs | 0 .../BouncyCastle}/asn1/x509/GeneralSubtree.cs | 0 .../BouncyCastle}/asn1/x509/Holder.cs | 0 .../BouncyCastle}/asn1/x509/IetfAttrSyntax.cs | 0 .../BouncyCastle}/asn1/x509/IssuerSerial.cs | 0 .../asn1/x509/IssuingDistributionPoint.cs | 0 .../BouncyCastle}/asn1/x509/KeyPurposeId.cs | 0 .../BouncyCastle}/asn1/x509/KeyUsage.cs | 0 .../asn1/x509/NameConstraints.cs | 0 .../asn1/x509/NoticeReference.cs | 0 .../asn1/x509/ObjectDigestInfo.cs | 0 .../asn1/x509/PolicyInformation.cs | 0 .../BouncyCastle}/asn1/x509/PolicyMappings.cs | 0 .../asn1/x509/PolicyQualifierId.cs | 0 .../asn1/x509/PolicyQualifierInfo.cs | 0 .../asn1/x509/PrivateKeyUsagePeriod.cs | 0 .../asn1/x509/RSAPublicKeyStructure.cs | 0 .../BouncyCastle}/asn1/x509/ReasonFlags.cs | 0 .../BouncyCastle}/asn1/x509/RoleSyntax.cs | 0 .../asn1/x509/SubjectDirectoryAttributes.cs | 0 .../asn1/x509/SubjectKeyIdentifier.cs | 0 .../asn1/x509/SubjectPublicKeyInfo.cs | 0 .../BouncyCastle}/asn1/x509/TBSCertList.cs | 0 .../asn1/x509/TBSCertificateStructure.cs | 0 .../BouncyCastle}/asn1/x509/Target.cs | 0 .../asn1/x509/TargetInformation.cs | 0 .../BouncyCastle}/asn1/x509/Targets.cs | 0 .../BouncyCastle}/asn1/x509/Time.cs | 0 .../BouncyCastle}/asn1/x509/UserNotice.cs | 0 .../asn1/x509/V1TBSCertificateGenerator.cs | 0 .../V2AttributeCertificateInfoGenerator.cs | 0 .../BouncyCastle}/asn1/x509/V2Form.cs | 0 .../asn1/x509/V2TBSCertListGenerator.cs | 0 .../asn1/x509/V3TBSCertificateGenerator.cs | 0 .../BouncyCastle}/asn1/x509/X509Attributes.cs | 0 .../asn1/x509/X509CertificateStructure.cs | 0 .../asn1/x509/X509DefaultEntryConverter.cs | 0 .../BouncyCastle}/asn1/x509/X509Extension.cs | 0 .../BouncyCastle}/asn1/x509/X509Extensions.cs | 0 .../asn1/x509/X509ExtensionsGenerator.cs | 0 .../BouncyCastle}/asn1/x509/X509Name.cs | 0 .../asn1/x509/X509NameEntryConverter.cs | 0 .../asn1/x509/X509NameTokenizer.cs | 0 .../asn1/x509/X509ObjectIdentifiers.cs | 0 .../asn1/x509/qualified/BiometricData.cs | 0 .../x509/qualified/ETSIQCObjectIdentifiers.cs | 0 .../x509/qualified/Iso4217CurrencyCode.cs | 0 .../asn1/x509/qualified/MonetaryValue.cs | 0 .../asn1/x509/qualified/QCStatement.cs | 0 .../qualified/RFC3739QCObjectIdentifiers.cs | 0 .../x509/qualified/SemanticsInformation.cs | 0 .../x509/qualified/TypeOfBiometricData.cs | 0 .../asn1/x509/sigi/NameOrPseudonym.cs | 0 .../asn1/x509/sigi/PersonalData.cs | 0 .../asn1/x509/sigi/SigIObjectIdentifiers.cs | 0 .../asn1/x9/DHDomainParameters.cs | 0 .../BouncyCastle}/asn1/x9/DHPublicKey.cs | 0 .../asn1/x9/DHValidationParms.cs | 0 .../asn1/x9/ECNamedCurveTable.cs | 0 .../BouncyCastle}/asn1/x9/KeySpecificInfo.cs | 0 .../BouncyCastle}/asn1/x9/OtherInfo.cs | 0 .../BouncyCastle}/asn1/x9/X962NamedCurves.cs | 0 .../BouncyCastle}/asn1/x9/X962Parameters.cs | 0 .../BouncyCastle}/asn1/x9/X9Curve.cs | 0 .../BouncyCastle}/asn1/x9/X9ECParameters.cs | 0 .../asn1/x9/X9ECParametersHolder.cs | 0 .../BouncyCastle}/asn1/x9/X9ECPoint.cs | 0 .../BouncyCastle}/asn1/x9/X9FieldElement.cs | 0 .../BouncyCastle}/asn1/x9/X9FieldID.cs | 0 .../asn1/x9/X9IntegerConverter.cs | 0 .../asn1/x9/X9ObjectIdentifiers.cs | 0 .../BouncyCastle}/bcpg/ArmoredInputStream.cs | 0 .../BouncyCastle}/bcpg/ArmoredOutputStream.cs | 0 .../BouncyCastle}/bcpg/BcpgInputStream.cs | 0 .../BouncyCastle}/bcpg/BcpgObject.cs | 0 .../BouncyCastle}/bcpg/BcpgOutputStream.cs | 0 .../bcpg/CompressedDataPacket.cs | 0 .../bcpg/CompressionAlgorithmTags.cs | 0 .../BouncyCastle}/bcpg/ContainedPacket.cs | 0 .../src => src/BouncyCastle}/bcpg/Crc24.cs | 0 .../BouncyCastle}/bcpg/DsaPublicBcpgKey.cs | 0 .../BouncyCastle}/bcpg/DsaSecretBcpgKey.cs | 0 .../BouncyCastle}/bcpg/ECDHPublicBCPGKey.cs | 0 .../BouncyCastle}/bcpg/ECDsaPublicBCPGKey.cs | 0 .../BouncyCastle}/bcpg/ECPublicBCPGKey.cs | 0 .../BouncyCastle}/bcpg/ECSecretBCPGKey.cs | 0 .../bcpg/ElGamalPublicBcpgKey.cs | 0 .../bcpg/ElGamalSecretBcpgKey.cs | 0 .../BouncyCastle}/bcpg/ExperimentalPacket.cs | 0 .../BouncyCastle}/bcpg/HashAlgorithmTags.cs | 0 .../src => src/BouncyCastle}/bcpg/IBcpgKey.cs | 0 .../BouncyCastle}/bcpg/InputStreamPacket.cs | 0 .../BouncyCastle}/bcpg/LiteralDataPacket.cs | 0 .../BouncyCastle}/bcpg/MPInteger.cs | 0 .../BouncyCastle}/bcpg/MarkerPacket.cs | 0 .../bcpg/ModDetectionCodePacket.cs | 0 .../bcpg/OnePassSignaturePacket.cs | 0 .../BouncyCastle}/bcpg/OutputStreamPacket.cs | 0 .../src => src/BouncyCastle}/bcpg/Packet.cs | 0 .../BouncyCastle}/bcpg/PacketTags.cs | 0 .../bcpg/PublicKeyAlgorithmTags.cs | 0 .../bcpg/PublicKeyEncSessionPacket.cs | 0 .../BouncyCastle}/bcpg/PublicKeyPacket.cs | 0 .../BouncyCastle}/bcpg/PublicSubkeyPacket.cs | 0 .../BouncyCastle}/bcpg/RsaPublicBcpgKey.cs | 0 .../BouncyCastle}/bcpg/RsaSecretBcpgKey.cs | 0 {crypto/src => src/BouncyCastle}/bcpg/S2k.cs | 0 .../BouncyCastle}/bcpg/SecretKeyPacket.cs | 0 .../BouncyCastle}/bcpg/SecretSubkeyPacket.cs | 0 .../BouncyCastle}/bcpg/SignaturePacket.cs | 0 .../BouncyCastle}/bcpg/SignatureSubpacket.cs | 0 .../bcpg/SignatureSubpacketTags.cs | 0 .../bcpg/SignatureSubpacketsReader.cs | 0 .../bcpg/SymmetricEncDataPacket.cs | 0 .../bcpg/SymmetricEncIntegrityPacket.cs | 0 .../bcpg/SymmetricKeyAlgorithmTags.cs | 0 .../bcpg/SymmetricKeyEncSessionPacket.cs | 0 .../BouncyCastle}/bcpg/TrustPacket.cs | 0 .../BouncyCastle}/bcpg/UserAttributePacket.cs | 0 .../bcpg/UserAttributeSubpacket.cs | 0 .../bcpg/UserAttributeSubpacketTags.cs | 0 .../bcpg/UserAttributeSubpacketsReader.cs | 0 .../BouncyCastle}/bcpg/UserIdPacket.cs | 0 .../BouncyCastle}/bcpg/attr/ImageAttrib.cs | 0 .../bcpg/sig/EmbeddedSignature.cs | 0 .../BouncyCastle}/bcpg/sig/Exportable.cs | 0 .../BouncyCastle}/bcpg/sig/Features.cs | 0 .../BouncyCastle}/bcpg/sig/IssuerKeyId.cs | 0 .../bcpg/sig/KeyExpirationTime.cs | 0 .../BouncyCastle}/bcpg/sig/KeyFlags.cs | 0 .../BouncyCastle}/bcpg/sig/NotationData.cs | 0 .../bcpg/sig/PreferredAlgorithms.cs | 0 .../BouncyCastle}/bcpg/sig/PrimaryUserId.cs | 0 .../BouncyCastle}/bcpg/sig/Revocable.cs | 0 .../BouncyCastle}/bcpg/sig/RevocationKey.cs | 0 .../bcpg/sig/RevocationKeyTags.cs | 0 .../bcpg/sig/RevocationReason.cs | 0 .../bcpg/sig/RevocationReasonTags.cs | 0 .../bcpg/sig/SignatureCreationTime.cs | 0 .../bcpg/sig/SignatureExpirationTime.cs | 0 .../BouncyCastle}/bcpg/sig/SignerUserId.cs | 0 .../BouncyCastle}/bcpg/sig/TrustSignature.cs | 0 .../BouncyCastle}/bzip2/src/BZip2Constants.cs | 0 .../bzip2/src/CBZip2InputStream.cs | 0 .../bzip2/src/CBZip2OutputStream.cs | 0 {crypto => src/BouncyCastle}/bzip2/src/CRC.cs | 0 {crypto => src/BouncyCastle}/checklist.txt | 0 .../BouncyCastle}/cms/BaseDigestCalculator.cs | 0 .../CMSAttributeTableGenerationException.cs | 0 .../cms/CMSAttributeTableGenerator.cs | 0 .../BouncyCastle}/cms/CMSAuthEnvelopedData.cs | 0 .../cms/CMSAuthEnvelopedGenerator.cs | 0 .../BouncyCastle}/cms/CMSAuthenticatedData.cs | 0 .../cms/CMSAuthenticatedDataGenerator.cs | 0 .../cms/CMSAuthenticatedDataParser.cs | 0 .../CMSAuthenticatedDataStreamGenerator.cs | 0 .../cms/CMSAuthenticatedGenerator.cs | 0 .../BouncyCastle}/cms/CMSCompressedData.cs | 0 .../cms/CMSCompressedDataGenerator.cs | 0 .../cms/CMSCompressedDataParser.cs | 0 .../cms/CMSCompressedDataStreamGenerator.cs | 0 .../BouncyCastle}/cms/CMSContentInfoParser.cs | 0 .../BouncyCastle}/cms/CMSEnvelopedData.cs | 0 .../cms/CMSEnvelopedDataGenerator.cs | 0 .../cms/CMSEnvelopedDataParser.cs | 0 .../cms/CMSEnvelopedDataStreamGenerator.cs | 0 .../cms/CMSEnvelopedGenerator.cs | 0 .../BouncyCastle}/cms/CMSEnvelopedHelper.cs | 0 .../BouncyCastle}/cms/CMSException.cs | 0 .../src => src/BouncyCastle}/cms/CMSPBEKey.cs | 0 .../BouncyCastle}/cms/CMSProcessable.cs | 0 .../cms/CMSProcessableByteArray.cs | 0 .../BouncyCastle}/cms/CMSProcessableFile.cs | 0 .../cms/CMSProcessableInputStream.cs | 0 .../BouncyCastle}/cms/CMSReadable.cs | 0 .../BouncyCastle}/cms/CMSSecureReadable.cs | 0 .../BouncyCastle}/cms/CMSSignedData.cs | 0 .../cms/CMSSignedDataGenerator.cs | 0 .../BouncyCastle}/cms/CMSSignedDataParser.cs | 0 .../cms/CMSSignedDataStreamGenerator.cs | 0 .../BouncyCastle}/cms/CMSSignedGenerator.cs | 0 .../BouncyCastle}/cms/CMSSignedHelper.cs | 0 .../BouncyCastle}/cms/CMSStreamException.cs | 0 .../BouncyCastle}/cms/CMSTypedStream.cs | 0 .../src => src/BouncyCastle}/cms/CMSUtils.cs | 0 .../cms/CounterSignatureDigestCalculator.cs | 0 ...ultAuthenticatedAttributeTableGenerator.cs | 0 .../DefaultSignedAttributeTableGenerator.cs | 0 .../BouncyCastle}/cms/IDigestCalculator.cs | 0 .../cms/KEKRecipientInfoGenerator.cs | 0 .../cms/KEKRecipientInformation.cs | 0 .../cms/KeyAgreeRecipientInfoGenerator.cs | 0 .../cms/KeyAgreeRecipientInformation.cs | 0 .../cms/KeyTransRecipientInfoGenerator.cs | 0 .../cms/KeyTransRecipientInformation.cs | 0 .../BouncyCastle}/cms/OriginatorId.cs | 0 .../cms/OriginatorInfoGenerator.cs | 0 .../cms/OriginatorInformation.cs | 0 .../BouncyCastle}/cms/PKCS5Scheme2PBEKey.cs | 0 .../cms/PKCS5Scheme2UTF8PBEKey.cs | 0 .../cms/PasswordRecipientInfoGenerator.cs | 0 .../cms/PasswordRecipientInformation.cs | 0 .../BouncyCastle}/cms/RecipientId.cs | 0 .../cms/RecipientInfoGenerator.cs | 0 .../BouncyCastle}/cms/RecipientInformation.cs | 0 .../cms/RecipientInformationStore.cs | 0 .../src => src/BouncyCastle}/cms/SignerId.cs | 0 .../BouncyCastle}/cms/SignerInfoGenerator.cs | 0 .../BouncyCastle}/cms/SignerInformation.cs | 0 .../cms/SignerInformationStore.cs | 0 .../cms/SimpleAttributeTableGenerator.cs | 0 .../crypto/AsymmetricCipherKeyPair.cs | 0 .../crypto/AsymmetricKeyParameter.cs | 0 .../crypto/BufferedAeadBlockCipher.cs | 0 .../crypto/BufferedAsymmetricBlockCipher.cs | 0 .../crypto/BufferedBlockCipher.cs | 0 .../crypto/BufferedCipherBase.cs | 0 .../BouncyCastle}/crypto/BufferedIesCipher.cs | 0 .../crypto/BufferedStreamCipher.cs | 0 .../src => src/BouncyCastle}/crypto/Check.cs | 0 .../crypto/CipherKeyGenerator.cs | 0 .../BouncyCastle}/crypto/CryptoException.cs | 0 .../crypto/DataLengthException.cs | 0 .../crypto/IAsymmetricBlockCipher.cs | 0 .../IAsymmetricCipherKeyPairGenerator.cs | 0 .../BouncyCastle}/crypto/IBasicAgreement.cs | 0 .../BouncyCastle}/crypto/IBlockCipher.cs | 0 .../BouncyCastle}/crypto/IBlockResult.cs | 0 .../BouncyCastle}/crypto/IBufferedCipher.cs | 0 .../BouncyCastle}/crypto/ICipherParameters.cs | 0 .../src => src/BouncyCastle}/crypto/IDSA.cs | 0 .../crypto/IDerivationFunction.cs | 0 .../crypto/IDerivationParameters.cs | 0 .../BouncyCastle}/crypto/IDigest.cs | 0 .../BouncyCastle}/crypto/IDsaExt.cs | 0 .../BouncyCastle}/crypto/IEntropySource.cs | 0 .../crypto/IEntropySourceProvider.cs | 0 .../src => src/BouncyCastle}/crypto/IMac.cs | 0 .../BouncyCastle}/crypto/IRawAgreement.cs | 0 .../src => src/BouncyCastle}/crypto/IRsa.cs | 0 .../BouncyCastle}/crypto/ISignatureFactory.cs | 0 .../BouncyCastle}/crypto/ISigner.cs | 0 .../crypto/ISignerWithRecovery.cs | 0 .../BouncyCastle}/crypto/IStreamCalculator.cs | 0 .../BouncyCastle}/crypto/IStreamCipher.cs | 0 .../BouncyCastle}/crypto/IVerifier.cs | 0 .../BouncyCastle}/crypto/IVerifierFactory.cs | 0 .../crypto/IVerifierFactoryProvider.cs | 0 .../BouncyCastle}/crypto/IWrapper.cs | 0 .../src => src/BouncyCastle}/crypto/IXof.cs | 0 .../crypto/InvalidCipherTextException.cs | 0 .../crypto/KeyGenerationParameters.cs | 0 .../crypto/MaxBytesExceededException.cs | 0 .../crypto/OutputLengthException.cs | 0 .../crypto/PbeParametersGenerator.cs | 0 .../BouncyCastle}/crypto/StreamBlockCipher.cs | 0 .../crypto/agreement/DHAgreement.cs | 0 .../crypto/agreement/DHBasicAgreement.cs | 0 .../crypto/agreement/DHStandardGroups.cs | 0 .../crypto/agreement/ECDHBasicAgreement.cs | 0 .../crypto/agreement/ECDHCBasicAgreement.cs | 0 .../agreement/ECDHWithKdfBasicAgreement.cs | 0 .../crypto/agreement/ECMqvBasicAgreement.cs | 0 .../agreement/ECMqvWithKdfBasicAgreement.cs | 0 .../crypto/agreement/SM2KeyExchange.cs | 0 .../crypto/agreement/X25519Agreement.cs | 0 .../crypto/agreement/X448Agreement.cs | 0 .../agreement/jpake/JPakeParticipant.cs | 0 .../agreement/jpake/JPakePrimeOrderGroup.cs | 0 .../agreement/jpake/JPakePrimeOrderGroups.cs | 0 .../agreement/jpake/JPakeRound1Payload.cs | 0 .../agreement/jpake/JPakeRound2Payload.cs | 0 .../agreement/jpake/JPakeRound3Payload.cs | 0 .../crypto/agreement/jpake/JPakeUtilities.cs | 0 .../kdf/ConcatenationKdfGenerator.cs | 0 .../crypto/agreement/kdf/DHKdfParameters.cs | 0 .../crypto/agreement/kdf/DHKekGenerator.cs | 0 .../crypto/agreement/kdf/ECDHKekGenerator.cs | 0 .../crypto/agreement/srp/SRP6Client.cs | 0 .../crypto/agreement/srp/SRP6Server.cs | 0 .../agreement/srp/SRP6StandardGroups.cs | 0 .../crypto/agreement/srp/SRP6Utilities.cs | 0 .../agreement/srp/SRP6VerifierGenerator.cs | 0 .../crypto/digests/Blake2bDigest.cs | 0 .../crypto/digests/Blake2sDigest.cs | 0 .../crypto/digests/DSTU7564Digest.cs | 0 .../crypto/digests/GOST3411Digest.cs | 0 .../crypto/digests/GOST3411_2012Digest.cs | 0 .../crypto/digests/GOST3411_2012_256Digest.cs | 0 .../crypto/digests/GOST3411_2012_512Digest.cs | 0 .../crypto/digests/GeneralDigest.cs | 0 .../crypto/digests/KeccakDigest.cs | 0 .../crypto/digests/LongDigest.cs | 0 .../BouncyCastle}/crypto/digests/MD2Digest.cs | 0 .../BouncyCastle}/crypto/digests/MD4Digest.cs | 0 .../BouncyCastle}/crypto/digests/MD5Digest.cs | 0 .../crypto/digests/NonMemoableDigest.cs | 0 .../crypto/digests/NullDigest.cs | 0 .../crypto/digests/RipeMD128Digest.cs | 0 .../crypto/digests/RipeMD160Digest.cs | 0 .../crypto/digests/RipeMD256Digest.cs | 0 .../crypto/digests/RipeMD320Digest.cs | 0 .../crypto/digests/SHA3Digest.cs | 0 .../BouncyCastle}/crypto/digests/SM3Digest.cs | 0 .../crypto/digests/Sha1Digest.cs | 0 .../crypto/digests/Sha224Digest.cs | 0 .../crypto/digests/Sha256Digest.cs | 0 .../crypto/digests/Sha384Digest.cs | 0 .../crypto/digests/Sha512Digest.cs | 0 .../crypto/digests/Sha512tDigest.cs | 0 .../crypto/digests/ShakeDigest.cs | 0 .../crypto/digests/ShortenedDigest.cs | 0 .../crypto/digests/SkeinDigest.cs | 0 .../crypto/digests/SkeinEngine.cs | 0 .../crypto/digests/TigerDigest.cs | 0 .../crypto/digests/WhirlpoolDigest.cs | 0 .../crypto/ec/CustomNamedCurves.cs | 0 .../crypto/encodings/ISO9796d1Encoding.cs | 0 .../crypto/encodings/OaepEncoding.cs | 0 .../crypto/encodings/Pkcs1Encoding.cs | 0 .../BouncyCastle}/crypto/engines/AesEngine.cs | 0 .../crypto/engines/AesFastEngine.cs | 0 .../crypto/engines/AesLightEngine.cs | 0 .../crypto/engines/AesWrapEngine.cs | 0 .../crypto/engines/BlowfishEngine.cs | 0 .../crypto/engines/CamelliaEngine.cs | 0 .../crypto/engines/CamelliaLightEngine.cs | 0 .../crypto/engines/CamelliaWrapEngine.cs | 0 .../crypto/engines/Cast5Engine.cs | 0 .../crypto/engines/Cast6Engine.cs | 0 .../crypto/engines/ChaCha7539Engine.cs | 0 .../crypto/engines/ChaChaEngine.cs | 0 .../crypto/engines/DesEdeEngine.cs | 0 .../crypto/engines/DesEdeWrapEngine.cs | 0 .../BouncyCastle}/crypto/engines/DesEngine.cs | 0 .../crypto/engines/Dstu7624Engine.cs | 0 .../crypto/engines/Dstu7624WrapEngine.cs | 0 .../crypto/engines/ElGamalEngine.cs | 0 .../crypto/engines/GOST28147Engine.cs | 0 .../crypto/engines/HC128Engine.cs | 0 .../crypto/engines/HC256Engine.cs | 0 .../crypto/engines/ISAACEngine.cs | 0 .../crypto/engines/IdeaEngine.cs | 0 .../BouncyCastle}/crypto/engines/IesEngine.cs | 0 .../crypto/engines/NaccacheSternEngine.cs | 0 .../crypto/engines/NoekeonEngine.cs | 0 .../crypto/engines/NullEngine.cs | 0 .../BouncyCastle}/crypto/engines/RC2Engine.cs | 0 .../crypto/engines/RC2WrapEngine.cs | 0 .../BouncyCastle}/crypto/engines/RC4Engine.cs | 0 .../crypto/engines/RC532Engine.cs | 0 .../crypto/engines/RC564Engine.cs | 0 .../BouncyCastle}/crypto/engines/RC6Engine.cs | 0 .../crypto/engines/RFC3211WrapEngine.cs | 0 .../crypto/engines/RFC3394WrapEngine.cs | 0 .../crypto/engines/RSABlindedEngine.cs | 0 .../crypto/engines/RSABlindingEngine.cs | 0 .../crypto/engines/RSACoreEngine.cs | 0 .../crypto/engines/RijndaelEngine.cs | 0 .../BouncyCastle}/crypto/engines/RsaEngine.cs | 0 .../crypto/engines/SEEDEngine.cs | 0 .../crypto/engines/SEEDWrapEngine.cs | 0 .../BouncyCastle}/crypto/engines/SM2Engine.cs | 0 .../BouncyCastle}/crypto/engines/SM4Engine.cs | 0 .../crypto/engines/Salsa20Engine.cs | 0 .../crypto/engines/SerpentEngine.cs | 0 .../crypto/engines/SerpentEngineBase.cs | 0 .../crypto/engines/SkipjackEngine.cs | 0 .../BouncyCastle}/crypto/engines/TEAEngine.cs | 0 .../crypto/engines/ThreefishEngine.cs | 0 .../crypto/engines/TnepresEngine.cs | 0 .../crypto/engines/TwofishEngine.cs | 0 .../crypto/engines/VMPCEngine.cs | 0 .../crypto/engines/VMPCKSA3Engine.cs | 0 .../crypto/engines/XSalsa20Engine.cs | 0 .../crypto/engines/XTEAEngine.cs | 0 .../BouncyCastle}/crypto/generators/BCrypt.cs | 0 .../generators/BaseKdfBytesGenerator.cs | 0 .../generators/DHBasicKeyPairGenerator.cs | 0 .../crypto/generators/DHKeyGeneratorHelper.cs | 0 .../crypto/generators/DHKeyPairGenerator.cs | 0 .../generators/DHParametersGenerator.cs | 0 .../crypto/generators/DHParametersHelper.cs | 0 .../crypto/generators/DesEdeKeyGenerator.cs | 0 .../crypto/generators/DesKeyGenerator.cs | 0 .../crypto/generators/DsaKeyPairGenerator.cs | 0 .../generators/DsaParametersGenerator.cs | 0 .../crypto/generators/ECKeyPairGenerator.cs | 0 .../generators/Ed25519KeyPairGenerator.cs | 0 .../generators/Ed448KeyPairGenerator.cs | 0 .../generators/ElGamalKeyPairGenerator.cs | 0 .../generators/ElGamalParametersGenerator.cs | 0 .../generators/GOST3410KeyPairGenerator.cs | 0 .../generators/GOST3410ParametersGenerator.cs | 0 .../crypto/generators/HKDFBytesGenerator.cs | 0 .../crypto/generators/Kdf1BytesGenerator.cs | 0 .../crypto/generators/Kdf2BytesGenerator.cs | 0 .../crypto/generators/Mgf1BytesGenerator.cs | 0 .../NaccacheSternKeyPairGenerator.cs | 0 .../crypto/generators/OpenBsdBCrypt.cs | 0 .../OpenSSLPBEParametersGenerator.cs | 0 .../generators/Pkcs12ParametersGenerator.cs | 0 .../generators/Pkcs5S1ParametersGenerator.cs | 0 .../generators/Pkcs5S2ParametersGenerator.cs | 0 .../crypto/generators/Poly1305KeyGenerator.cs | 0 .../generators/RSABlindingFactorGenerator.cs | 0 .../crypto/generators/RsaKeyPairGenerator.cs | 0 .../BouncyCastle}/crypto/generators/SCrypt.cs | 0 .../generators/X25519KeyPairGenerator.cs | 0 .../crypto/generators/X448KeyPairGenerator.cs | 0 .../BouncyCastle}/crypto/io/CipherStream.cs | 0 .../BouncyCastle}/crypto/io/DigestSink.cs | 0 .../BouncyCastle}/crypto/io/DigestStream.cs | 0 .../BouncyCastle}/crypto/io/MacSink.cs | 0 .../BouncyCastle}/crypto/io/MacStream.cs | 0 .../BouncyCastle}/crypto/io/SignerSink.cs | 0 .../BouncyCastle}/crypto/io/SignerStream.cs | 0 .../BouncyCastle}/crypto/macs/CMac.cs | 0 .../crypto/macs/CbcBlockCipherMac.cs | 0 .../crypto/macs/CfbBlockCipherMac.cs | 0 .../BouncyCastle}/crypto/macs/DSTU7564Mac.cs | 0 .../BouncyCastle}/crypto/macs/DSTU7624Mac.cs | 0 .../BouncyCastle}/crypto/macs/GMac.cs | 0 .../BouncyCastle}/crypto/macs/GOST28147Mac.cs | 0 .../BouncyCastle}/crypto/macs/HMac.cs | 0 .../crypto/macs/ISO9797Alg3Mac.cs | 0 .../BouncyCastle}/crypto/macs/Poly1305.cs | 0 .../BouncyCastle}/crypto/macs/SipHash.cs | 0 .../BouncyCastle}/crypto/macs/SkeinMac.cs | 0 .../BouncyCastle}/crypto/macs/VMPCMac.cs | 0 .../crypto/modes/CbcBlockCipher.cs | 0 .../crypto/modes/CcmBlockCipher.cs | 0 .../crypto/modes/CfbBlockCipher.cs | 0 .../crypto/modes/CtsBlockCipher.cs | 0 .../crypto/modes/EAXBlockCipher.cs | 0 .../crypto/modes/GCMBlockCipher.cs | 0 .../crypto/modes/GOFBBlockCipher.cs | 0 .../crypto/modes/IAeadBlockCipher.cs | 0 .../crypto/modes/KCcmBlockCipher.cs | 0 .../crypto/modes/KCtrBlockCipher.cs | 0 .../crypto/modes/OCBBlockCipher.cs | 0 .../crypto/modes/OfbBlockCipher.cs | 0 .../crypto/modes/OpenPgpCfbBlockCipher.cs | 0 .../crypto/modes/SicBlockCipher.cs | 0 .../crypto/modes/gcm/BasicGcmExponentiator.cs | 0 .../crypto/modes/gcm/BasicGcmMultiplier.cs | 0 .../crypto/modes/gcm/GcmUtilities.cs | 0 .../crypto/modes/gcm/IGcmExponentiator.cs | 0 .../crypto/modes/gcm/IGcmMultiplier.cs | 0 .../modes/gcm/Tables1kGcmExponentiator.cs | 0 .../modes/gcm/Tables64kGcmMultiplier.cs | 0 .../crypto/modes/gcm/Tables8kGcmMultiplier.cs | 0 .../crypto/operators/Asn1Signature.cs | 0 .../operators/DefaultSignatureCalculator.cs | 0 .../operators/DefaultSignatureResult.cs | 0 .../operators/DefaultVerifierCalculator.cs | 0 .../crypto/operators/DefaultVerifierResult.cs | 0 .../crypto/paddings/BlockCipherPadding.cs | 0 .../crypto/paddings/ISO10126d2Padding.cs | 0 .../crypto/paddings/ISO7816d4Padding.cs | 0 .../paddings/PaddedBufferedBlockCipher.cs | 0 .../crypto/paddings/Pkcs7Padding.cs | 0 .../crypto/paddings/TbcPadding.cs | 0 .../crypto/paddings/X923Padding.cs | 0 .../crypto/paddings/ZeroBytePadding.cs | 0 .../crypto/parameters/AEADParameters.cs | 0 .../crypto/parameters/CcmParameters.cs | 0 .../parameters/DHKeyGenerationParameters.cs | 0 .../crypto/parameters/DHKeyParameters.cs | 0 .../crypto/parameters/DHParameters.cs | 0 .../parameters/DHPrivateKeyParameters.cs | 0 .../parameters/DHPublicKeyParameters.cs | 0 .../parameters/DHValidationParameters.cs | 0 .../DSAParameterGenerationParameters.cs | 0 .../crypto/parameters/DesEdeParameters.cs | 0 .../crypto/parameters/DesParameters.cs | 0 .../parameters/DsaKeyGenerationParameters.cs | 0 .../crypto/parameters/DsaKeyParameters.cs | 0 .../crypto/parameters/DsaParameters.cs | 0 .../parameters/DsaPrivateKeyParameters.cs | 0 .../parameters/DsaPublicKeyParameters.cs | 0 .../parameters/DsaValidationParameters.cs | 0 .../crypto/parameters/ECDomainParameters.cs | 0 .../parameters/ECKeyGenerationParameters.cs | 0 .../crypto/parameters/ECKeyParameters.cs | 0 .../parameters/ECPrivateKeyParameters.cs | 0 .../parameters/ECPublicKeyParameters.cs | 0 .../Ed25519KeyGenerationParameters.cs | 0 .../parameters/Ed25519PrivateKeyParameters.cs | 0 .../parameters/Ed25519PublicKeyParameters.cs | 0 .../Ed448KeyGenerationParameters.cs | 0 .../parameters/Ed448PrivateKeyParameters.cs | 0 .../parameters/Ed448PublicKeyParameters.cs | 0 .../ElGamalKeyGenerationParameters.cs | 0 .../crypto/parameters/ElGamalKeyParameters.cs | 0 .../crypto/parameters/ElGamalParameters.cs | 0 .../parameters/ElGamalPrivateKeyParameters.cs | 0 .../parameters/ElGamalPublicKeyParameters.cs | 0 .../GOST3410KeyGenerationParameters.cs | 0 .../parameters/GOST3410KeyParameters.cs | 0 .../crypto/parameters/GOST3410Parameters.cs | 0 .../GOST3410PrivateKeyParameters.cs | 0 .../parameters/GOST3410PublicKeyParameters.cs | 0 .../GOST3410ValidationParameters.cs | 0 .../crypto/parameters/HKDFParameters.cs | 0 .../parameters/ISO18033KDFParameters.cs | 0 .../crypto/parameters/IesParameters.cs | 0 .../parameters/IesWithCipherParameters.cs | 0 .../crypto/parameters/KdfParameters.cs | 0 .../crypto/parameters/KeyParameter.cs | 0 .../crypto/parameters/MgfParameters.cs | 0 .../crypto/parameters/MqvPrivateParameters.cs | 0 .../crypto/parameters/MqvPublicParameters.cs | 0 .../NaccacheSternKeyGenerationParameters.cs | 0 .../parameters/NaccacheSternKeyParameters.cs | 0 .../NaccacheSternPrivateKeyParameters.cs | 0 .../crypto/parameters/ParametersWithID.cs | 0 .../crypto/parameters/ParametersWithIV.cs | 0 .../crypto/parameters/ParametersWithRandom.cs | 0 .../crypto/parameters/ParametersWithSBox.cs | 0 .../crypto/parameters/ParametersWithSalt.cs | 0 .../crypto/parameters/RC2Parameters.cs | 0 .../crypto/parameters/RC5Parameters.cs | 0 .../parameters/RSABlindingParameters.cs | 0 .../parameters/RsaKeyGenerationParameters.cs | 0 .../crypto/parameters/RsaKeyParameters.cs | 0 .../parameters/RsaPrivateCrtKeyParameters.cs | 0 .../SM2KeyExchangePrivateParameters.cs | 0 .../SM2KeyExchangePublicParameters.cs | 0 .../crypto/parameters/SkeinParameters.cs | 0 .../crypto/parameters/Srp6GroupParameters.cs | 0 .../TweakableBlockCipherParameters.cs | 0 .../X25519KeyGenerationParameters.cs | 0 .../parameters/X25519PrivateKeyParameters.cs | 0 .../parameters/X25519PublicKeyParameters.cs | 0 .../parameters/X448KeyGenerationParameters.cs | 0 .../parameters/X448PrivateKeyParameters.cs | 0 .../parameters/X448PublicKeyParameters.cs | 0 .../crypto/prng/BasicEntropySourceProvider.cs | 0 .../prng/CryptoApiEntropySourceProvider.cs | 0 .../crypto/prng/CryptoApiRandomGenerator.cs | 0 .../crypto/prng/DigestRandomGenerator.cs | 0 .../crypto/prng/EntropyUtilities.cs | 0 .../crypto/prng/IDrbgProvider.cs | 0 .../crypto/prng/IRandomGenerator.cs | 0 .../crypto/prng/ReversedWindowGenerator.cs | 0 .../crypto/prng/SP800SecureRandom.cs | 0 .../crypto/prng/SP800SecureRandomBuilder.cs | 0 .../crypto/prng/ThreadedSeedGenerator.cs | 0 .../crypto/prng/VMPCRandomGenerator.cs | 0 .../BouncyCastle}/crypto/prng/X931Rng.cs | 0 .../crypto/prng/X931SecureRandom.cs | 0 .../crypto/prng/X931SecureRandomBuilder.cs | 0 .../crypto/prng/drbg/CtrSP800Drbg.cs | 0 .../crypto/prng/drbg/DrbgUtilities.cs | 0 .../crypto/prng/drbg/HMacSP800Drbg.cs | 0 .../crypto/prng/drbg/HashSP800Drbg.cs | 0 .../crypto/prng/drbg/ISP80090Drbg.cs | 0 .../crypto/signers/DsaDigestSigner.cs | 0 .../BouncyCastle}/crypto/signers/DsaSigner.cs | 0 .../crypto/signers/ECDsaSigner.cs | 0 .../crypto/signers/ECGOST3410Signer.cs | 0 .../crypto/signers/ECNRSigner.cs | 0 .../crypto/signers/Ed25519Signer.cs | 0 .../crypto/signers/Ed25519ctxSigner.cs | 0 .../crypto/signers/Ed25519phSigner.cs | 0 .../crypto/signers/Ed448Signer.cs | 0 .../crypto/signers/Ed448phSigner.cs | 0 .../crypto/signers/GOST3410DigestSigner.cs | 0 .../crypto/signers/GOST3410Signer.cs | 0 .../crypto/signers/GenericSigner.cs | 0 .../crypto/signers/HMacDsaKCalculator.cs | 0 .../crypto/signers/IDsaEncoding.cs | 0 .../crypto/signers/IDsaKCalculator.cs | 0 .../crypto/signers/Iso9796d2PssSigner.cs | 0 .../crypto/signers/Iso9796d2Signer.cs | 0 .../crypto/signers/IsoTrailers.cs | 0 .../crypto/signers/PlainDsaEncoding.cs | 0 .../BouncyCastle}/crypto/signers/PssSigner.cs | 0 .../crypto/signers/RandomDsaKCalculator.cs | 0 .../crypto/signers/RsaDigestSigner.cs | 0 .../BouncyCastle}/crypto/signers/SM2Signer.cs | 0 .../crypto/signers/StandardDsaEncoding.cs | 0 .../crypto/signers/X931Signer.cs | 0 .../tls/AbstractTlsAgreementCredentials.cs | 0 .../crypto/tls/AbstractTlsCipherFactory.cs | 0 .../crypto/tls/AbstractTlsClient.cs | 0 .../crypto/tls/AbstractTlsContext.cs | 0 .../crypto/tls/AbstractTlsCredentials.cs | 0 .../tls/AbstractTlsEncryptionCredentials.cs | 0 .../crypto/tls/AbstractTlsKeyExchange.cs | 0 .../crypto/tls/AbstractTlsPeer.cs | 0 .../crypto/tls/AbstractTlsServer.cs | 0 .../crypto/tls/AbstractTlsSigner.cs | 0 .../tls/AbstractTlsSignerCredentials.cs | 0 .../crypto/tls/AlertDescription.cs | 0 .../BouncyCastle}/crypto/tls/AlertLevel.cs | 0 .../crypto/tls/BasicTlsPskIdentity.cs | 0 .../crypto/tls/BulkCipherAlgorithm.cs | 0 .../BouncyCastle}/crypto/tls/ByteQueue.cs | 0 .../crypto/tls/ByteQueueStream.cs | 0 .../BouncyCastle}/crypto/tls/CertChainType.cs | 0 .../BouncyCastle}/crypto/tls/Certificate.cs | 0 .../crypto/tls/CertificateRequest.cs | 0 .../crypto/tls/CertificateStatus.cs | 0 .../crypto/tls/CertificateStatusRequest.cs | 0 .../crypto/tls/CertificateStatusType.cs | 0 .../crypto/tls/CertificateType.cs | 0 .../crypto/tls/CertificateUrl.cs | 0 .../crypto/tls/Chacha20Poly1305.cs | 0 .../crypto/tls/ChangeCipherSpec.cs | 0 .../BouncyCastle}/crypto/tls/CipherSuite.cs | 0 .../BouncyCastle}/crypto/tls/CipherType.cs | 0 .../crypto/tls/ClientAuthenticationType.cs | 0 .../crypto/tls/ClientCertificateType.cs | 0 .../BouncyCastle}/crypto/tls/CombinedHash.cs | 0 .../crypto/tls/CompressionMethod.cs | 0 .../BouncyCastle}/crypto/tls/ConnectionEnd.cs | 0 .../BouncyCastle}/crypto/tls/ContentType.cs | 0 .../crypto/tls/DatagramTransport.cs | 0 .../tls/DefaultTlsAgreementCredentials.cs | 0 .../crypto/tls/DefaultTlsCipherFactory.cs | 0 .../crypto/tls/DefaultTlsClient.cs | 0 .../crypto/tls/DefaultTlsDHVerifier.cs | 0 .../tls/DefaultTlsEncryptionCredentials.cs | 0 .../crypto/tls/DefaultTlsServer.cs | 0 .../crypto/tls/DefaultTlsSignerCredentials.cs | 0 .../crypto/tls/DefaultTlsSrpGroupVerifier.cs | 0 .../BouncyCastle}/crypto/tls/DeferredHash.cs | 0 .../crypto/tls/DigestInputBuffer.cs | 0 .../crypto/tls/DigitallySigned.cs | 0 .../crypto/tls/DtlsClientProtocol.cs | 0 .../BouncyCastle}/crypto/tls/DtlsEpoch.cs | 0 .../crypto/tls/DtlsHandshakeRetransmit.cs | 0 .../BouncyCastle}/crypto/tls/DtlsProtocol.cs | 0 .../crypto/tls/DtlsReassembler.cs | 0 .../crypto/tls/DtlsRecordLayer.cs | 0 .../crypto/tls/DtlsReliableHandshake.cs | 0 .../crypto/tls/DtlsReplayWindow.cs | 0 .../crypto/tls/DtlsServerProtocol.cs | 0 .../BouncyCastle}/crypto/tls/DtlsTransport.cs | 0 .../BouncyCastle}/crypto/tls/ECBasisType.cs | 0 .../BouncyCastle}/crypto/tls/ECCurveType.cs | 0 .../BouncyCastle}/crypto/tls/ECPointFormat.cs | 0 .../crypto/tls/EncryptionAlgorithm.cs | 0 .../BouncyCastle}/crypto/tls/ExporterLabel.cs | 0 .../BouncyCastle}/crypto/tls/ExtensionType.cs | 0 .../crypto/tls/FiniteFieldDheGroup.cs | 0 .../BouncyCastle}/crypto/tls/HandshakeType.cs | 0 .../BouncyCastle}/crypto/tls/HashAlgorithm.cs | 0 .../crypto/tls/HeartbeatExtension.cs | 0 .../crypto/tls/HeartbeatMessage.cs | 0 .../crypto/tls/HeartbeatMessageType.cs | 0 .../BouncyCastle}/crypto/tls/HeartbeatMode.cs | 0 .../crypto/tls/KeyExchangeAlgorithm.cs | 0 .../BouncyCastle}/crypto/tls/MacAlgorithm.cs | 0 .../crypto/tls/MaxFragmentLength.cs | 0 .../BouncyCastle}/crypto/tls/NameType.cs | 0 .../BouncyCastle}/crypto/tls/NamedCurve.cs | 0 .../crypto/tls/NewSessionTicket.cs | 0 .../crypto/tls/OcspStatusRequest.cs | 0 .../BouncyCastle}/crypto/tls/PrfAlgorithm.cs | 0 .../crypto/tls/ProtocolVersion.cs | 0 .../BouncyCastle}/crypto/tls/PskTlsClient.cs | 0 .../BouncyCastle}/crypto/tls/PskTlsServer.cs | 0 .../BouncyCastle}/crypto/tls/RecordStream.cs | 0 .../crypto/tls/SecurityParameters.cs | 0 .../BouncyCastle}/crypto/tls/ServerName.cs | 0 .../crypto/tls/ServerNameList.cs | 0 .../crypto/tls/ServerOnlyTlsAuthentication.cs | 0 .../crypto/tls/ServerSrpParams.cs | 0 .../crypto/tls/SessionParameters.cs | 0 .../crypto/tls/SignatureAlgorithm.cs | 0 .../crypto/tls/SignatureAndHashAlgorithm.cs | 0 .../crypto/tls/SignerInputBuffer.cs | 0 .../tls/SimulatedTlsSrpIdentityManager.cs | 0 .../BouncyCastle}/crypto/tls/SrpTlsClient.cs | 0 .../BouncyCastle}/crypto/tls/SrpTlsServer.cs | 0 .../crypto/tls/SrtpProtectionProfile.cs | 0 .../BouncyCastle}/crypto/tls/Ssl3Mac.cs | 0 .../crypto/tls/SupplementalDataEntry.cs | 0 .../crypto/tls/SupplementalDataType.cs | 0 .../BouncyCastle}/crypto/tls/TlsAeadCipher.cs | 0 .../crypto/tls/TlsAgreementCredentials.cs | 0 .../crypto/tls/TlsAuthentication.cs | 0 .../crypto/tls/TlsBlockCipher.cs | 0 .../BouncyCastle}/crypto/tls/TlsCipher.cs | 0 .../crypto/tls/TlsCipherFactory.cs | 0 .../BouncyCastle}/crypto/tls/TlsClient.cs | 0 .../crypto/tls/TlsClientContext.cs | 0 .../crypto/tls/TlsClientContextImpl.cs | 0 .../crypto/tls/TlsClientProtocol.cs | 0 .../crypto/tls/TlsCompression.cs | 0 .../BouncyCastle}/crypto/tls/TlsContext.cs | 0 .../crypto/tls/TlsCredentials.cs | 0 .../crypto/tls/TlsDHKeyExchange.cs | 0 .../crypto/tls/TlsDHUtilities.cs | 0 .../BouncyCastle}/crypto/tls/TlsDHVerifier.cs | 0 .../crypto/tls/TlsDeflateCompression.cs | 0 .../crypto/tls/TlsDheKeyExchange.cs | 0 .../BouncyCastle}/crypto/tls/TlsDsaSigner.cs | 0 .../BouncyCastle}/crypto/tls/TlsDssSigner.cs | 0 .../crypto/tls/TlsECDHKeyExchange.cs | 0 .../crypto/tls/TlsECDheKeyExchange.cs | 0 .../crypto/tls/TlsECDsaSigner.cs | 0 .../crypto/tls/TlsEccUtilities.cs | 0 .../crypto/tls/TlsEncryptionCredentials.cs | 0 .../BouncyCastle}/crypto/tls/TlsException.cs | 0 .../crypto/tls/TlsExtensionsUtilities.cs | 0 .../BouncyCastle}/crypto/tls/TlsFatalAlert.cs | 0 .../crypto/tls/TlsFatalAlertReceived.cs | 0 .../crypto/tls/TlsHandshakeHash.cs | 0 .../crypto/tls/TlsKeyExchange.cs | 0 .../BouncyCastle}/crypto/tls/TlsMac.cs | 0 .../crypto/tls/TlsNoCloseNotifyException.cs | 0 .../BouncyCastle}/crypto/tls/TlsNullCipher.cs | 0 .../crypto/tls/TlsNullCompression.cs | 0 .../BouncyCastle}/crypto/tls/TlsPeer.cs | 0 .../BouncyCastle}/crypto/tls/TlsProtocol.cs | 0 .../crypto/tls/TlsProtocolHandler.cs | 0 .../crypto/tls/TlsPskIdentity.cs | 0 .../crypto/tls/TlsPskIdentityManager.cs | 0 .../crypto/tls/TlsPskKeyExchange.cs | 0 .../crypto/tls/TlsRsaKeyExchange.cs | 0 .../BouncyCastle}/crypto/tls/TlsRsaSigner.cs | 0 .../crypto/tls/TlsRsaUtilities.cs | 0 .../BouncyCastle}/crypto/tls/TlsServer.cs | 0 .../crypto/tls/TlsServerContext.cs | 0 .../crypto/tls/TlsServerContextImpl.cs | 0 .../crypto/tls/TlsServerProtocol.cs | 0 .../BouncyCastle}/crypto/tls/TlsSession.cs | 0 .../crypto/tls/TlsSessionImpl.cs | 0 .../BouncyCastle}/crypto/tls/TlsSigner.cs | 0 .../crypto/tls/TlsSignerCredentials.cs | 0 .../crypto/tls/TlsSrpGroupVerifier.cs | 0 .../crypto/tls/TlsSrpIdentityManager.cs | 0 .../crypto/tls/TlsSrpKeyExchange.cs | 0 .../crypto/tls/TlsSrpLoginParameters.cs | 0 .../crypto/tls/TlsSrpUtilities.cs | 0 .../crypto/tls/TlsSrtpUtilities.cs | 0 .../BouncyCastle}/crypto/tls/TlsStream.cs | 0 .../crypto/tls/TlsStreamCipher.cs | 0 .../BouncyCastle}/crypto/tls/TlsUtilities.cs | 0 .../BouncyCastle}/crypto/tls/UrlAndHash.cs | 0 .../BouncyCastle}/crypto/tls/UseSrtpData.cs | 0 .../crypto/tls/UserMappingType.cs | 0 .../BouncyCastle}/crypto/util/Pack.cs | 0 .../BouncyCastle}/math/BigInteger.cs | 0 .../src => src/BouncyCastle}/math/Primes.cs | 0 .../BouncyCastle}/math/ec/ECAlgorithms.cs | 0 .../BouncyCastle}/math/ec/ECCurve.cs | 0 .../BouncyCastle}/math/ec/ECFieldElement.cs | 0 .../BouncyCastle}/math/ec/ECLookupTable.cs | 0 .../BouncyCastle}/math/ec/ECPoint.cs | 0 .../BouncyCastle}/math/ec/ECPointMap.cs | 0 .../BouncyCastle}/math/ec/LongArray.cs | 0 .../BouncyCastle}/math/ec/ScaleXPointMap.cs | 0 .../BouncyCastle}/math/ec/ScaleYPointMap.cs | 0 .../math/ec/SimpleLookupTable.cs | 0 .../math/ec/abc/SimpleBigDecimal.cs | 0 .../BouncyCastle}/math/ec/abc/Tnaf.cs | 0 .../BouncyCastle}/math/ec/abc/ZTauElement.cs | 0 .../math/ec/custom/djb/Curve25519.cs | 0 .../math/ec/custom/djb/Curve25519Field.cs | 0 .../ec/custom/djb/Curve25519FieldElement.cs | 0 .../math/ec/custom/djb/Curve25519Point.cs | 0 .../math/ec/custom/gm/SM2P256V1Curve.cs | 0 .../math/ec/custom/gm/SM2P256V1Field.cs | 0 .../ec/custom/gm/SM2P256V1FieldElement.cs | 0 .../math/ec/custom/gm/SM2P256V1Point.cs | 0 .../math/ec/custom/sec/SecP128R1Curve.cs | 0 .../math/ec/custom/sec/SecP128R1Field.cs | 0 .../ec/custom/sec/SecP128R1FieldElement.cs | 0 .../math/ec/custom/sec/SecP128R1Point.cs | 0 .../math/ec/custom/sec/SecP160K1Curve.cs | 0 .../math/ec/custom/sec/SecP160K1Point.cs | 0 .../math/ec/custom/sec/SecP160R1Curve.cs | 0 .../math/ec/custom/sec/SecP160R1Field.cs | 0 .../ec/custom/sec/SecP160R1FieldElement.cs | 0 .../math/ec/custom/sec/SecP160R1Point.cs | 0 .../math/ec/custom/sec/SecP160R2Curve.cs | 0 .../math/ec/custom/sec/SecP160R2Field.cs | 0 .../ec/custom/sec/SecP160R2FieldElement.cs | 0 .../math/ec/custom/sec/SecP160R2Point.cs | 0 .../math/ec/custom/sec/SecP192K1Curve.cs | 0 .../math/ec/custom/sec/SecP192K1Field.cs | 0 .../ec/custom/sec/SecP192K1FieldElement.cs | 0 .../math/ec/custom/sec/SecP192K1Point.cs | 0 .../math/ec/custom/sec/SecP192R1Curve.cs | 0 .../math/ec/custom/sec/SecP192R1Field.cs | 0 .../ec/custom/sec/SecP192R1FieldElement.cs | 0 .../math/ec/custom/sec/SecP192R1Point.cs | 0 .../math/ec/custom/sec/SecP224K1Curve.cs | 0 .../math/ec/custom/sec/SecP224K1Field.cs | 0 .../ec/custom/sec/SecP224K1FieldElement.cs | 0 .../math/ec/custom/sec/SecP224K1Point.cs | 0 .../math/ec/custom/sec/SecP224R1Curve.cs | 0 .../math/ec/custom/sec/SecP224R1Field.cs | 0 .../ec/custom/sec/SecP224R1FieldElement.cs | 0 .../math/ec/custom/sec/SecP224R1Point.cs | 0 .../math/ec/custom/sec/SecP256K1Curve.cs | 0 .../math/ec/custom/sec/SecP256K1Field.cs | 0 .../ec/custom/sec/SecP256K1FieldElement.cs | 0 .../math/ec/custom/sec/SecP256K1Point.cs | 0 .../math/ec/custom/sec/SecP256R1Curve.cs | 0 .../math/ec/custom/sec/SecP256R1Field.cs | 0 .../ec/custom/sec/SecP256R1FieldElement.cs | 0 .../math/ec/custom/sec/SecP256R1Point.cs | 0 .../math/ec/custom/sec/SecP384R1Curve.cs | 0 .../math/ec/custom/sec/SecP384R1Field.cs | 0 .../ec/custom/sec/SecP384R1FieldElement.cs | 0 .../math/ec/custom/sec/SecP384R1Point.cs | 0 .../math/ec/custom/sec/SecP521R1Curve.cs | 0 .../math/ec/custom/sec/SecP521R1Field.cs | 0 .../ec/custom/sec/SecP521R1FieldElement.cs | 0 .../math/ec/custom/sec/SecP521R1Point.cs | 0 .../math/ec/custom/sec/SecT113Field.cs | 0 .../math/ec/custom/sec/SecT113FieldElement.cs | 0 .../math/ec/custom/sec/SecT113R1Curve.cs | 0 .../math/ec/custom/sec/SecT113R1Point.cs | 0 .../math/ec/custom/sec/SecT113R2Curve.cs | 0 .../math/ec/custom/sec/SecT113R2Point.cs | 0 .../math/ec/custom/sec/SecT131Field.cs | 0 .../math/ec/custom/sec/SecT131FieldElement.cs | 0 .../math/ec/custom/sec/SecT131R1Curve.cs | 0 .../math/ec/custom/sec/SecT131R1Point.cs | 0 .../math/ec/custom/sec/SecT131R2Curve.cs | 0 .../math/ec/custom/sec/SecT131R2Point.cs | 0 .../math/ec/custom/sec/SecT163Field.cs | 0 .../math/ec/custom/sec/SecT163FieldElement.cs | 0 .../math/ec/custom/sec/SecT163K1Curve.cs | 0 .../math/ec/custom/sec/SecT163K1Point.cs | 0 .../math/ec/custom/sec/SecT163R1Curve.cs | 0 .../math/ec/custom/sec/SecT163R1Point.cs | 0 .../math/ec/custom/sec/SecT163R2Curve.cs | 0 .../math/ec/custom/sec/SecT163R2Point.cs | 0 .../math/ec/custom/sec/SecT193Field.cs | 0 .../math/ec/custom/sec/SecT193FieldElement.cs | 0 .../math/ec/custom/sec/SecT193R1Curve.cs | 0 .../math/ec/custom/sec/SecT193R1Point.cs | 0 .../math/ec/custom/sec/SecT193R2Curve.cs | 0 .../math/ec/custom/sec/SecT193R2Point.cs | 0 .../math/ec/custom/sec/SecT233Field.cs | 0 .../math/ec/custom/sec/SecT233FieldElement.cs | 0 .../math/ec/custom/sec/SecT233K1Curve.cs | 0 .../math/ec/custom/sec/SecT233K1Point.cs | 0 .../math/ec/custom/sec/SecT233R1Curve.cs | 0 .../math/ec/custom/sec/SecT233R1Point.cs | 0 .../math/ec/custom/sec/SecT239Field.cs | 0 .../math/ec/custom/sec/SecT239FieldElement.cs | 0 .../math/ec/custom/sec/SecT239K1Curve.cs | 0 .../math/ec/custom/sec/SecT239K1Point.cs | 0 .../math/ec/custom/sec/SecT283Field.cs | 0 .../math/ec/custom/sec/SecT283FieldElement.cs | 0 .../math/ec/custom/sec/SecT283K1Curve.cs | 0 .../math/ec/custom/sec/SecT283K1Point.cs | 0 .../math/ec/custom/sec/SecT283R1Curve.cs | 0 .../math/ec/custom/sec/SecT283R1Point.cs | 0 .../math/ec/custom/sec/SecT409Field.cs | 0 .../math/ec/custom/sec/SecT409FieldElement.cs | 0 .../math/ec/custom/sec/SecT409K1Curve.cs | 0 .../math/ec/custom/sec/SecT409K1Point.cs | 0 .../math/ec/custom/sec/SecT409R1Curve.cs | 0 .../math/ec/custom/sec/SecT409R1Point.cs | 0 .../math/ec/custom/sec/SecT571Field.cs | 0 .../math/ec/custom/sec/SecT571FieldElement.cs | 0 .../math/ec/custom/sec/SecT571K1Curve.cs | 0 .../math/ec/custom/sec/SecT571K1Point.cs | 0 .../math/ec/custom/sec/SecT571R1Curve.cs | 0 .../math/ec/custom/sec/SecT571R1Point.cs | 0 .../math/ec/endo/ECEndomorphism.cs | 0 .../math/ec/endo/GlvEndomorphism.cs | 0 .../math/ec/endo/GlvTypeBEndomorphism.cs | 0 .../math/ec/endo/GlvTypeBParameters.cs | 0 .../ec/multiplier/AbstractECMultiplier.cs | 0 .../math/ec/multiplier/DoubleAddMultiplier.cs | 0 .../math/ec/multiplier/ECMultiplier.cs | 0 .../ec/multiplier/FixedPointCombMultiplier.cs | 0 .../ec/multiplier/FixedPointPreCompInfo.cs | 0 .../math/ec/multiplier/FixedPointUtilities.cs | 0 .../math/ec/multiplier/GlvMultiplier.cs | 0 .../math/ec/multiplier/IPreCompCallback.cs | 0 .../ec/multiplier/MixedNafR2LMultiplier.cs | 0 .../multiplier/MontgomeryLadderMultiplier.cs | 0 .../math/ec/multiplier/NafL2RMultiplier.cs | 0 .../math/ec/multiplier/NafR2LMultiplier.cs | 0 .../math/ec/multiplier/PreCompInfo.cs | 0 .../math/ec/multiplier/ReferenceMultiplier.cs | 0 .../math/ec/multiplier/ValidityPreCompInfo.cs | 0 .../math/ec/multiplier/WNafL2RMultiplier.cs | 0 .../math/ec/multiplier/WNafPreCompInfo.cs | 0 .../math/ec/multiplier/WNafUtilities.cs | 0 .../math/ec/multiplier/WTauNafMultiplier.cs | 0 .../math/ec/multiplier/WTauNafPreCompInfo.cs | 0 .../multiplier/ZSignedDigitL2RMultiplier.cs | 0 .../multiplier/ZSignedDigitR2LMultiplier.cs | 0 .../BouncyCastle}/math/ec/rfc7748/X25519.cs | 0 .../math/ec/rfc7748/X25519Field.cs | 0 .../BouncyCastle}/math/ec/rfc7748/X448.cs | 0 .../math/ec/rfc7748/X448Field.cs | 0 .../BouncyCastle}/math/ec/rfc8032/Ed25519.cs | 0 .../BouncyCastle}/math/ec/rfc8032/Ed448.cs | 0 .../BouncyCastle}/math/field/FiniteFields.cs | 0 .../BouncyCastle}/math/field/GF2Polynomial.cs | 0 .../field/GenericPolynomialExtensionField.cs | 0 .../math/field/IExtensionField.cs | 0 .../BouncyCastle}/math/field/IFiniteField.cs | 0 .../BouncyCastle}/math/field/IPolynomial.cs | 0 .../math/field/IPolynomialExtensionField.cs | 0 .../BouncyCastle}/math/field/PrimeField.cs | 0 .../BouncyCastle}/math/raw/Interleave.cs | 0 .../src => src/BouncyCastle}/math/raw/Mod.cs | 0 .../src => src/BouncyCastle}/math/raw/Nat.cs | 0 .../BouncyCastle}/math/raw/Nat128.cs | 0 .../BouncyCastle}/math/raw/Nat160.cs | 0 .../BouncyCastle}/math/raw/Nat192.cs | 0 .../BouncyCastle}/math/raw/Nat224.cs | 0 .../BouncyCastle}/math/raw/Nat256.cs | 0 .../BouncyCastle}/math/raw/Nat320.cs | 0 .../BouncyCastle}/math/raw/Nat384.cs | 0 .../BouncyCastle}/math/raw/Nat448.cs | 0 .../BouncyCastle}/math/raw/Nat512.cs | 0 .../BouncyCastle}/math/raw/Nat576.cs | 0 .../BouncyCastle}/ocsp/BasicOCSPResp.cs | 0 .../ocsp/BasicOCSPRespGenerator.cs | 0 .../BouncyCastle}/ocsp/CertificateID.cs | 0 .../BouncyCastle}/ocsp/CertificateStatus.cs | 0 .../BouncyCastle}/ocsp/OCSPException.cs | 0 .../src => src/BouncyCastle}/ocsp/OCSPReq.cs | 0 .../BouncyCastle}/ocsp/OCSPReqGenerator.cs | 0 .../src => src/BouncyCastle}/ocsp/OCSPResp.cs | 0 .../BouncyCastle}/ocsp/OCSPRespGenerator.cs | 0 .../BouncyCastle}/ocsp/OCSPRespStatus.cs | 0 .../src => src/BouncyCastle}/ocsp/OCSPUtil.cs | 0 {crypto/src => src/BouncyCastle}/ocsp/Req.cs | 0 .../src => src/BouncyCastle}/ocsp/RespData.cs | 0 .../src => src/BouncyCastle}/ocsp/RespID.cs | 0 .../BouncyCastle}/ocsp/RevokedStatus.cs | 0 .../BouncyCastle}/ocsp/SingleResp.cs | 0 .../BouncyCastle}/ocsp/UnknownStatus.cs | 0 .../BouncyCastle}/openpgp/IStreamGenerator.cs | 0 .../BouncyCastle}/openpgp/PGPKeyRing.cs | 0 .../BouncyCastle}/openpgp/PGPObject.cs | 0 ...GPUserAttributeSubpacketVectorGenerator.cs | 0 .../openpgp/PgpCompressedData.cs | 0 .../openpgp/PgpCompressedDataGenerator.cs | 0 .../openpgp/PgpDataValidationException.cs | 0 .../BouncyCastle}/openpgp/PgpEncryptedData.cs | 0 .../openpgp/PgpEncryptedDataGenerator.cs | 0 .../openpgp/PgpEncryptedDataList.cs | 0 .../BouncyCastle}/openpgp/PgpException.cs | 0 .../BouncyCastle}/openpgp/PgpExperimental.cs | 0 .../BouncyCastle}/openpgp/PgpKeyFlags.cs | 0 .../BouncyCastle}/openpgp/PgpKeyPair.cs | 0 .../openpgp/PgpKeyRingGenerator.cs | 0 .../openpgp/PgpKeyValidationException.cs | 0 .../BouncyCastle}/openpgp/PgpLiteralData.cs | 0 .../openpgp/PgpLiteralDataGenerator.cs | 0 .../BouncyCastle}/openpgp/PgpMarker.cs | 0 .../BouncyCastle}/openpgp/PgpObjectFactory.cs | 0 .../openpgp/PgpOnePassSignature.cs | 0 .../openpgp/PgpOnePassSignatureList.cs | 0 .../BouncyCastle}/openpgp/PgpPad.cs | 0 .../openpgp/PgpPbeEncryptedData.cs | 0 .../BouncyCastle}/openpgp/PgpPrivateKey.cs | 0 .../BouncyCastle}/openpgp/PgpPublicKey.cs | 0 .../openpgp/PgpPublicKeyEncryptedData.cs | 0 .../BouncyCastle}/openpgp/PgpPublicKeyRing.cs | 0 .../openpgp/PgpPublicKeyRingBundle.cs | 0 .../BouncyCastle}/openpgp/PgpSecretKey.cs | 0 .../BouncyCastle}/openpgp/PgpSecretKeyRing.cs | 0 .../openpgp/PgpSecretKeyRingBundle.cs | 0 .../BouncyCastle}/openpgp/PgpSignature.cs | 0 .../openpgp/PgpSignatureGenerator.cs | 0 .../BouncyCastle}/openpgp/PgpSignatureList.cs | 0 .../openpgp/PgpSignatureSubpacketGenerator.cs | 0 .../openpgp/PgpSignatureSubpacketVector.cs | 0 .../PgpUserAttributeSubpacketVector.cs | 0 .../BouncyCastle}/openpgp/PgpUtilities.cs | 0 .../openpgp/PgpV3SignatureGenerator.cs | 0 .../BouncyCastle}/openpgp/Rfc6637Utilities.cs | 0 .../BouncyCastle}/openpgp/SXprUtilities.cs | 0 .../openpgp/WrappedGeneratorStream.cs | 0 .../openssl/EncryptionException.cs | 0 .../BouncyCastle}/openssl/IPasswordFinder.cs | 0 .../BouncyCastle}/openssl/MiscPemGenerator.cs | 0 .../BouncyCastle}/openssl/PEMException.cs | 0 .../BouncyCastle}/openssl/PEMReader.cs | 0 .../BouncyCastle}/openssl/PEMUtilities.cs | 0 .../BouncyCastle}/openssl/PEMWriter.cs | 0 .../openssl/PasswordException.cs | 0 .../BouncyCastle}/openssl/Pkcs8Generator.cs | 0 .../BouncyCastle}/pkcs/AsymmetricKeyEntry.cs | 0 .../pkcs/EncryptedPrivateKeyInfoFactory.cs | 0 .../BouncyCastle}/pkcs/PKCS12StoreBuilder.cs | 0 .../pkcs/Pkcs10CertificationRequest.cs | 0 .../Pkcs10CertificationRequestDelaySigned.cs | 0 .../BouncyCastle}/pkcs/Pkcs12Entry.cs | 0 .../BouncyCastle}/pkcs/Pkcs12Store.cs | 0 .../BouncyCastle}/pkcs/Pkcs12Utilities.cs | 0 .../pkcs/PrivateKeyInfoFactory.cs | 0 .../pkcs/X509CertificateEntry.cs | 0 .../BouncyCastle}/pkix/CertStatus.cs | 0 .../BouncyCastle}/pkix/PkixAttrCertChecker.cs | 0 .../pkix/PkixAttrCertPathBuilder.cs | 0 .../pkix/PkixAttrCertPathValidator.cs | 0 .../pkix/PkixBuilderParameters.cs | 0 .../BouncyCastle}/pkix/PkixCertPath.cs | 0 .../BouncyCastle}/pkix/PkixCertPathBuilder.cs | 0 .../pkix/PkixCertPathBuilderException.cs | 0 .../pkix/PkixCertPathBuilderResult.cs | 0 .../BouncyCastle}/pkix/PkixCertPathChecker.cs | 0 .../pkix/PkixCertPathValidator.cs | 0 .../pkix/PkixCertPathValidatorException.cs | 0 .../pkix/PkixCertPathValidatorResult.cs | 0 .../pkix/PkixCertPathValidatorUtilities.cs | 0 .../BouncyCastle}/pkix/PkixCrlUtilities.cs | 0 .../pkix/PkixNameConstraintValidator.cs | 0 .../PkixNameConstraintValidatorException.cs | 0 .../BouncyCastle}/pkix/PkixParameters.cs | 0 .../BouncyCastle}/pkix/PkixPolicyNode.cs | 0 .../BouncyCastle}/pkix/ReasonsMask.cs | 0 .../pkix/Rfc3280CertPathUtilities.cs | 0 .../pkix/Rfc3281CertPathUtilities.cs | 0 .../BouncyCastle}/pkix/TrustAnchor.cs | 0 .../security/AgreementUtilities.cs | 0 .../BouncyCastle}/security/CipherUtilities.cs | 0 .../BouncyCastle}/security/DigestUtilities.cs | 0 .../BouncyCastle}/security/DotNetUtilities.cs | 0 .../security/GeneralSecurityException.cs | 0 .../security/GeneratorUtilities.cs | 0 .../security/InvalidKeyException.cs | 0 .../security/InvalidParameterException.cs | 0 .../BouncyCastle}/security/KeyException.cs | 0 .../BouncyCastle}/security/MacUtilities.cs | 0 .../security/NoSuchAlgorithmException.cs | 0 .../security/ParameterUtilities.cs | 0 .../BouncyCastle}/security/PbeUtilities.cs | 0 .../security/PrivateKeyFactory.cs | 0 .../security/PublicKeyFactory.cs | 0 .../BouncyCastle}/security/SecureRandom.cs | 0 .../security/SecurityUtilityException.cs | 0 .../security/SignatureException.cs | 0 .../BouncyCastle}/security/SignerUtilities.cs | 0 .../security/WrapperUtilities.cs | 0 .../cert/CertificateEncodingException.cs | 0 .../security/cert/CertificateException.cs | 0 .../cert/CertificateExpiredException.cs | 0 .../cert/CertificateNotYetValidException.cs | 0 .../cert/CertificateParsingException.cs | 0 .../security/cert/CrlException.cs | 0 .../BouncyCastle}/tsp/GenTimeAccuracy.cs | 0 .../BouncyCastle}/tsp/TSPAlgorithms.cs | 0 .../BouncyCastle}/tsp/TSPException.cs | 0 .../src => src/BouncyCastle}/tsp/TSPUtil.cs | 0 .../tsp/TSPValidationException.cs | 0 .../BouncyCastle}/tsp/TimeStampRequest.cs | 0 .../tsp/TimeStampRequestGenerator.cs | 0 .../BouncyCastle}/tsp/TimeStampResponse.cs | 0 .../tsp/TimeStampResponseGenerator.cs | 0 .../BouncyCastle}/tsp/TimeStampToken.cs | 0 .../tsp/TimeStampTokenGenerator.cs | 0 .../BouncyCastle}/tsp/TimeStampTokenInfo.cs | 0 .../src => src/BouncyCastle}/util/Arrays.cs | 0 .../BouncyCastle}/util/BigIntegers.cs | 0 .../src => src/BouncyCastle}/util/Enums.cs | 0 .../BouncyCastle}/util/IMemoable.cs | 0 .../src => src/BouncyCastle}/util/Integers.cs | 0 .../util/MemoableResetException.cs | 0 .../src => src/BouncyCastle}/util/Platform.cs | 0 .../src => src/BouncyCastle}/util/Strings.cs | 0 .../src => src/BouncyCastle}/util/Times.cs | 0 .../BouncyCastle}/util/TypeExtensions.cs | 0 .../util/collections/CollectionUtilities.cs | 0 .../util/collections/EmptyEnumerable.cs | 0 .../util/collections/EnumerableProxy.cs | 0 .../BouncyCastle}/util/collections/HashSet.cs | 0 .../BouncyCastle}/util/collections/ISet.cs | 0 .../util/collections/LinkedDictionary.cs | 0 .../collections/UnmodifiableDictionary.cs | 0 .../UnmodifiableDictionaryProxy.cs | 0 .../util/collections/UnmodifiableList.cs | 0 .../util/collections/UnmodifiableListProxy.cs | 0 .../util/collections/UnmodifiableSet.cs | 0 .../util/collections/UnmodifiableSetProxy.cs | 0 .../BouncyCastle}/util/date/DateTimeObject.cs | 0 .../util/date/DateTimeUtilities.cs | 0 .../BouncyCastle}/util/encoders/Base64.cs | 0 .../util/encoders/Base64Encoder.cs | 0 .../util/encoders/BufferedDecoder.cs | 0 .../util/encoders/BufferedEncoder.cs | 0 .../BouncyCastle}/util/encoders/Hex.cs | 0 .../BouncyCastle}/util/encoders/HexEncoder.cs | 0 .../util/encoders/HexTranslator.cs | 0 .../BouncyCastle}/util/encoders/IEncoder.cs | 0 .../BouncyCastle}/util/encoders/Translator.cs | 0 .../BouncyCastle}/util/encoders/UrlBase64.cs | 0 .../util/encoders/UrlBase64Encoder.cs | 0 .../BouncyCastle}/util/io/BaseInputStream.cs | 0 .../BouncyCastle}/util/io/BaseOutputStream.cs | 0 .../BouncyCastle}/util/io/FilterStream.cs | 0 .../BouncyCastle}/util/io/NullOutputStream.cs | 0 .../BouncyCastle}/util/io/PushbackStream.cs | 0 .../util/io/StreamOverflowException.cs | 0 .../BouncyCastle}/util/io/Streams.cs | 0 .../BouncyCastle}/util/io/TeeInputStream.cs | 0 .../BouncyCastle}/util/io/TeeOutputStream.cs | 0 .../util/io/pem/PemGenerationException.cs | 0 .../BouncyCastle}/util/io/pem/PemHeader.cs | 0 .../BouncyCastle}/util/io/pem/PemObject.cs | 0 .../util/io/pem/PemObjectGenerator.cs | 0 .../util/io/pem/PemObjectParser.cs | 0 .../BouncyCastle}/util/io/pem/PemReader.cs | 0 .../BouncyCastle}/util/io/pem/PemWriter.cs | 0 .../BouncyCastle}/util/net/IPAddress.cs | 0 .../BouncyCastle}/util/zlib/Adler32.cs | 0 .../BouncyCastle}/util/zlib/Deflate.cs | 0 .../BouncyCastle}/util/zlib/InfBlocks.cs | 0 .../BouncyCastle}/util/zlib/InfCodes.cs | 0 .../BouncyCastle}/util/zlib/InfTree.cs | 0 .../BouncyCastle}/util/zlib/Inflate.cs | 0 .../BouncyCastle}/util/zlib/JZlib.cs | 0 .../BouncyCastle}/util/zlib/StaticTree.cs | 0 .../BouncyCastle}/util/zlib/Tree.cs | 0 .../util/zlib/ZDeflaterOutputStream.cs | 0 .../util/zlib/ZInflaterInputStream.cs | 0 .../BouncyCastle}/util/zlib/ZInputStream.cs | 0 .../BouncyCastle}/util/zlib/ZOutputStream.cs | 0 .../BouncyCastle}/util/zlib/ZStream.cs | 0 .../x509/AttributeCertificateHolder.cs | 0 .../x509/AttributeCertificateIssuer.cs | 0 .../x509/IX509AttributeCertificate.cs | 0 .../BouncyCastle}/x509/IX509Extension.cs | 0 .../BouncyCastle}/x509/PEMParser.cs | 0 .../BouncyCastle}/x509/PrincipalUtil.cs | 0 .../x509/SubjectPublicKeyInfoFactory.cs | 0 .../BouncyCastle}/x509/X509AttrCertParser.cs | 0 .../BouncyCastle}/x509/X509Attribute.cs | 0 .../BouncyCastle}/x509/X509CertPairParser.cs | 0 .../BouncyCastle}/x509/X509Certificate.cs | 0 .../BouncyCastle}/x509/X509CertificatePair.cs | 0 .../x509/X509CertificateParser.cs | 0 .../src => src/BouncyCastle}/x509/X509Crl.cs | 0 .../BouncyCastle}/x509/X509CrlEntry.cs | 0 .../BouncyCastle}/x509/X509CrlParser.cs | 0 .../BouncyCastle}/x509/X509ExtensionBase.cs | 0 .../BouncyCastle}/x509/X509KeyUsage.cs | 0 .../BouncyCastle}/x509/X509SignatureUtil.cs | 0 .../BouncyCastle}/x509/X509Utilities.cs | 0 .../x509/X509V1CertificateGenerator.cs | 0 .../x509/X509V2AttributeCertificate.cs | 0 .../X509V2AttributeCertificateGenerator.cs | 0 .../BouncyCastle}/x509/X509V2CRLGenerator.cs | 0 .../x509/X509V3CertificateGenerator.cs | 0 .../AuthorityKeyIdentifierStructure.cs | 0 .../SubjectKeyIdentifierStructure.cs | 0 .../x509/extension/X509ExtensionUtil.cs | 0 .../BouncyCastle}/x509/store/IX509Selector.cs | 0 .../BouncyCastle}/x509/store/IX509Store.cs | 0 .../x509/store/IX509StoreParameters.cs | 0 .../x509/store/NoSuchStoreException.cs | 0 .../x509/store/X509AttrCertStoreSelector.cs | 0 .../x509/store/X509CertPairStoreSelector.cs | 0 .../x509/store/X509CertStoreSelector.cs | 0 .../x509/store/X509CollectionStore.cs | 0 .../store/X509CollectionStoreParameters.cs | 0 .../x509/store/X509CrlStoreSelector.cs | 0 .../x509/store/X509StoreException.cs | 0 .../x509/store/X509StoreFactory.cs | 0 .../Crypto.NetSdk.NUnitTest.csproj | 29 + .../data/PKITS/README.txt | 0 .../AllCertificatesNoPoliciesTest2EE.crt | Bin .../AllCertificatesSamePoliciesTest10EE.crt | Bin .../AllCertificatesSamePoliciesTest13EE.crt | Bin .../AllCertificatesanyPolicyTest11EE.crt | Bin .../data/PKITS/certs/AnyPolicyTest14EE.crt | Bin .../PKITS/certs/BadCRLIssuerNameCACert.crt | Bin .../PKITS/certs/BadCRLSignatureCACert.crt | Bin .../data/PKITS/certs/BadSignedCACert.crt | Bin .../PKITS/certs/BadnotAfterDateCACert.crt | Bin .../PKITS/certs/BadnotBeforeDateCACert.crt | Bin .../BasicSelfIssuedCRLSigningKeyCACert.crt | Bin .../BasicSelfIssuedCRLSigningKeyCRLCert.crt | Bin .../certs/BasicSelfIssuedNewKeyCACert.crt | Bin .../BasicSelfIssuedNewKeyOldWithNewCACert.crt | Bin .../certs/BasicSelfIssuedOldKeyCACert.crt | Bin .../BasicSelfIssuedOldKeyNewWithOldCACert.crt | Bin .../certs/CPSPointerQualifierTest20EE.crt | Bin .../data/PKITS/certs/DSACACert.crt | Bin .../certs/DSAParametersInheritedCACert.crt | Bin .../PKITS/certs/DifferentPoliciesTest12EE.crt | Bin .../PKITS/certs/DifferentPoliciesTest3EE.crt | Bin .../PKITS/certs/DifferentPoliciesTest4EE.crt | Bin .../PKITS/certs/DifferentPoliciesTest5EE.crt | Bin .../PKITS/certs/DifferentPoliciesTest7EE.crt | Bin .../PKITS/certs/DifferentPoliciesTest8EE.crt | Bin .../PKITS/certs/DifferentPoliciesTest9EE.crt | Bin .../GeneralizedTimeCRLnextUpdateCACert.crt | Bin .../data/PKITS/certs/GoodCACert.crt | Bin .../data/PKITS/certs/GoodsubCACert.crt | Bin .../GoodsubCAPanyPolicyMapping1to2CACert.crt | Bin .../certs/InvalidBadCRLIssuerNameTest5EE.crt | Bin .../certs/InvalidBadCRLSignatureTest4EE.crt | Bin ...lidBasicSelfIssuedCRLSigningKeyTest7EE.crt | Bin ...lidBasicSelfIssuedCRLSigningKeyTest8EE.crt | Bin ...nvalidBasicSelfIssuedNewWithOldTest5EE.crt | Bin ...nvalidBasicSelfIssuedOldWithNewTest2EE.crt | Bin .../PKITS/certs/InvalidCASignatureTest2EE.crt | Bin .../certs/InvalidCAnotAfterDateTest5EE.crt | Bin .../certs/InvalidCAnotBeforeDateTest1EE.crt | Bin .../InvalidDNSnameConstraintsTest31EE.crt | Bin .../InvalidDNSnameConstraintsTest33EE.crt | Bin .../InvalidDNSnameConstraintsTest38EE.crt | Bin ...alidDNandRFC822nameConstraintsTest28EE.crt | Bin ...alidDNandRFC822nameConstraintsTest29EE.crt | Bin .../InvalidDNnameConstraintsTest10EE.crt | Bin .../InvalidDNnameConstraintsTest12EE.crt | Bin .../InvalidDNnameConstraintsTest13EE.crt | Bin .../InvalidDNnameConstraintsTest15EE.crt | Bin .../InvalidDNnameConstraintsTest16EE.crt | Bin .../InvalidDNnameConstraintsTest17EE.crt | Bin .../InvalidDNnameConstraintsTest20EE.crt | Bin .../certs/InvalidDNnameConstraintsTest2EE.crt | Bin .../certs/InvalidDNnameConstraintsTest3EE.crt | Bin .../certs/InvalidDNnameConstraintsTest7EE.crt | Bin .../certs/InvalidDNnameConstraintsTest8EE.crt | Bin .../certs/InvalidDNnameConstraintsTest9EE.crt | Bin .../certs/InvalidDSASignatureTest6EE.crt | Bin .../PKITS/certs/InvalidEESignatureTest3EE.crt | Bin .../certs/InvalidEEnotAfterDateTest6EE.crt | Bin .../certs/InvalidEEnotBeforeDateTest2EE.crt | Bin .../InvalidIDPwithindirectCRLTest23EE.crt | Bin .../InvalidIDPwithindirectCRLTest26EE.crt | Bin .../certs/InvalidLongSerialNumberTest18EE.crt | Bin .../InvalidMappingFromanyPolicyTest7EE.crt | Bin .../InvalidMappingToanyPolicyTest8EE.crt | Bin .../PKITS/certs/InvalidMissingCRLTest1EE.crt | Bin .../InvalidMissingbasicConstraintsTest1EE.crt | Bin .../certs/InvalidNameChainingOrderTest2EE.crt | Bin .../certs/InvalidNameChainingTest1EE.crt | Bin .../InvalidNegativeSerialNumberTest15EE.crt | Bin .../certs/InvalidOldCRLnextUpdateTest11EE.crt | Bin .../certs/InvalidPolicyMappingTest10EE.crt | Bin .../certs/InvalidPolicyMappingTest2EE.crt | Bin .../certs/InvalidPolicyMappingTest4EE.crt | Bin .../InvalidRFC822nameConstraintsTest22EE.crt | Bin .../InvalidRFC822nameConstraintsTest24EE.crt | Bin .../InvalidRFC822nameConstraintsTest26EE.crt | Bin .../PKITS/certs/InvalidRevokedCATest2EE.crt | Bin .../PKITS/certs/InvalidRevokedEETest3EE.crt | Bin ...alidSelfIssuedinhibitAnyPolicyTest10EE.crt | Bin ...validSelfIssuedinhibitAnyPolicyTest8EE.crt | Bin ...SelfIssuedinhibitPolicyMappingTest10EE.crt | Bin ...SelfIssuedinhibitPolicyMappingTest11EE.crt | Bin ...dSelfIssuedinhibitPolicyMappingTest8EE.crt | Bin ...dSelfIssuedinhibitPolicyMappingTest9EE.crt | Bin ...lidSelfIssuedpathLenConstraintTest16EE.crt | Bin ...SelfIssuedrequireExplicitPolicyTest7EE.crt | Bin ...SelfIssuedrequireExplicitPolicyTest8EE.crt | Bin ...dSeparateCertificateandCRLKeysTest20EE.crt | Bin ...dSeparateCertificateandCRLKeysTest21EE.crt | Bin .../InvalidURInameConstraintsTest35EE.crt | Bin .../InvalidURInameConstraintsTest37EE.crt | Bin ...InvalidUnknownCRLEntryExtensionTest8EE.crt | Bin .../InvalidUnknownCRLExtensionTest10EE.crt | Bin .../InvalidUnknownCRLExtensionTest9EE.crt | Bin ...ownCriticalCertificateExtensionTest2EE.crt | Bin .../PKITS/certs/InvalidWrongCRLTest6EE.crt | Bin .../PKITS/certs/InvalidcAFalseTest2EE.crt | Bin .../PKITS/certs/InvalidcAFalseTest3EE.crt | Bin .../PKITS/certs/InvalidcRLIssuerTest27EE.crt | Bin .../PKITS/certs/InvalidcRLIssuerTest31EE.crt | Bin .../PKITS/certs/InvalidcRLIssuerTest32EE.crt | Bin .../PKITS/certs/InvalidcRLIssuerTest34EE.crt | Bin .../PKITS/certs/InvalidcRLIssuerTest35EE.crt | Bin .../InvaliddeltaCRLIndicatorNoBaseTest1EE.crt | Bin .../PKITS/certs/InvaliddeltaCRLTest10EE.crt | Bin .../PKITS/certs/InvaliddeltaCRLTest3EE.crt | Bin .../PKITS/certs/InvaliddeltaCRLTest4EE.crt | Bin .../PKITS/certs/InvaliddeltaCRLTest6EE.crt | Bin .../PKITS/certs/InvaliddeltaCRLTest9EE.crt | Bin .../certs/InvaliddistributionPointTest2EE.crt | Bin .../certs/InvaliddistributionPointTest3EE.crt | Bin .../certs/InvaliddistributionPointTest6EE.crt | Bin .../certs/InvaliddistributionPointTest8EE.crt | Bin .../certs/InvaliddistributionPointTest9EE.crt | Bin .../certs/InvalidinhibitAnyPolicyTest1EE.crt | Bin .../certs/InvalidinhibitAnyPolicyTest4EE.crt | Bin .../certs/InvalidinhibitAnyPolicyTest5EE.crt | Bin .../certs/InvalidinhibitAnyPolicyTest6EE.crt | Bin .../InvalidinhibitPolicyMappingTest1EE.crt | Bin .../InvalidinhibitPolicyMappingTest3EE.crt | Bin .../InvalidinhibitPolicyMappingTest5EE.crt | Bin .../InvalidinhibitPolicyMappingTest6EE.crt | Bin ...lidkeyUsageCriticalcRLSignFalseTest4EE.crt | Bin ...eyUsageCriticalkeyCertSignFalseTest1EE.crt | Bin ...keyUsageNotCriticalcRLSignFalseTest5EE.crt | Bin ...sageNotCriticalkeyCertSignFalseTest2EE.crt | Bin ...alidonlyContainsAttributeCertsTest14EE.crt | Bin .../InvalidonlyContainsCACertsTest12EE.crt | Bin .../InvalidonlyContainsUserCertsTest11EE.crt | Bin .../certs/InvalidonlySomeReasonsTest15EE.crt | Bin .../certs/InvalidonlySomeReasonsTest16EE.crt | Bin .../certs/InvalidonlySomeReasonsTest17EE.crt | Bin .../certs/InvalidonlySomeReasonsTest20EE.crt | Bin .../certs/InvalidonlySomeReasonsTest21EE.crt | Bin .../InvalidpathLenConstraintTest10EE.crt | Bin .../InvalidpathLenConstraintTest11EE.crt | Bin .../InvalidpathLenConstraintTest12EE.crt | Bin .../certs/InvalidpathLenConstraintTest5EE.crt | Bin .../certs/InvalidpathLenConstraintTest6EE.crt | Bin .../certs/InvalidpathLenConstraintTest9EE.crt | Bin .../Invalidpre2000CRLnextUpdateTest12EE.crt | Bin ...Invalidpre2000UTCEEnotAfterDateTest7EE.crt | Bin .../InvalidrequireExplicitPolicyTest3EE.crt | Bin .../InvalidrequireExplicitPolicyTest5EE.crt | Bin .../PKITS/certs/LongSerialNumberCACert.crt | Bin .../data/PKITS/certs/Mapping1to2CACert.crt | Bin .../certs/MappingFromanyPolicyCACert.crt | Bin .../PKITS/certs/MappingToanyPolicyCACert.crt | Bin .../certs/MissingbasicConstraintsCACert.crt | Bin .../data/PKITS/certs/NameOrderingCACert.crt | Bin .../certs/NegativeSerialNumberCACert.crt | Bin .../data/PKITS/certs/NoCRLCACert.crt | Bin .../data/PKITS/certs/NoPoliciesCACert.crt | Bin .../NoissuingDistributionPointCACert.crt | Bin .../PKITS/certs/OldCRLnextUpdateCACert.crt | Bin .../certs/OverlappingPoliciesTest6EE.crt | Bin .../data/PKITS/certs/P12Mapping1to3CACert.crt | Bin .../PKITS/certs/P12Mapping1to3subCACert.crt | Bin .../certs/P12Mapping1to3subsubCACert.crt | Bin .../PKITS/certs/P1Mapping1to234CACert.crt | Bin .../PKITS/certs/P1Mapping1to234subCACert.crt | Bin .../certs/P1anyPolicyMapping1to2CACert.crt | Bin .../certs/PanyPolicyMapping1to2CACert.crt | Bin .../data/PKITS/certs/PoliciesP1234CACert.crt | Bin .../certs/PoliciesP1234subCAP123Cert.crt | Bin .../PoliciesP1234subsubCAP123P12Cert.crt | Bin .../data/PKITS/certs/PoliciesP123CACert.crt | Bin .../PKITS/certs/PoliciesP123subCAP12Cert.crt | Bin .../certs/PoliciesP123subsubCAP12P1Cert.crt | Bin .../certs/PoliciesP123subsubCAP12P2Cert.crt | Bin .../PoliciesP123subsubsubCAP12P2P1Cert.crt | Bin .../data/PKITS/certs/PoliciesP12CACert.crt | Bin .../PKITS/certs/PoliciesP12subCAP1Cert.crt | Bin .../certs/PoliciesP12subsubCAP1P2Cert.crt | Bin .../data/PKITS/certs/PoliciesP2subCA2Cert.crt | Bin .../data/PKITS/certs/PoliciesP2subCACert.crt | Bin .../data/PKITS/certs/PoliciesP3CACert.crt | Bin .../RFC3280MandatoryAttributeTypesCACert.crt | Bin .../RFC3280OptionalAttributeTypesCACert.crt | Bin .../data/PKITS/certs/RevokedsubCACert.crt | Bin ...rfromPrintableStringtoUTF8StringCACert.crt | Bin ...CertificateandCRLKeysCA2CRLSigningCert.crt | Bin ...eandCRLKeysCA2CertificateSigningCACert.crt | Bin ...ateCertificateandCRLKeysCRLSigningCert.crt | Bin ...cateandCRLKeysCertificateSigningCACert.crt | Bin .../certs/TrustAnchorRootCertificate.crt | Bin .../data/PKITS/certs/TwoCRLsCACert.crt | Bin .../data/PKITS/certs/UIDCACert.crt | Bin .../UTF8StringCaseInsensitiveMatchCACert.crt | Bin .../certs/UTF8StringEncodedNamesCACert.crt | Bin .../certs/UnknownCRLEntryExtensionCACert.crt | Bin .../PKITS/certs/UnknownCRLExtensionCACert.crt | Bin .../certs/UserNoticeQualifierTest15EE.crt | Bin .../certs/UserNoticeQualifierTest16EE.crt | Bin .../certs/UserNoticeQualifierTest17EE.crt | Bin .../certs/UserNoticeQualifierTest18EE.crt | Bin .../certs/UserNoticeQualifierTest19EE.crt | Bin ...lidBasicSelfIssuedCRLSigningKeyTest6EE.crt | Bin .../ValidBasicSelfIssuedNewWithOldTest3EE.crt | Bin .../ValidBasicSelfIssuedNewWithOldTest4EE.crt | Bin .../ValidBasicSelfIssuedOldWithNewTest1EE.crt | Bin .../certs/ValidCertificatePathTest1EE.crt | Bin .../certs/ValidDNSnameConstraintsTest30EE.crt | Bin .../certs/ValidDNSnameConstraintsTest32EE.crt | Bin ...alidDNandRFC822nameConstraintsTest27EE.crt | Bin .../certs/ValidDNnameConstraintsTest11EE.crt | Bin .../certs/ValidDNnameConstraintsTest14EE.crt | Bin .../certs/ValidDNnameConstraintsTest18EE.crt | Bin .../certs/ValidDNnameConstraintsTest19EE.crt | Bin .../certs/ValidDNnameConstraintsTest1EE.crt | Bin .../certs/ValidDNnameConstraintsTest4EE.crt | Bin .../certs/ValidDNnameConstraintsTest5EE.crt | Bin .../certs/ValidDNnameConstraintsTest6EE.crt | Bin .../ValidDSAParameterInheritanceTest5EE.crt | Bin .../PKITS/certs/ValidDSASignaturesTest4EE.crt | Bin ...idGeneralizedTimeCRLnextUpdateTest13EE.crt | Bin ...alidGeneralizedTimenotAfterDateTest8EE.crt | Bin ...lidGeneralizedTimenotBeforeDateTest4EE.crt | Bin .../certs/ValidIDPwithindirectCRLTest22EE.crt | Bin .../certs/ValidIDPwithindirectCRLTest24EE.crt | Bin .../certs/ValidIDPwithindirectCRLTest25EE.crt | Bin .../certs/ValidLongSerialNumberTest16EE.crt | Bin .../certs/ValidLongSerialNumberTest17EE.crt | Bin ...ValidNameChainingCapitalizationTest5EE.crt | Bin .../ValidNameChainingWhitespaceTest3EE.crt | Bin .../ValidNameChainingWhitespaceTest4EE.crt | Bin .../data/PKITS/certs/ValidNameUIDsTest6EE.crt | Bin .../ValidNegativeSerialNumberTest14EE.crt | Bin ...alidNoissuingDistributionPointTest10EE.crt | Bin .../certs/ValidPolicyMappingTest11EE.crt | Bin .../certs/ValidPolicyMappingTest12EE.crt | Bin .../certs/ValidPolicyMappingTest13EE.crt | Bin .../certs/ValidPolicyMappingTest14EE.crt | Bin .../PKITS/certs/ValidPolicyMappingTest1EE.crt | Bin .../PKITS/certs/ValidPolicyMappingTest3EE.crt | Bin .../PKITS/certs/ValidPolicyMappingTest5EE.crt | Bin .../PKITS/certs/ValidPolicyMappingTest6EE.crt | Bin .../PKITS/certs/ValidPolicyMappingTest9EE.crt | Bin ...dRFC3280MandatoryAttributeTypesTest7EE.crt | Bin ...idRFC3280OptionalAttributeTypesTest8EE.crt | Bin .../ValidRFC822nameConstraintsTest21EE.crt | Bin .../ValidRFC822nameConstraintsTest23EE.crt | Bin .../ValidRFC822nameConstraintsTest25EE.crt | Bin ...romPrintableStringtoUTF8StringTest10EE.crt | Bin ...ValidSelfIssuedinhibitAnyPolicyTest7EE.crt | Bin ...ValidSelfIssuedinhibitAnyPolicyTest9EE.crt | Bin ...dSelfIssuedinhibitPolicyMappingTest7EE.crt | Bin ...lidSelfIssuedpathLenConstraintTest15EE.crt | Bin ...lidSelfIssuedpathLenConstraintTest17EE.crt | Bin ...SelfIssuedrequireExplicitPolicyTest6EE.crt | Bin ...dSeparateCertificateandCRLKeysTest19EE.crt | Bin .../data/PKITS/certs/ValidTwoCRLsTest7EE.crt | Bin .../certs/ValidURInameConstraintsTest34EE.crt | Bin .../certs/ValidURInameConstraintsTest36EE.crt | Bin ...UTF8StringCaseInsensitiveMatchTest11EE.crt | Bin .../ValidUTF8StringEncodedNamesTest9EE.crt | Bin ...NotCriticalCertificateExtensionTest1EE.crt | Bin ...alidbasicConstraintsNotCriticalTest4EE.crt | Bin .../PKITS/certs/ValidcRLIssuerTest28EE.crt | Bin .../PKITS/certs/ValidcRLIssuerTest29EE.crt | Bin .../PKITS/certs/ValidcRLIssuerTest30EE.crt | Bin .../PKITS/certs/ValidcRLIssuerTest33EE.crt | Bin .../data/PKITS/certs/ValiddeltaCRLTest2EE.crt | Bin .../data/PKITS/certs/ValiddeltaCRLTest5EE.crt | Bin .../data/PKITS/certs/ValiddeltaCRLTest7EE.crt | Bin .../data/PKITS/certs/ValiddeltaCRLTest8EE.crt | Bin .../certs/ValiddistributionPointTest1EE.crt | Bin .../certs/ValiddistributionPointTest4EE.crt | Bin .../certs/ValiddistributionPointTest5EE.crt | Bin .../certs/ValiddistributionPointTest7EE.crt | Bin .../certs/ValidinhibitAnyPolicyTest2EE.crt | Bin .../ValidinhibitPolicyMappingTest2EE.crt | Bin .../ValidinhibitPolicyMappingTest4EE.crt | Bin .../certs/ValidkeyUsageNotCriticalTest3EE.crt | Bin .../ValidonlyContainsCACertsTest13EE.crt | Bin .../certs/ValidonlySomeReasonsTest18EE.crt | Bin .../certs/ValidonlySomeReasonsTest19EE.crt | Bin .../certs/ValidpathLenConstraintTest13EE.crt | Bin .../certs/ValidpathLenConstraintTest14EE.crt | Bin .../certs/ValidpathLenConstraintTest7EE.crt | Bin .../certs/ValidpathLenConstraintTest8EE.crt | Bin .../Validpre2000UTCnotBeforeDateTest3EE.crt | Bin .../ValidrequireExplicitPolicyTest1EE.crt | Bin .../ValidrequireExplicitPolicyTest2EE.crt | Bin .../ValidrequireExplicitPolicyTest4EE.crt | Bin .../data/PKITS/certs/WrongCRLCACert.crt | Bin .../data/PKITS/certs/anyPolicyCACert.crt | Bin .../basicConstraintsCriticalcAFalseCACert.crt | Bin .../basicConstraintsNotCriticalCACert.crt | Bin ...sicConstraintsNotCriticalcAFalseCACert.crt | Bin .../data/PKITS/certs/deltaCRLCA1Cert.crt | Bin .../data/PKITS/certs/deltaCRLCA2Cert.crt | Bin .../data/PKITS/certs/deltaCRLCA3Cert.crt | Bin .../certs/deltaCRLIndicatorNoBaseCACert.crt | Bin .../PKITS/certs/distributionPoint1CACert.crt | Bin .../PKITS/certs/distributionPoint2CACert.crt | Bin .../data/PKITS/certs/indirectCRLCA1Cert.crt | Bin .../data/PKITS/certs/indirectCRLCA2Cert.crt | Bin .../data/PKITS/certs/indirectCRLCA3Cert.crt | Bin .../certs/indirectCRLCA3cRLIssuerCert.crt | Bin .../data/PKITS/certs/indirectCRLCA4Cert.crt | Bin .../certs/indirectCRLCA4cRLIssuerCert.crt | Bin .../data/PKITS/certs/indirectCRLCA5Cert.crt | Bin .../data/PKITS/certs/indirectCRLCA6Cert.crt | Bin .../PKITS/certs/inhibitAnyPolicy0CACert.crt | Bin .../PKITS/certs/inhibitAnyPolicy1CACert.crt | Bin .../inhibitAnyPolicy1SelfIssuedCACert.crt | Bin .../inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt | Bin .../certs/inhibitAnyPolicy1subCA1Cert.crt | Bin .../certs/inhibitAnyPolicy1subCA2Cert.crt | Bin .../certs/inhibitAnyPolicy1subCAIAP5Cert.crt | Bin .../certs/inhibitAnyPolicy1subsubCA2Cert.crt | Bin .../PKITS/certs/inhibitAnyPolicy5CACert.crt | Bin .../certs/inhibitAnyPolicy5subCACert.crt | Bin .../certs/inhibitAnyPolicy5subsubCACert.crt | Bin .../PKITS/certs/inhibitAnyPolicyTest3EE.crt | Bin .../certs/inhibitPolicyMapping0CACert.crt | Bin .../certs/inhibitPolicyMapping0subCACert.crt | Bin .../certs/inhibitPolicyMapping1P12CACert.crt | Bin .../inhibitPolicyMapping1P12subCACert.crt | Bin .../inhibitPolicyMapping1P12subCAIPM5Cert.crt | Bin .../inhibitPolicyMapping1P12subsubCACert.crt | Bin ...hibitPolicyMapping1P12subsubCAIPM5Cert.crt | Bin .../certs/inhibitPolicyMapping1P1CACert.crt | Bin ...nhibitPolicyMapping1P1SelfIssuedCACert.crt | Bin ...bitPolicyMapping1P1SelfIssuedsubCACert.crt | Bin .../inhibitPolicyMapping1P1subCACert.crt | Bin .../inhibitPolicyMapping1P1subsubCACert.crt | Bin .../certs/inhibitPolicyMapping5CACert.crt | Bin .../certs/inhibitPolicyMapping5subCACert.crt | Bin .../inhibitPolicyMapping5subsubCACert.crt | Bin .../inhibitPolicyMapping5subsubsubCACert.crt | Bin .../keyUsageCriticalcRLSignFalseCACert.crt | Bin ...keyUsageCriticalkeyCertSignFalseCACert.crt | Bin .../PKITS/certs/keyUsageNotCriticalCACert.crt | Bin .../keyUsageNotCriticalcRLSignFalseCACert.crt | Bin ...UsageNotCriticalkeyCertSignFalseCACert.crt | Bin .../PKITS/certs/nameConstraintsDN1CACert.crt | Bin .../nameConstraintsDN1SelfIssuedCACert.crt | Bin .../certs/nameConstraintsDN1subCA1Cert.crt | Bin .../certs/nameConstraintsDN1subCA2Cert.crt | Bin .../certs/nameConstraintsDN1subCA3Cert.crt | Bin .../PKITS/certs/nameConstraintsDN2CACert.crt | Bin .../PKITS/certs/nameConstraintsDN3CACert.crt | Bin .../certs/nameConstraintsDN3subCA1Cert.crt | Bin .../certs/nameConstraintsDN3subCA2Cert.crt | Bin .../PKITS/certs/nameConstraintsDN4CACert.crt | Bin .../PKITS/certs/nameConstraintsDN5CACert.crt | Bin .../PKITS/certs/nameConstraintsDNS1CACert.crt | Bin .../PKITS/certs/nameConstraintsDNS2CACert.crt | Bin .../certs/nameConstraintsRFC822CA1Cert.crt | Bin .../certs/nameConstraintsRFC822CA2Cert.crt | Bin .../certs/nameConstraintsRFC822CA3Cert.crt | Bin .../PKITS/certs/nameConstraintsURI1CACert.crt | Bin .../PKITS/certs/nameConstraintsURI2CACert.crt | Bin .../onlyContainsAttributeCertsCACert.crt | Bin .../PKITS/certs/onlyContainsCACertsCACert.crt | Bin .../certs/onlyContainsUserCertsCACert.crt | Bin .../PKITS/certs/onlySomeReasonsCA1Cert.crt | Bin .../PKITS/certs/onlySomeReasonsCA2Cert.crt | Bin .../PKITS/certs/onlySomeReasonsCA3Cert.crt | Bin .../PKITS/certs/onlySomeReasonsCA4Cert.crt | Bin .../PKITS/certs/pathLenConstraint0CACert.crt | Bin .../pathLenConstraint0SelfIssuedCACert.crt | Bin .../certs/pathLenConstraint0subCA2Cert.crt | Bin .../certs/pathLenConstraint0subCACert.crt | Bin .../PKITS/certs/pathLenConstraint1CACert.crt | Bin .../pathLenConstraint1SelfIssuedCACert.crt | Bin .../pathLenConstraint1SelfIssuedsubCACert.crt | Bin .../certs/pathLenConstraint1subCACert.crt | Bin .../PKITS/certs/pathLenConstraint6CACert.crt | Bin .../certs/pathLenConstraint6subCA0Cert.crt | Bin .../certs/pathLenConstraint6subCA1Cert.crt | Bin .../certs/pathLenConstraint6subCA4Cert.crt | Bin .../pathLenConstraint6subsubCA00Cert.crt | Bin .../pathLenConstraint6subsubCA11Cert.crt | Bin .../pathLenConstraint6subsubCA41Cert.crt | Bin .../pathLenConstraint6subsubsubCA11XCert.crt | Bin .../pathLenConstraint6subsubsubCA41XCert.crt | Bin .../certs/pre2000CRLnextUpdateCACert.crt | Bin .../certs/requireExplicitPolicy0CACert.crt | Bin .../certs/requireExplicitPolicy0subCACert.crt | Bin .../requireExplicitPolicy0subsubCACert.crt | Bin .../requireExplicitPolicy0subsubsubCACert.crt | Bin .../certs/requireExplicitPolicy10CACert.crt | Bin .../requireExplicitPolicy10subCACert.crt | Bin .../requireExplicitPolicy10subsubCACert.crt | Bin ...requireExplicitPolicy10subsubsubCACert.crt | Bin .../certs/requireExplicitPolicy2CACert.crt | Bin ...requireExplicitPolicy2SelfIssuedCACert.crt | Bin ...uireExplicitPolicy2SelfIssuedsubCACert.crt | Bin .../certs/requireExplicitPolicy2subCACert.crt | Bin .../certs/requireExplicitPolicy4CACert.crt | Bin .../certs/requireExplicitPolicy4subCACert.crt | Bin .../requireExplicitPolicy4subsubCACert.crt | Bin .../requireExplicitPolicy4subsubsubCACert.crt | Bin .../certs/requireExplicitPolicy5CACert.crt | Bin .../certs/requireExplicitPolicy5subCACert.crt | Bin .../requireExplicitPolicy5subsubCACert.crt | Bin .../requireExplicitPolicy5subsubsubCACert.crt | Bin .../certs/requireExplicitPolicy7CACert.crt | Bin .../requireExplicitPolicy7subCARE2Cert.crt | Bin ...quireExplicitPolicy7subsubCARE2RE4Cert.crt | Bin ...reExplicitPolicy7subsubsubCARE2RE4Cert.crt | Bin .../data/PKITS/crls/BadCRLIssuerNameCACRL.crl | Bin .../data/PKITS/crls/BadCRLSignatureCACRL.crl | Bin .../data/PKITS/crls/BadSignedCACRL.crl | Bin .../data/PKITS/crls/BadnotAfterDateCACRL.crl | Bin .../data/PKITS/crls/BadnotBeforeDateCACRL.crl | Bin .../BasicSelfIssuedCRLSigningKeyCACRL.crl | Bin ...BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl | Bin .../PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl | Bin .../PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl | Bin ...BasicSelfIssuedOldKeySelfIssuedCertCRL.crl | Bin .../data/PKITS/crls/DSACACRL.crl | Bin .../crls/DSAParametersInheritedCACRL.crl | Bin .../GeneralizedTimeCRLnextUpdateCACRL.crl | Bin .../data/PKITS/crls/GoodCACRL.crl | Bin .../data/PKITS/crls/GoodsubCACRL.crl | Bin .../GoodsubCAPanyPolicyMapping1to2CACRL.crl | Bin .../data/PKITS/crls/LongSerialNumberCACRL.crl | Bin .../data/PKITS/crls/Mapping1to2CACRL.crl | Bin .../PKITS/crls/MappingFromanyPolicyCACRL.crl | Bin .../PKITS/crls/MappingToanyPolicyCACRL.crl | Bin .../crls/MissingbasicConstraintsCACRL.crl | Bin .../data/PKITS/crls/NameOrderCACRL.crl | Bin .../PKITS/crls/NegativeSerialNumberCACRL.crl | Bin .../data/PKITS/crls/NoPoliciesCACRL.crl | Bin .../crls/NoissuingDistributionPointCACRL.crl | Bin .../data/PKITS/crls/OldCRLnextUpdateCACRL.crl | Bin .../data/PKITS/crls/P12Mapping1to3CACRL.crl | Bin .../PKITS/crls/P12Mapping1to3subCACRL.crl | Bin .../PKITS/crls/P12Mapping1to3subsubCACRL.crl | Bin .../data/PKITS/crls/P1Mapping1to234CACRL.crl | Bin .../PKITS/crls/P1Mapping1to234subCACRL.crl | Bin .../crls/P1anyPolicyMapping1to2CACRL.crl | Bin .../PKITS/crls/PanyPolicyMapping1to2CACRL.crl | Bin .../data/PKITS/crls/PoliciesP1234CACRL.crl | Bin .../PKITS/crls/PoliciesP1234subCAP123CRL.crl | Bin .../crls/PoliciesP1234subsubCAP123P12CRL.crl | Bin .../data/PKITS/crls/PoliciesP123CACRL.crl | Bin .../PKITS/crls/PoliciesP123subCAP12CRL.crl | Bin .../crls/PoliciesP123subsubCAP12P1CRL.crl | Bin .../crls/PoliciesP123subsubCAP2P2CRL.crl | Bin .../PoliciesP123subsubsubCAP12P2P1CRL.crl | Bin .../data/PKITS/crls/PoliciesP12CACRL.crl | Bin .../data/PKITS/crls/PoliciesP12subCAP1CRL.crl | Bin .../PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl | Bin .../data/PKITS/crls/PoliciesP2subCA2CRL.crl | Bin .../data/PKITS/crls/PoliciesP2subCACRL.crl | Bin .../data/PKITS/crls/PoliciesP3CACRL.crl | Bin .../RFC3280MandatoryAttributeTypesCACRL.crl | Bin .../RFC3280OptionalAttributeTypesCACRL.crl | Bin .../data/PKITS/crls/RevokedsubCACRL.crl | Bin ...erfromPrintableStringtoUTF8StringCACRL.crl | Bin .../SeparateCertificateandCRLKeysCA2CRL.crl | Bin .../crls/SeparateCertificateandCRLKeysCRL.crl | Bin .../data/PKITS/crls/TrustAnchorRootCRL.crl | Bin .../data/PKITS/crls/TwoCRLsCABadCRL.crl | Bin .../data/PKITS/crls/TwoCRLsCAGoodCRL.crl | Bin .../data/PKITS/crls/UIDCACRL.crl | Bin .../UTF8StringCaseInsensitiveMatchCACRL.crl | Bin .../crls/UTF8StringEncodedNamesCACRL.crl | Bin .../crls/UnknownCRLEntryExtensionCACRL.crl | Bin .../PKITS/crls/UnknownCRLExtensionCACRL.crl | Bin .../data/PKITS/crls/WrongCRLCACRL.crl | Bin .../data/PKITS/crls/anyPolicyCACRL.crl | Bin .../basicConstraintsCriticalcAFalseCACRL.crl | Bin .../crls/basicConstraintsNotCriticalCACRL.crl | Bin ...asicConstraintsNotCriticalcAFalseCACRL.crl | Bin .../data/PKITS/crls/deltaCRLCA1CRL.crl | Bin .../data/PKITS/crls/deltaCRLCA1deltaCRL.crl | Bin .../data/PKITS/crls/deltaCRLCA2CRL.crl | Bin .../data/PKITS/crls/deltaCRLCA2deltaCRL.crl | Bin .../data/PKITS/crls/deltaCRLCA3CRL.crl | Bin .../data/PKITS/crls/deltaCRLCA3deltaCRL.crl | Bin .../crls/deltaCRLIndicatorNoBaseCACRL.crl | Bin .../PKITS/crls/distributionPoint1CACRL.crl | Bin .../PKITS/crls/distributionPoint2CACRL.crl | Bin .../data/PKITS/crls/indirectCRLCA1CRL.crl | Bin .../data/PKITS/crls/indirectCRLCA3CRL.crl | Bin .../PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl | Bin .../PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl | Bin .../data/PKITS/crls/indirectCRLCA5CRL.crl | Bin .../PKITS/crls/inhibitAnyPolicy0CACRL.crl | Bin .../PKITS/crls/inhibitAnyPolicy1CACRL.crl | Bin .../PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl | Bin .../PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl | Bin .../crls/inhibitAnyPolicy1subCAIAP5CRL.crl | Bin .../crls/inhibitAnyPolicy1subsubCA2CRL.crl | Bin .../PKITS/crls/inhibitAnyPolicy5CACRL.crl | Bin .../PKITS/crls/inhibitAnyPolicy5subCACRL.crl | Bin .../crls/inhibitAnyPolicy5subsubCACRL.crl | Bin .../PKITS/crls/inhibitPolicyMapping0CACRL.crl | Bin .../crls/inhibitPolicyMapping0subCACRL.crl | Bin .../crls/inhibitPolicyMapping1P12CACRL.crl | Bin .../crls/inhibitPolicyMapping1P12subCACRL.crl | Bin .../inhibitPolicyMapping1P12subCAIPM5CRL.crl | Bin .../inhibitPolicyMapping1P12subsubCACRL.crl | Bin ...nhibitPolicyMapping1P12subsubCAIPM5CRL.crl | Bin .../crls/inhibitPolicyMapping1P1CACRL.crl | Bin .../crls/inhibitPolicyMapping1P1subCACRL.crl | Bin .../inhibitPolicyMapping1P1subsubCACRL.crl | Bin .../PKITS/crls/inhibitPolicyMapping5CACRL.crl | Bin .../crls/inhibitPolicyMapping5subCACRL.crl | Bin .../crls/inhibitPolicyMapping5subsubCACRL.crl | Bin .../inhibitPolicyMapping5subsubsubCACRL.crl | Bin .../keyUsageCriticalcRLSignFalseCACRL.crl | Bin .../keyUsageCriticalkeyCertSignFalseCACRL.crl | Bin .../PKITS/crls/keyUsageNotCriticalCACRL.crl | Bin .../keyUsageNotCriticalcRLSignFalseCACRL.crl | Bin ...yUsageNotCriticalkeyCertSignFalseCACRL.crl | Bin .../PKITS/crls/nameConstraintsDN1CACRL.crl | Bin .../crls/nameConstraintsDN1subCA1CRL.crl | Bin .../crls/nameConstraintsDN1subCA2CRL.crl | Bin .../crls/nameConstraintsDN1subCA3CRL.crl | Bin .../PKITS/crls/nameConstraintsDN2CACRL.crl | Bin .../PKITS/crls/nameConstraintsDN3CACRL.crl | Bin .../crls/nameConstraintsDN3subCA1CRL.crl | Bin .../crls/nameConstraintsDN3subCA2CRL.crl | Bin .../PKITS/crls/nameConstraintsDN4CACRL.crl | Bin .../PKITS/crls/nameConstraintsDN5CACRL.crl | Bin .../PKITS/crls/nameConstraintsDNS1CACRL.crl | Bin .../PKITS/crls/nameConstraintsDNS2CACRL.crl | Bin .../crls/nameConstraintsRFC822CA1CRL.crl | Bin .../crls/nameConstraintsRFC822CA2CRL.crl | Bin .../crls/nameConstraintsRFC822CA3CRL.crl | Bin .../PKITS/crls/nameConstraintsURI1CACRL.crl | Bin .../PKITS/crls/nameConstraintsURI2CACRL.crl | Bin .../crls/onlyContainsAttributeCertsCACRL.crl | Bin .../PKITS/crls/onlyContainsCACertsCACRL.crl | Bin .../PKITS/crls/onlyContainsUserCertsCACRL.crl | Bin .../crls/onlySomeReasonsCA1compromiseCRL.crl | Bin .../onlySomeReasonsCA1otherreasonsCRL.crl | Bin .../PKITS/crls/onlySomeReasonsCA2CRL1.crl | Bin .../PKITS/crls/onlySomeReasonsCA2CRL2.crl | Bin .../crls/onlySomeReasonsCA3compromiseCRL.crl | Bin .../onlySomeReasonsCA3otherreasonsCRL.crl | Bin .../crls/onlySomeReasonsCA4compromiseCRL.crl | Bin .../onlySomeReasonsCA4otherreasonsCRL.crl | Bin .../PKITS/crls/pathLenConstraint0CACRL.crl | Bin .../crls/pathLenConstraint0subCA2CRL.crl | Bin .../PKITS/crls/pathLenConstraint0subCACRL.crl | Bin .../PKITS/crls/pathLenConstraint1CACRL.crl | Bin .../PKITS/crls/pathLenConstraint1subCACRL.crl | Bin .../PKITS/crls/pathLenConstraint6CACRL.crl | Bin .../crls/pathLenConstraint6subCA0CRL.crl | Bin .../crls/pathLenConstraint6subCA1CRL.crl | Bin .../crls/pathLenConstraint6subCA4CRL.crl | Bin .../crls/pathLenConstraint6subsubCA00CRL.crl | Bin .../crls/pathLenConstraint6subsubCA11CRL.crl | Bin .../crls/pathLenConstraint6subsubCA41CRL.crl | Bin .../pathLenConstraint6subsubsubCA11XCRL.crl | Bin .../pathLenConstraint6subsubsubCA41XCRL.crl | Bin .../PKITS/crls/pre2000CRLnextUpdateCACRL.crl | Bin .../crls/requireExplicitPolicy0CACRL.crl | Bin .../crls/requireExplicitPolicy0subCACRL.crl | Bin .../requireExplicitPolicy0subsubCACRL.crl | Bin .../requireExplicitPolicy0subsubsubCACRL.crl | Bin .../crls/requireExplicitPolicy10CACRL.crl | Bin .../crls/requireExplicitPolicy10subCACRL.crl | Bin .../requireExplicitPolicy10subsubCACRL.crl | Bin .../requireExplicitPolicy10subsubsubCACRL.crl | Bin .../crls/requireExplicitPolicy2CACRL.crl | Bin .../crls/requireExplicitPolicy2subCACRL.crl | Bin .../crls/requireExplicitPolicy4CACRL.crl | Bin .../crls/requireExplicitPolicy4subCACRL.crl | Bin .../requireExplicitPolicy4subsubCACRL.crl | Bin .../requireExplicitPolicy4subsubsubCACRL.crl | Bin .../crls/requireExplicitPolicy5CACRL.crl | Bin .../crls/requireExplicitPolicy5subCACRL.crl | Bin .../requireExplicitPolicy5subsubCACRL.crl | Bin .../requireExplicitPolicy5subsubsubCACRL.crl | Bin .../crls/requireExplicitPolicy7CACRL.crl | Bin .../requireExplicitPolicy7subCARE2CRL.crl | Bin ...equireExplicitPolicy7subsubCARE2RE4CRL.crl | Bin ...ireExplicitPolicy7subsubsubCARE2RE4CRL.crl | Bin .../data/ThawteSGCCA.cer | Bin .../data/ThawteSGCCA.crl | Bin .../data/asn1/masterlist-content.data | Bin .../data/cert_chain.data | 120 +- .../data/cert_chain_nl.data | 0 .../data/cms/sigs/PSSSignData.data | 0 .../data/cms/sigs/PSSSignDataSHA1.sig | Bin .../data/cms/sigs/PSSSignDataSHA1Enc.sig | Bin .../data/cms/sigs/PSSSignDataSHA256.sig | Bin .../data/cms/sigs/PSSSignDataSHA256Enc.sig | Bin .../data/cms/sigs/PSSSignDataSHA512.sig | Bin .../data/cms/sigs/PSSSignDataSHA512Enc.sig | Bin .../data/cms/sigs/SignedMSPkcs7.sig | Bin .../data/cms/sigs/counterSig.p7m | Bin .../data/cms/sigs/rawsha256nonull.p7m | Bin .../data/crypto/SHA3TestVectors.txt | 0 .../data/crypto/SHAKETestVectors.txt | 0 .../data/hc256/hc128/ecrypt_HC-128.txt | 0 .../hc256/hc256/ecrypt_HC-256_128K_128IV.txt | 0 .../hc256/hc256/ecrypt_HC-256_128K_256IV.txt | 0 .../hc256/hc256/ecrypt_HC-256_256K_128IV.txt | 0 .../hc256/hc256/ecrypt_HC-256_256K_256IV.txt | 0 .../data/keys/README.txt | 0 .../data/keys/pbes1/pbeWithMD2AndDES_CBC.key | Bin .../data/keys/pbes1/pbeWithMD2AndRC2_CBC.key | Bin .../data/keys/pbes1/pbeWithMD5AndDES_CBC.key | Bin .../data/keys/pbes1/pbeWithMD5AndRC2_CBC.key | Bin .../data/keys/pbes1/pbeWithSHA1AndDES_CBC.key | Bin .../data/keys/pbes1/pbeWithSHA1AndRC2_CBC.key | Bin .../pbes1/pbe_WithSHA1And128BitRC2_CBC.key | Bin .../keys/pbes1/pbe_WithSHA1And128BitRC4.key | Bin .../pbe_WithSHA1And2_Key_TripleDES_CBC.key | Bin .../pbe_WithSHA1And3_Key_TripleDES_CBC.key | Bin .../pbes1/pbe_WithSHA1And40BitRC2_CBC.key | Bin .../keys/pbes1/pbe_WithSHA1And40BitRC4.key | Bin .../data/keys/pbes2/pbes2.aes-128-cbc.key | Bin .../data/keys/pbes2/pbes2.aes-128-cfb.key | Bin .../data/keys/pbes2/pbes2.aes-128-cfb1.key | Bin .../data/keys/pbes2/pbes2.aes-128-cfb8.key | Bin .../data/keys/pbes2/pbes2.aes-128-ecb.key | Bin .../data/keys/pbes2/pbes2.aes-128-ofb.key | Bin .../data/keys/pbes2/pbes2.aes-192-cbc.key | Bin .../data/keys/pbes2/pbes2.aes-192-cfb.key | Bin .../data/keys/pbes2/pbes2.aes-192-cfb1.key | Bin .../data/keys/pbes2/pbes2.aes-192-cfb8.key | Bin .../data/keys/pbes2/pbes2.aes-192-ecb.key | Bin .../data/keys/pbes2/pbes2.aes-192-ofb.key | Bin .../data/keys/pbes2/pbes2.aes-256-cbc.key | Bin .../data/keys/pbes2/pbes2.aes-256-cfb.key | Bin .../data/keys/pbes2/pbes2.aes-256-cfb1.key | Bin .../data/keys/pbes2/pbes2.aes-256-cfb8.key | Bin .../data/keys/pbes2/pbes2.aes-256-ecb.key | Bin .../data/keys/pbes2/pbes2.aes-256-ofb.key | Bin .../data/keys/pbes2/pbes2.aes128.key | Bin .../data/keys/pbes2/pbes2.aes192.key | Bin .../data/keys/pbes2/pbes2.aes256.key | Bin .../data/keys/pbes2/pbes2.bf-cbc.key | Bin .../data/keys/pbes2/pbes2.bf.key | Bin .../data/keys/pbes2/pbes2.blowfish.key | Bin .../data/keys/pbes2/pbes2.cast-cbc.key | Bin .../data/keys/pbes2/pbes2.cast.key | Bin .../data/keys/pbes2/pbes2.cast5-cbc.key | Bin .../data/keys/pbes2/pbes2.des-cbc.key | Bin .../data/keys/pbes2/pbes2.des-cfb.key | Bin .../data/keys/pbes2/pbes2.des-cfb1.key | Bin .../data/keys/pbes2/pbes2.des-cfb8.key | Bin .../data/keys/pbes2/pbes2.des-ecb.key | Bin .../data/keys/pbes2/pbes2.des-ede.key | Bin .../data/keys/pbes2/pbes2.des-ede3-cbc.key | Bin .../data/keys/pbes2/pbes2.des-ofb.key | Bin .../data/keys/pbes2/pbes2.des.key | Bin .../data/keys/pbes2/pbes2.des3.key | Bin .../data/keys/pbes2/pbes2.rc2-40-cbc.key | Bin .../data/keys/pbes2/pbes2.rc2-64-cbc.key | Bin .../data/keys/pbes2/pbes2.rc2-cbc.key | Bin .../data/keys/pbes2/pbes2.rc2.key | Bin .../data/openpgp/bigpub.asc | 0 .../data/openpgp/dsa/README.txt | 0 .../data/openpgp/dsa/keys/DSA-1024-160.pub | Bin .../data/openpgp/dsa/keys/DSA-1024-160.sec | Bin .../data/openpgp/dsa/keys/DSA-15360-512.pub | Bin .../data/openpgp/dsa/keys/DSA-15360-512.sec | Bin .../data/openpgp/dsa/keys/DSA-2048-224.pub | Bin .../data/openpgp/dsa/keys/DSA-2048-224.sec | Bin .../data/openpgp/dsa/keys/DSA-3072-256.pub | Bin .../data/openpgp/dsa/keys/DSA-3072-256.sec | Bin .../data/openpgp/dsa/keys/DSA-7680-384.pub | Bin .../data/openpgp/dsa/keys/DSA-7680-384.sec | Bin .../openpgp/dsa/sigs/dsa-1024-160-sign.gpg | 0 .../openpgp/dsa/sigs/dsa-1024-224-sign.gpg | Bin .../openpgp/dsa/sigs/dsa-1024-256-sign.gpg | Bin .../openpgp/dsa/sigs/dsa-1024-384-sign.gpg | Bin .../openpgp/dsa/sigs/dsa-1024-512-sign.gpg | Bin .../openpgp/dsa/sigs/dsa-15360-512-sign.gpg | Bin .../openpgp/dsa/sigs/dsa-2048-224-sign.gpg | Bin .../openpgp/dsa/sigs/dsa-3072-256-sign.gpg | Bin .../openpgp/dsa/sigs/dsa-7680-384-sign.gpg | Bin .../data/openpgp/longSigSubPack.asc | 0 .../data/openpgp/unicode/passphrase_cyr.txt | 0 .../openpgp/unicode/passphrase_for_test.txt | 0 .../data/openpgp/unicode/secring.gpg | Bin .../data/openpgp/unicode/test.asc | 0 .../data/openssl/README.txt | 0 .../openssl/dsa/openssl_dsa_aes128_cbc.pem | 0 .../openssl/dsa/openssl_dsa_aes128_cfb.pem | 0 .../openssl/dsa/openssl_dsa_aes128_ecb.pem | 0 .../openssl/dsa/openssl_dsa_aes128_ofb.pem | 0 .../openssl/dsa/openssl_dsa_aes192_cbc.pem | 0 .../openssl/dsa/openssl_dsa_aes192_cfb.pem | 0 .../openssl/dsa/openssl_dsa_aes192_ecb.pem | 0 .../openssl/dsa/openssl_dsa_aes192_ofb.pem | 0 .../openssl/dsa/openssl_dsa_aes256_cbc.pem | 0 .../openssl/dsa/openssl_dsa_aes256_cfb.pem | 0 .../openssl/dsa/openssl_dsa_aes256_ecb.pem | 0 .../openssl/dsa/openssl_dsa_aes256_ofb.pem | 0 .../openssl/dsa/openssl_dsa_blowfish_cbc.pem | 0 .../openssl/dsa/openssl_dsa_blowfish_cfb.pem | 0 .../openssl/dsa/openssl_dsa_blowfish_ecb.pem | 0 .../openssl/dsa/openssl_dsa_blowfish_ofb.pem | 0 .../data/openssl/dsa/openssl_dsa_des1_cbc.pem | 0 .../data/openssl/dsa/openssl_dsa_des1_cfb.pem | 0 .../data/openssl/dsa/openssl_dsa_des1_ecb.pem | 0 .../data/openssl/dsa/openssl_dsa_des1_ofb.pem | 0 .../data/openssl/dsa/openssl_dsa_des2_cbc.pem | 0 .../data/openssl/dsa/openssl_dsa_des2_cfb.pem | 0 .../data/openssl/dsa/openssl_dsa_des2_ecb.pem | 0 .../data/openssl/dsa/openssl_dsa_des2_ofb.pem | 0 .../data/openssl/dsa/openssl_dsa_des3_cbc.pem | 0 .../data/openssl/dsa/openssl_dsa_des3_cfb.pem | 0 .../data/openssl/dsa/openssl_dsa_des3_ecb.pem | 0 .../data/openssl/dsa/openssl_dsa_des3_ofb.pem | 0 .../openssl/dsa/openssl_dsa_rc2_128_cbc.pem | 0 .../openssl/dsa/openssl_dsa_rc2_128_cfb.pem | 0 .../openssl/dsa/openssl_dsa_rc2_128_ecb.pem | 0 .../openssl/dsa/openssl_dsa_rc2_128_ofb.pem | 0 .../openssl/dsa/openssl_dsa_rc2_40_cbc.pem | 0 .../openssl/dsa/openssl_dsa_rc2_64_cbc.pem | 0 .../openssl/dsa/openssl_dsa_unencrypted.pem | 0 .../data/openssl/eckey.pem | 0 .../data/openssl/enckey.pem | 0 .../data/openssl/pkcs7.pem | 0 .../data/openssl/pkcs8/openssl_pkcs8_rsa.pem | 0 .../openssl/pkcs8/openssl_pkcs8_rsa_enc.pem | 0 .../data/openssl/pkcs8test.pem | 0 .../openssl/rsa/openssl_rsa_aes128_cbc.pem | 0 .../openssl/rsa/openssl_rsa_aes128_cfb.pem | 0 .../openssl/rsa/openssl_rsa_aes128_ecb.pem | 0 .../openssl/rsa/openssl_rsa_aes128_ofb.pem | 0 .../openssl/rsa/openssl_rsa_aes192_cbc.pem | 0 .../openssl/rsa/openssl_rsa_aes192_cfb.pem | 0 .../openssl/rsa/openssl_rsa_aes192_ecb.pem | 0 .../openssl/rsa/openssl_rsa_aes192_ofb.pem | 0 .../openssl/rsa/openssl_rsa_aes256_cbc.pem | 0 .../openssl/rsa/openssl_rsa_aes256_cfb.pem | 0 .../openssl/rsa/openssl_rsa_aes256_ecb.pem | 0 .../openssl/rsa/openssl_rsa_aes256_ofb.pem | 0 .../openssl/rsa/openssl_rsa_blowfish_cbc.pem | 0 .../openssl/rsa/openssl_rsa_blowfish_cfb.pem | 0 .../openssl/rsa/openssl_rsa_blowfish_ecb.pem | 0 .../openssl/rsa/openssl_rsa_blowfish_ofb.pem | 0 .../data/openssl/rsa/openssl_rsa_des1_cbc.pem | 0 .../data/openssl/rsa/openssl_rsa_des1_cfb.pem | 0 .../data/openssl/rsa/openssl_rsa_des1_ecb.pem | 0 .../data/openssl/rsa/openssl_rsa_des1_ofb.pem | 0 .../data/openssl/rsa/openssl_rsa_des2_cbc.pem | 0 .../data/openssl/rsa/openssl_rsa_des2_cfb.pem | 0 .../data/openssl/rsa/openssl_rsa_des2_ecb.pem | 0 .../data/openssl/rsa/openssl_rsa_des2_ofb.pem | 0 .../data/openssl/rsa/openssl_rsa_des3_cbc.pem | 0 .../data/openssl/rsa/openssl_rsa_des3_cfb.pem | 0 .../data/openssl/rsa/openssl_rsa_des3_ecb.pem | 0 .../data/openssl/rsa/openssl_rsa_des3_ofb.pem | 0 .../openssl/rsa/openssl_rsa_rc2_128_cbc.pem | 0 .../openssl/rsa/openssl_rsa_rc2_128_cfb.pem | 0 .../openssl/rsa/openssl_rsa_rc2_128_ecb.pem | 0 .../openssl/rsa/openssl_rsa_rc2_128_ofb.pem | 0 .../openssl/rsa/openssl_rsa_rc2_40_cbc.pem | 0 .../openssl/rsa/openssl_rsa_rc2_64_cbc.pem | 0 .../openssl/rsa/openssl_rsa_unencrypted.pem | 0 .../data/openssl/test.pem | 0 .../data/qvRooCa3.crt | 76 +- .../data/rfc4134/3.1.bin | Bin .../data/rfc4134/3.2.bin | 0 .../data/rfc4134/4.1.bin | Bin .../data/rfc4134/4.10.bin | Bin .../data/rfc4134/4.11.bin | Bin .../data/rfc4134/4.2.bin | Bin .../data/rfc4134/4.3.bin | Bin .../data/rfc4134/4.4.bin | Bin .../data/rfc4134/4.5.bin | Bin .../data/rfc4134/4.6.bin | Bin .../data/rfc4134/4.7.bin | Bin .../data/rfc4134/4.8.eml | 0 .../data/rfc4134/4.9.eml | 0 .../data/rfc4134/5.1.bin | Bin .../data/rfc4134/5.2.bin | Bin .../data/rfc4134/5.3.eml | 0 .../data/rfc4134/6.0.bin | Bin .../data/rfc4134/7.1.bin | Bin .../data/rfc4134/7.2.bin | Bin .../rfc4134/AliceDSSSignByCarlNoInherit.cer | Bin .../data/rfc4134/AlicePrivDSSSign.pri | Bin .../data/rfc4134/AlicePrivRSASign.pri | Bin .../data/rfc4134/AliceRSASignByCarl.cer | Bin .../data/rfc4134/BobPrivRSAEncrypt.pri | Bin .../data/rfc4134/BobRSASignByCarl.cer | Bin .../data/rfc4134/CarlDSSCRLEmpty.crl | Bin .../data/rfc4134/CarlDSSCRLForAll.crl | Bin .../data/rfc4134/CarlDSSCRLForCarl.crl | Bin .../data/rfc4134/CarlDSSSelf.cer | Bin .../data/rfc4134/CarlPrivDSSSign.pri | Bin .../data/rfc4134/CarlPrivRSASign.pri | Bin .../data/rfc4134/CarlRSACRLEmpty.crl | Bin .../data/rfc4134/CarlRSACRLForAll.crl | Bin .../data/rfc4134/CarlRSACRLForCarl.crl | Bin .../data/rfc4134/CarlRSASelf.cer | Bin .../rfc4134/DianeDSSSignByCarlInherit.cer | Bin .../data/rfc4134/DianePrivDSSSign.pri | Bin .../data/rfc4134/DianePrivRSASignEncrypt.pri | Bin .../data/rfc4134/DianeRSASignByCarl.cer | Bin .../data/rfc4134/ExContent.bin | 0 .../data/rfc4134/rfc4134.txt | 0 .../data/rsa3/self-testcase-A.p12 | Bin .../data/rsa3/self-testcase-A.pem | 0 .../data/rsa3/self-testcase-B.p12 | Bin .../data/rsa3/self-testcase-B.pem | 0 .../data/rsa3/self-testcase-C.p12 | Bin .../data/rsa3/self-testcase-C.pem | 0 .../data/rsa3/self-testcase-D.p12 | Bin .../data/rsa3/self-testcase-D.pem | 0 .../data/rsa3/self-testcase-E.p12 | Bin .../data/rsa3/self-testcase-E.pem | 0 .../data/rsa3/self-testcase-F.p12 | Bin .../data/rsa3/self-testcase-F.pem | 0 .../data/rsa3/self-testcase-G.p12 | Bin .../data/rsa3/self-testcase-G.pem | 0 .../data/rsa3/self-testcase-H.p12 | Bin .../data/rsa3/self-testcase-H.pem | 0 .../data/rsa3/self-testcase-I.p12 | Bin .../data/rsa3/self-testcase-I.pem | 0 .../data/rsa3/self-testcase-J.p12 | Bin .../data/rsa3/self-testcase-J.pem | 0 .../data/rsa3/self-testcase-L.p12 | Bin .../data/rsa3/self-testcase-L.pem | 0 .../data/rsa3/testcases.README | Bin 14352 -> 14478 bytes .../data/scrypt/TestVectors.txt | 0 .../Crypto.NetSdk.NUnitTest}/data/suvaEE.crt | 64 +- .../data/suvaEmail1.crt | 78 +- .../data/suvaRoot1.crt | 92 +- .../data/tls/README.txt | 0 .../Crypto.NetSdk.NUnitTest}/data/tls/ca.tmpl | 0 .../data/tls/client.tmpl | 0 .../data/tls/keystores/client_store.dsa | Bin .../data/tls/keystores/client_store.rsa | Bin .../data/tls/keystores/server_store.dsa | Bin .../data/tls/keystores/server_store.rsa | Bin .../data/tls/server.tmpl | 0 .../data/tls/x509-ca-key.pem | 0 .../data/tls/x509-ca.pem | 0 .../data/tls/x509-client-dsa.pem | 0 .../data/tls/x509-client-ecdsa.pem | 0 .../data/tls/x509-client-key-dsa.pem | 0 .../data/tls/x509-client-key-ecdsa.pem | 0 .../data/tls/x509-client-key.pem | 0 .../data/tls/x509-client.pem | 0 .../data/tls/x509-server-dsa.pem | 0 .../data/tls/x509-server-ecdsa.pem | 0 .../data/tls/x509-server-key-dsa.pem | 0 .../data/tls/x509-server-key-ecdsa.pem | 0 .../data/tls/x509-server-key.pem | 0 .../data/tls/x509-server.pem | 0 .../tests}/asn1/test/ASN1IntegerTest.cs | 2 +- .../asn1/test/ASN1SequenceParserTest.cs | 0 .../tests}/asn1/test/ASN1UnitTest.cs | 0 .../AdditionalInformationSyntaxUnitTest.cs | 2 +- .../asn1/test/AdmissionSyntaxUnitTest.cs | 2 +- .../tests}/asn1/test/AdmissionsUnitTest.cs | 2 +- .../tests}/asn1/test/AllTests.cs | 2 +- .../asn1/test/AttributeTableUnitTest.cs | 2 +- .../tests}/asn1/test/BiometricDataUnitTest.cs | 2 +- .../asn1/test/BitStringConstantTester.cs | 0 .../tests}/asn1/test/BitStringTest.cs | 2 +- .../tests}/asn1/test/CMSTest.cs | 2 +- .../tests}/asn1/test/CertHashUnitTest.cs | 2 +- .../tests}/asn1/test/CertificateTest.cs | 2 +- .../test/CommitmentTypeIndicationUnitTest.cs | 2 +- .../test/CommitmentTypeQualifierUnitTest.cs | 2 +- .../tests}/asn1/test/ContentHintsUnitTest.cs | 2 +- .../tests}/asn1/test/CscaMasterListTest.cs | 2 +- .../asn1/test/DERApplicationSpecificTest.cs | 2 +- .../tests}/asn1/test/DERUTF8StringTest.cs | 2 +- .../tests}/asn1/test/DataGroupHashUnitTest.cs | 2 +- .../test/DeclarationOfMajorityUnitTest.cs | 2 +- .../asn1/test/EncryptedPrivateKeyInfoTest.cs | 2 +- .../tests}/asn1/test/EnumeratedTest.cs | 0 .../tests}/asn1/test/EqualsAndHashCodeTest.cs | 2 +- .../tests}/asn1/test/EssCertIDv2UnitTest.cs | 2 +- .../tests}/asn1/test/GeneralNameTest.cs | 2 +- .../tests}/asn1/test/GeneralizedTimeTest.cs | 2 +- .../tests}/asn1/test/GenerationTest.cs | 2 +- .../tests}/asn1/test/InputStreamTest.cs | 2 +- .../asn1/test/Iso4217CurrencyCodeUnitTest.cs | 2 +- .../asn1/test/IssuingDistributionPointTest.cs | 2 +- .../tests}/asn1/test/KeyUsageTest.cs | 2 +- .../asn1/test/LDSSecurityObjectUnitTest.cs | 2 +- .../tests}/asn1/test/MiscTest.cs | 2 +- .../tests}/asn1/test/MonetaryLimitUnitTest.cs | 2 +- .../tests}/asn1/test/MonetaryValueUnitTest.cs | 2 +- .../asn1/test/NameOrPseudonymUnitTest.cs | 2 +- .../asn1/test/NamingAuthorityUnitTest.cs | 2 +- .../tests}/asn1/test/NetscapeCertTypeTest.cs | 2 +- .../tests}/asn1/test/OCSPTest.cs | 2 +- .../tests}/asn1/test/OIDTest.cs | 2 +- .../tests}/asn1/test/OctetStringTest.cs | 0 .../tests}/asn1/test/OtherCertIDUnitTest.cs | 2 +- .../test/OtherSigningCertificateUnitTest.cs | 2 +- .../tests}/asn1/test/PKCS10Test.cs | 2 +- .../tests}/asn1/test/PKCS12Test.cs | 2 +- .../tests}/asn1/test/PKIFailureInfoTest.cs | 2 +- .../tests}/asn1/test/ParseTest.cs | 0 .../tests}/asn1/test/ParsingTest.cs | 2 +- .../tests}/asn1/test/PersonalDataUnitTest.cs | 2 +- .../tests}/asn1/test/PrivateKeyInfoTest.cs | 2 +- .../asn1/test/ProcurationSyntaxUnitTest.cs | 2 +- .../asn1/test/ProfessionInfoUnitTest.cs | 2 +- .../tests}/asn1/test/QCStatementUnitTest.cs | 2 +- .../tests}/asn1/test/ReasonFlagsTest.cs | 2 +- .../tests}/asn1/test/RegressionTest.cs | 2 +- .../asn1/test/RequestedCertificateUnitTest.cs | 2 +- .../tests}/asn1/test/RestrictionUnitTest.cs | 2 +- .../tests}/asn1/test/SMIMETest.cs | 2 +- .../asn1/test/SemanticsInformationUnitTest.cs | 2 +- .../tests}/asn1/test/SetTest.cs | 2 +- .../asn1/test/SignerLocationUnitTest.cs | 2 +- .../tests}/asn1/test/StringTest.cs | 2 +- .../asn1/test/SubjectKeyIdentifierTest.cs | 2 +- .../tests}/asn1/test/TagTest.cs | 2 +- .../tests}/asn1/test/TargetInformationTest.cs | 2 +- .../tests}/asn1/test/TimeTest.cs | 0 .../asn1/test/TypeOfBiometricDataUnitTest.cs | 2 +- .../tests}/asn1/test/UTCTimeTest.cs | 2 +- .../tests}/asn1/test/X509ExtensionsTest.cs | 2 +- .../tests}/asn1/test/X509NameTest.cs | 2 +- .../tests}/asn1/test/X9Test.cs | 2 +- .../tests}/cms/test/AllTests.cs | 2 +- .../cms/test/AuthenticatedDataStreamTest.cs | 0 .../tests}/cms/test/AuthenticatedDataTest.cs | 2 +- .../tests}/cms/test/CMSSampleMessages.cs | 0 .../tests}/cms/test/CMSTestUtil.cs | 0 .../cms/test/CompressedDataStreamTest.cs | 0 .../tests}/cms/test/CompressedDataTest.cs | 0 .../cms/test/EnvelopedDataStreamTest.cs | 0 .../tests}/cms/test/EnvelopedDataTest.cs | 0 .../tests}/cms/test/MiscDataStreamTest.cs | 0 .../tests}/cms/test/Rfc4134Test.cs | 0 .../tests}/cms/test/SignedDataStreamTest.cs | 0 .../tests}/cms/test/SignedDataTest.cs | 0 .../tests}/crypto/agreement/test/AllTests.cs | 2 +- .../agreement/test/JPakeParticipantTest.cs | 2 +- .../test/JPakePrimeOrderGroupTest.cs | 2 +- .../agreement/test/JPakeUtilitiesTest.cs | 2 +- .../tests}/crypto/examples/DESExample.cs | 0 .../tests}/crypto/io/test/AllTests.cs | 2 +- .../tests}/crypto/io/test/CipherStreamTest.cs | 0 .../tests}/crypto/prng/test/CtrDrbgTest.cs | 2 +- .../tests}/crypto/prng/test/DrbgTestVector.cs | 0 .../tests}/crypto/prng/test/HMacDrbgTest.cs | 2 +- .../tests}/crypto/prng/test/HashDrbgTest.cs | 2 +- .../prng/test/TestEntropySourceProvider.cs | 0 .../tests}/crypto/prng/test/X931Test.cs | 2 +- .../tests}/crypto/prng/test/X931TestVector.cs | 0 .../tests}/crypto/test/AESFastTest.cs | 2 +- .../tests}/crypto/test/AESLightTest.cs | 2 +- .../tests}/crypto/test/AESTest.cs | 2 +- .../tests}/crypto/test/AESWrapTest.cs | 2 +- .../tests}/crypto/test/AeadTestUtilities.cs | 0 .../tests}/crypto/test/AllTests.cs | 2 +- .../tests}/crypto/test/BCryptTest.cs | 2 +- .../tests}/crypto/test/Blake2bDigestTest.cs | 2 +- .../tests}/crypto/test/Blake2sDigestTest.cs | 2 +- .../crypto/test/BlockCipherMonteCarloTest.cs | 0 .../crypto/test/BlockCipherVectorTest.cs | 0 .../tests}/crypto/test/BlowfishTest.cs | 2 +- .../tests}/crypto/test/CAST6Test.cs | 2 +- .../tests}/crypto/test/CCMTest.cs | 2 +- .../tests}/crypto/test/CMacTest.cs | 2 +- .../tests}/crypto/test/CTSTest.cs | 2 +- .../tests}/crypto/test/CamelliaLightTest.cs | 2 +- .../tests}/crypto/test/CamelliaTest.cs | 2 +- .../tests}/crypto/test/Cast5Test.cs | 2 +- .../tests}/crypto/test/ChaChaTest.cs | 2 +- .../tests}/crypto/test/CipherTest.cs | 0 .../tests}/crypto/test/DESTest.cs | 2 +- .../tests}/crypto/test/DESedeTest.cs | 2 +- .../tests}/crypto/test/DHKEKGeneratorTest.cs | 2 +- .../tests}/crypto/test/DHTest.cs | 2 +- .../tests}/crypto/test/DSATest.cs | 2 +- .../tests}/crypto/test/DSTU7564Test.cs | 2 +- .../tests}/crypto/test/DSTU7624Test.cs | 2 +- .../crypto/test/DeterministicDSATest.cs | 2 +- .../crypto/test/DigestRandomNumberTest.cs | 2 +- .../tests}/crypto/test/DigestTest.cs | 0 .../tests}/crypto/test/EAXTest.cs | 2 +- .../crypto/test/ECDHKEKGeneratorTest.cs | 2 +- .../tests}/crypto/test/ECGOST3410Test.cs | 2 +- .../tests}/crypto/test/ECIESTest.cs | 2 +- .../tests}/crypto/test/ECNRTest.cs | 2 +- .../tests}/crypto/test/ECTest.cs | 2 +- .../tests}/crypto/test/Ed25519Test.cs | 2 +- .../tests}/crypto/test/Ed448Test.cs | 2 +- .../tests}/crypto/test/ElGamalTest.cs | 2 +- .../tests}/crypto/test/EqualsHashCodeTest.cs | 2 +- .../tests}/crypto/test/GCMTest.cs | 2 +- .../tests}/crypto/test/GMacTest.cs | 2 +- .../tests}/crypto/test/GOST28147MacTest.cs | 2 +- .../tests}/crypto/test/GOST28147Test.cs | 2 +- .../tests}/crypto/test/GOST3410Test.cs | 2 +- .../tests}/crypto/test/GOST3411DigestTest.cs | 2 +- .../test/GOST3411_2012_256DigestTest.cs | 0 .../test/GOST3411_2012_512DigestTest.cs | 0 .../tests}/crypto/test/GcmReorderTest.cs | 0 .../tests}/crypto/test/HCFamilyTest.cs | 2 +- .../tests}/crypto/test/HCFamilyVecTest.cs | 2 +- .../tests}/crypto/test/HKDFGeneratorTest.cs | 2 +- .../tests}/crypto/test/IDEATest.cs | 2 +- .../tests}/crypto/test/ISAACTest.cs | 2 +- .../tests}/crypto/test/ISO9796Test.cs | 2 +- .../tests}/crypto/test/ISO9797Alg3MacTest.cs | 2 +- .../tests}/crypto/test/KDF1GeneratorTest.cs | 2 +- .../tests}/crypto/test/KDF2GeneratorTest.cs | 2 +- .../tests}/crypto/test/KeccakDigestTest.cs | 2 +- .../tests}/crypto/test/MD2DigestTest.cs | 2 +- .../tests}/crypto/test/MD4DigestTest.cs | 2 +- .../tests}/crypto/test/MD5DigestTest.cs | 2 +- .../tests}/crypto/test/MD5HMacTest.cs | 2 +- .../tests}/crypto/test/MGF1GeneratorTest.cs | 2 +- .../tests}/crypto/test/MacTest.cs | 2 +- .../tests}/crypto/test/ModeTest.cs | 2 +- .../tests}/crypto/test/NaccacheSternTest.cs | 2 +- .../tests}/crypto/test/NoekeonTest.cs | 2 +- .../crypto/test/NonMemoableDigestTest.cs | 2 +- .../tests}/crypto/test/NullTest.cs | 2 +- .../tests}/crypto/test/OAEPTest.cs | 2 +- .../tests}/crypto/test/OCBTest.cs | 2 +- .../tests}/crypto/test/OpenBsdBCryptTest.cs | 2 +- .../tests}/crypto/test/PSSBlindTest.cs | 2 +- .../tests}/crypto/test/PSSTest.cs | 2 +- .../tests}/crypto/test/PaddingTest.cs | 2 +- .../tests}/crypto/test/Pkcs12Test.cs | 2 +- .../tests}/crypto/test/Pkcs5Test.cs | 2 +- .../tests}/crypto/test/Poly1305Test.cs | 2 +- .../tests}/crypto/test/RC2Test.cs | 2 +- .../tests}/crypto/test/RC2WrapTest.cs | 2 +- .../tests}/crypto/test/RC4Test.cs | 2 +- .../tests}/crypto/test/RC5Test.cs | 2 +- .../tests}/crypto/test/RC6Test.cs | 2 +- .../tests}/crypto/test/RFC3211WrapTest.cs | 2 +- .../tests}/crypto/test/RSABlindedTest.cs | 2 +- .../tests}/crypto/test/RegressionTest.cs | 2 +- .../tests}/crypto/test/RijndaelTest.cs | 2 +- .../tests}/crypto/test/RipeMD128DigestTest.cs | 2 +- .../tests}/crypto/test/RipeMD128HMacTest.cs | 2 +- .../tests}/crypto/test/RipeMD160DigestTest.cs | 2 +- .../tests}/crypto/test/RipeMD160HMacTest.cs | 2 +- .../tests}/crypto/test/RipeMD256DigestTest.cs | 2 +- .../tests}/crypto/test/RipeMD320DigestTest.cs | 2 +- .../tests}/crypto/test/RsaTest.cs | 2 +- .../tests}/crypto/test/SCryptTest.cs | 2 +- .../tests}/crypto/test/SEEDTest.cs | 2 +- .../tests}/crypto/test/SHA1DigestTest.cs | 2 +- .../tests}/crypto/test/SHA1HMacTest.cs | 2 +- .../tests}/crypto/test/SHA224DigestTest.cs | 2 +- .../tests}/crypto/test/SHA224HMacTest.cs | 2 +- .../tests}/crypto/test/SHA256DigestTest.cs | 2 +- .../tests}/crypto/test/SHA256HMacTest.cs | 2 +- .../tests}/crypto/test/SHA384DigestTest.cs | 2 +- .../tests}/crypto/test/SHA384HMacTest.cs | 2 +- .../tests}/crypto/test/SHA3DigestTest.cs | 2 +- .../tests}/crypto/test/SHA512DigestTest.cs | 2 +- .../tests}/crypto/test/SHA512HMacTest.cs | 2 +- .../crypto/test/SHA512t224DigestTest.cs | 2 +- .../crypto/test/SHA512t256DigestTest.cs | 2 +- .../tests}/crypto/test/SM2EngineTest.cs | 2 +- .../tests}/crypto/test/SM2KeyExchangeTest.cs | 2 +- .../tests}/crypto/test/SM2SignerTest.cs | 2 +- .../tests}/crypto/test/SM3DigestTest.cs | 2 +- .../tests}/crypto/test/SM4Test.cs | 2 +- .../tests}/crypto/test/SRP6Test.cs | 2 +- .../tests}/crypto/test/Salsa20Test.cs | 2 +- .../tests}/crypto/test/SerpentTest.cs | 2 +- .../tests}/crypto/test/ShakeDigestTest.cs | 2 +- .../tests}/crypto/test/ShortenedDigestTest.cs | 2 +- .../tests}/crypto/test/SipHashTest.cs | 2 +- .../tests}/crypto/test/SkeinDigestTest.cs | 2 +- .../tests}/crypto/test/SkeinMacTest.cs | 2 +- .../tests}/crypto/test/SkipjackTest.cs | 2 +- .../crypto/test/StreamCipherResetTest.cs | 2 +- .../crypto/test/StreamCipherVectorTest.cs | 0 .../tests}/crypto/test/TEATest.cs | 2 +- .../tests}/crypto/test/Threefish1024Test.cs | 2 +- .../tests}/crypto/test/Threefish256Test.cs | 2 +- .../tests}/crypto/test/Threefish512Test.cs | 2 +- .../tests}/crypto/test/TigerDigestTest.cs | 2 +- .../tests}/crypto/test/TnepresTest.cs | 2 +- .../tests}/crypto/test/TwofishTest.cs | 2 +- .../tests}/crypto/test/VMPCKSA3Test.cs | 2 +- .../tests}/crypto/test/VMPCMacTest.cs | 2 +- .../tests}/crypto/test/VMPCTest.cs | 2 +- .../tests}/crypto/test/WhirlpoolDigestTest.cs | 2 +- .../tests}/crypto/test/X25519Test.cs | 2 +- .../tests}/crypto/test/X448Test.cs | 2 +- .../tests}/crypto/test/X931SignerTest.cs | 2 +- .../tests}/crypto/test/XSalsa20Test.cs | 2 +- .../tests}/crypto/test/XTEATest.cs | 2 +- .../crypto/tls/test/ByteQueueStreamTest.cs | 0 .../crypto/tls/test/DtlsProtocolTest.cs | 0 .../tests}/crypto/tls/test/DtlsTestCase.cs | 0 .../crypto/tls/test/DtlsTestClientProtocol.cs | 0 .../crypto/tls/test/DtlsTestServerProtocol.cs | 0 .../tests}/crypto/tls/test/DtlsTestSuite.cs | 0 .../tls/test/LoggingDatagramTransport.cs | 0 .../tls/test/MockDatagramAssociation.cs | 0 .../tests}/crypto/tls/test/MockDtlsClient.cs | 0 .../tests}/crypto/tls/test/MockDtlsServer.cs | 0 .../crypto/tls/test/MockPskTlsClient.cs | 0 .../crypto/tls/test/MockPskTlsServer.cs | 0 .../crypto/tls/test/MockSrpTlsClient.cs | 0 .../crypto/tls/test/MockSrpTlsServer.cs | 0 .../tests}/crypto/tls/test/MockTlsClient.cs | 0 .../tests}/crypto/tls/test/MockTlsServer.cs | 0 .../tests}/crypto/tls/test/NetworkStream.cs | 0 .../tests}/crypto/tls/test/PipedStream.cs | 0 .../crypto/tls/test/PskTlsClientTest.cs | 2 +- .../tests}/crypto/tls/test/TlsClientTest.cs | 2 +- .../tls/test/TlsProtocolNonBlockingTest.cs | 0 .../tests}/crypto/tls/test/TlsProtocolTest.cs | 0 .../crypto/tls/test/TlsPskProtocolTest.cs | 0 .../tests}/crypto/tls/test/TlsServerTest.cs | 2 +- .../crypto/tls/test/TlsSrpProtocolTest.cs | 0 .../tests}/crypto/tls/test/TlsTestCase.cs | 0 .../crypto/tls/test/TlsTestClientImpl.cs | 0 .../crypto/tls/test/TlsTestClientProtocol.cs | 0 .../tests}/crypto/tls/test/TlsTestConfig.cs | 0 .../crypto/tls/test/TlsTestServerImpl.cs | 0 .../crypto/tls/test/TlsTestServerProtocol.cs | 0 .../tests}/crypto/tls/test/TlsTestSuite.cs | 0 .../crypto/tls/test/TlsTestUtilities.cs | 0 .../tls/test/UnreliableDatagramTransport.cs | 0 .../ec/custom/sec/test/SecP256R1FieldTest.cs | 0 .../ec/custom/sec/test/SecP384R1FieldTest.cs | 0 .../tests}/math/ec/rfc7748/test/X25519Test.cs | 0 .../tests}/math/ec/rfc7748/test/X448Test.cs | 0 .../math/ec/rfc8032/test/Ed25519Test.cs | 0 .../tests}/math/ec/rfc8032/test/Ed448Test.cs | 0 .../tests}/math/ec/test/AllTests.cs | 2 +- .../tests}/math/ec/test/ECAlgorithmsTest.cs | 0 .../math/ec/test/ECPointPerformanceTest.cs | 2 +- .../tests}/math/ec/test/ECPointTest.cs | 0 .../tests}/math/ec/test/F2mProofer.cs | 2 +- .../tests}/math/ec/test/FixedPointTest.cs | 0 .../tests}/math/ec/test/TnafTest.cs | 0 .../tests}/math/test/AllTests.cs | 2 +- .../tests}/math/test/BigIntegerTest.cs | 0 .../tests}/math/test/PrimesTest.cs | 0 .../tests}/ocsp/test/AllTests.cs | 2 +- .../tests}/ocsp/test/OCSPTest.cs | 2 +- .../tests}/ocsp/test/OCSPTestUtil.cs | 0 .../openpgp/examples/ByteArrayHandler.cs | 0 .../examples/ClearSignedFileProcessor.cs | 0 .../examples/DetachedSignatureProcessor.cs | 0 .../openpgp/examples/DirectKeySignature.cs | 0 .../examples/DsaElGamalKeyRingGenerator.cs | 0 .../openpgp/examples/KeyBasedFileProcessor.cs | 0 .../examples/KeyBasedLargeFileProcessor.cs | 0 .../openpgp/examples/PbeFileProcessor.cs | 0 .../openpgp/examples/PgpExampleUtilities.cs | 0 .../openpgp/examples/PublicKeyRingDump.cs | 0 .../openpgp/examples/RsaKeyRingGenerator.cs | 0 .../openpgp/examples/SignedFileProcessor.cs | 0 .../tests}/openpgp/examples/test/AllTests.cs | 2 +- .../tests}/openpgp/test/DSA2Test.cs | 0 .../tests}/openpgp/test/PGPArmoredTest.cs | 2 +- .../test/PGPClearSignedSignatureTest.cs | 2 +- .../tests}/openpgp/test/PGPCompressionTest.cs | 2 +- .../tests}/openpgp/test/PGPDSAElGamalTest.cs | 2 +- .../tests}/openpgp/test/PGPDSATest.cs | 2 +- .../openpgp/test/PGPNoPrivateKeyTest.cs | 2 +- .../tests}/openpgp/test/PGPPBETest.cs | 2 +- .../tests}/openpgp/test/PGPPacketTest.cs | 2 +- .../tests}/openpgp/test/PGPRSATest.cs | 2 +- .../tests}/openpgp/test/PGPSignatureTest.cs | 2 +- .../tests}/openpgp/test/PgpECDHTest.cs | 2 +- .../tests}/openpgp/test/PgpECDsaTest.cs | 2 +- .../tests}/openpgp/test/PgpECMessageTest.cs | 2 +- .../tests}/openpgp/test/PgpKeyRingTest.cs | 2 +- .../tests}/openpgp/test/PgpMarkerTest.cs | 2 +- .../tests}/openpgp/test/PgpParsingTest.cs | 2 +- .../tests}/openpgp/test/PgpUnicodeTest.cs | 31 +- .../tests}/openpgp/test/RegressionTest.cs | 2 +- .../tests}/openssl/test/AllTests.cs | 2 +- .../tests}/openssl/test/ReaderTest.cs | 2 +- .../tests}/openssl/test/WriterTest.cs | 2 +- .../tests}/pkcs/examples/PKCS12Example.cs | 0 .../pkcs/test/EncryptedPrivateKeyInfoTest.cs | 2 +- .../tests}/pkcs/test/PKCS10Test.cs | 2 +- .../tests}/pkcs/test/PKCS12StoreTest.cs | 2 +- .../tests}/security/test/SecureRandomTest.cs | 0 .../tests}/security/test/TestDigestUtil.cs | 0 .../tests}/security/test/TestDotNetUtil.cs | 0 .../tests}/security/test/TestEncodings.cs | 0 .../tests}/security/test/TestMacUtil.cs | 0 .../tests}/security/test/TestParameterUtil.cs | 0 .../tests}/security/test/TestSignerUtil.cs | 0 .../tests}/test/AESSICTest.cs | 2 +- .../tests}/test/AESTest.cs | 2 +- .../tests}/test/AttrCertSelectorTest.cs | 2 +- .../tests}/test/AttrCertTest.cs | 2 +- .../tests}/test/BaseBlockCipherTest.cs | 0 .../tests}/test/BlockCipherTest.cs | 2 +- .../tests}/test/CMacTest.cs | 2 +- .../tests}/test/CRL5Test.cs | 2 +- .../tests}/test/CamelliaTest.cs | 2 +- .../tests}/test/CertPathBuilderTest.cs | 2 +- .../tests}/test/CertPathTest.cs | 2 +- .../tests}/test/CertPathValidatorTest.cs | 2 +- .../tests}/test/CertTest.cs | 2 +- .../tests}/test/CipherStreamTest.cs | 2 +- .../tests}/test/DESedeTest.cs | 2 +- .../tests}/test/DHTest.cs | 2 +- .../tests}/test/DSATest.cs | 2 +- .../tests}/test/DigestTest.cs | 2 +- .../tests}/test/ECDSA5Test.cs | 2 +- .../tests}/test/ECEncodingTest.cs | 2 +- .../tests}/test/ECNRTest.cs | 2 +- .../tests}/test/ElGamalTest.cs | 2 +- .../test/EncryptedPrivateKeyInfoTest.cs | 2 +- .../tests}/test/FIPSDESTest.cs | 2 +- .../tests}/test/GOST28147Test.cs | 2 +- .../tests}/test/GOST3410Test.cs | 2 +- .../tests}/test/HMacTest.cs | 2 +- .../tests}/test/IESTest.cs | 2 +- .../tests}/test/MacTest.cs | 2 +- .../tests}/test/MqvTest.cs | 2 +- .../tests}/test/NamedCurveTest.cs | 2 +- .../tests}/test/NistCertPathTest.cs | 2 +- .../tests}/test/NoekeonTest.cs | 2 +- .../tests}/test/PBETest.cs | 2 +- .../tests}/test/PEMData.cs | 0 .../tests}/test/PKCS10CertRequestTest.cs | 2 +- .../tests}/test/PSSTest.cs | 2 +- .../tests}/test/PkixNameConstraintsTest.cs | 2 +- .../tests}/test/PkixPolicyMappingTest.cs | 2 +- .../tests}/test/PkixTest.cs | 2 +- .../tests}/test/RSATest.cs | 2 +- .../tests}/test/RegressionTest.cs | 2 +- .../tests}/test/SEEDTest.cs | 2 +- .../tests}/test/SM4Test.cs | 2 +- .../tests}/test/SigTest.cs | 2 +- .../tests}/test/TestUtilities.cs | 0 .../tests}/test/WrapTest.cs | 2 +- .../tests}/test/X509CertificatePairTest.cs | 2 +- .../tests}/test/X509StoreTest.cs | 2 +- .../tests}/test/nist/NistCertPathTest.cs | 0 .../tests}/test/rsa3/RSA3CertTest.cs | 2 +- .../tests}/tsp/test/AllTests.cs | 2 +- .../tests}/tsp/test/GenTimeAccuracyTest.cs | 0 .../tests}/tsp/test/ParseTest.cs | 0 .../tests}/tsp/test/TSPTest.cs | 0 .../tests}/tsp/test/TSPTestUtil.cs | 0 .../tests}/tsp/test/TimeStampTokenInfoTest.cs | 0 .../tests}/util/io/pem/test/AllTests.cs | 2 +- .../tests}/util/net/test/IPAddressTest.cs | 0 .../tests}/util/test/FixedSecureRandom.cs | 0 .../tests}/util/test/ITest.cs | 0 .../tests}/util/test/ITestResult.cs | 0 .../tests}/util/test/NumberParsing.cs | 0 .../tests}/util/test/SimpleTest.cs | 0 .../tests}/util/test/SimpleTestResult.cs | 0 .../tests}/util/test/TestFailedException.cs | 0 .../tests}/util/test/TestRandomBigInteger.cs | 0 .../tests}/util/test/UncloseableStream.cs | 0 .../tests}/x509/test/TestCertificateGen.cs | 2 +- version.props | 8 + 2835 files changed, 785 insertions(+), 21354 deletions(-) delete mode 100644 BouncyCastle-PCL.sln delete mode 100644 BouncyCastle.Mobile.sln create mode 100644 BouncyCastle.NetCoreSdk.sln delete mode 100644 BouncyCastle.sln delete mode 100644 BouncyCastle.snk create mode 100644 Directory.Build.props create mode 100644 Directory.Build.targets delete mode 100644 FxCop/CustomDictionary.xml delete mode 100644 MimeKit.BouncyCastle.nuspec delete mode 100644 Portable.BouncyCastle.nuspec delete mode 100644 crypto-test/App.ico delete mode 100644 crypto-test/CryptoTest.cs delete mode 100644 crypto-test/crypto-test.csproj delete mode 100644 crypto.tests.Net45/Properties/AssemblyInfo.cs delete mode 100644 crypto.tests.Net45/crypto.tests.Net45.csproj delete mode 100644 crypto.tests.Net45/packages.config delete mode 100644 crypto/BouncyCastle.Android.csproj delete mode 100644 crypto/BouncyCastle.csproj delete mode 100644 crypto/BouncyCastle.iOS.csproj delete mode 100644 crypto/NBuild.build delete mode 100644 crypto/crypto.Net45.csproj delete mode 100644 crypto/crypto.csproj delete mode 100644 crypto/crypto.dotnet.csproj delete mode 100644 crypto/crypto.dotnet.project.json delete mode 100644 crypto/crypto.pcl.csproj delete mode 100644 crypto/crypto.pcl2.csproj delete mode 100644 crypto/src/AssemblyInfo.cs delete mode 100644 crypto/test/UnitTests.csproj delete mode 100644 crypto/test/lib/nunit.core.dll delete mode 100644 crypto/test/lib/nunit.core.interfaces.dll delete mode 100644 crypto/test/lib/nunit.framework.dll delete mode 100644 crypto/testcfg.nunit delete mode 100644 csharp.sln create mode 100644 src/BouncyCastle/AssemblyInfo.Version.cs create mode 100644 src/BouncyCastle/BouncyCastle.NetCoreSdk.csproj rename {crypto => src/BouncyCastle}/Contributors.html (100%) rename {crypto => src/BouncyCastle}/License.html (100%) rename {crypto => src/BouncyCastle}/Readme.html (100%) rename {crypto/src => src/BouncyCastle}/asn1/ASN1Generator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ASN1OctetStringParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ASN1SequenceParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ASN1SetParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ASN1StreamParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ASN1TaggedObjectParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1Encodable.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1EncodableVector.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1Exception.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1InputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1Null.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1Object.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1OctetString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1OutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1ParsingException.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1Sequence.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1Set.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1TaggedObject.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/Asn1Tags.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BERBitString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BERGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BEROctetStringGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BEROctetStringParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BERSequenceGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BERSequenceParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BERSetGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BERSetParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BERTaggedObjectParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BerApplicationSpecific.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BerApplicationSpecificParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BerNull.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BerOctetString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BerOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BerSequence.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BerSet.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/BerTaggedObject.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ConstructedOctetStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DERExternal.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DERExternalParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DERGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DEROctetStringParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DERSequenceGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DERSequenceParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DERSetGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DERSetParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DefiniteLengthInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerApplicationSpecific.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerBMPString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerBitString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerBoolean.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerEnumerated.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerGeneralString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerGeneralizedTime.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerGraphicString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerIA5String.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerInteger.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerNull.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerNumericString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerObjectIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerOctetString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerPrintableString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerSequence.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerSet.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerStringBase.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerT61String.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerTaggedObject.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerUTCTime.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerUTF8String.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerUniversalString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerVideotexString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/DerVisibleString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/IAsn1ApplicationSpecificParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/IAsn1Choice.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/IAsn1Convertible.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/IAsn1String.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/IndefiniteLengthInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/LazyASN1InputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/LazyDERSequence.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/LazyDERSet.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/LimitedInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/OidTokenizer.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/anssi/ANSSINamedCurves.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/anssi/ANSSIObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/bc/BCObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/bsi/BsiObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CAKeyUpdAnnContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CertConfirmContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CertOrEncCert.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CertRepMessage.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CertResponse.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CertStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CertifiedKeyPair.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/Challenge.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CmpCertificate.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CmpObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/CrlAnnContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/ErrorMsgContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/GenMsgContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/GenRepContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/InfoTypeAndValue.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/KeyRecRepContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/OobCertHash.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIBody.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIConfirmContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIFailureInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIFreeText.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIHeader.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIHeaderBuilder.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIMessage.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIMessages.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PKIStatusInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PbmParameter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PollRepContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PollReqContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PopoDecKeyChallContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/PopoDecKeyRespContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/ProtectedPart.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/RevAnnContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/RevDetails.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/RevRepContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/RevRepContentBuilder.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cmp/RevReqContent.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/Attribute.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/AttributeTable.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/Attributes.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/AuthEnvelopedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/AuthEnvelopedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/AuthenticatedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/AuthenticatedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/CMSAttributes.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/CMSObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/CompressedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/CompressedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/ContentInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/ContentInfoParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/EncryptedContentInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/EncryptedContentInfoParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/EncryptedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/EnvelopedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/EnvelopedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/Evidence.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/IssuerAndSerialNumber.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/KEKIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/KEKRecipientInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/KeyAgreeRecipientIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/KeyAgreeRecipientInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/KeyTransRecipientInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/MetaData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/OriginatorIdentifierOrKey.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/OriginatorInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/OriginatorPublicKey.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/OtherKeyAttribute.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/OtherRecipientInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/OtherRevocationInfoFormat.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/PasswordRecipientInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/RecipientEncryptedKey.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/RecipientIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/RecipientInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/RecipientKeyIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/SCVPReqRes.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/SignedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/SignedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/SignerIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/SignerInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/Time.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/TimeStampAndCRL.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/TimeStampTokenEvidence.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/TimeStampedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/TimeStampedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cms/ecc/MQVuserKeyingMaterial.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/AttributeTypeAndValue.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/CertId.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/CertReqMessages.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/CertReqMsg.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/CertRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/CertTemplate.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/CertTemplateBuilder.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/Controls.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/CrmfObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/EncKeyWithID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/EncryptedKey.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/EncryptedValue.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/OptionalValidity.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/PKIArchiveOptions.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/PKIPublicationInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/PKMacValue.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/PopoPrivKey.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/PopoSigningKey.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/PopoSigningKeyInput.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/ProofOfPossession.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/SinglePubInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/crmf/SubsequentMessage.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cryptopro/CryptoProObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cryptopro/ECGOST3410NamedCurves.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cryptopro/ECGOST3410ParamSetParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cryptopro/GOST28147Parameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cryptopro/GOST3410NamedParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cryptopro/GOST3410ParamSetParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/cryptopro/GOST3410PublicKeyAlgParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/eac/EACObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/edec/EdECObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CertificateValues.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CommitmentTypeIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CommitmentTypeIndication.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CommitmentTypeQualifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CompleteCertificateRefs.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CompleteRevocationRefs.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CrlIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CrlListID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CrlOcspRef.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/CrlValidatedID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/ESFAttributes.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OcspIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OcspListID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OcspResponsesID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OtherCertID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OtherHash.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OtherHashAlgAndValue.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OtherRevRefs.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OtherRevVals.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/OtherSigningCertificate.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/RevocationValues.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/SigPolicyQualifierInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/SignaturePolicyId.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/SignaturePolicyIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/SignerAttribute.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/esf/SignerLocation.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ess/ContentHints.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ess/ContentIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ess/ESSCertID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ess/ESSCertIDv2.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ess/OtherCertID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ess/OtherSigningCertificate.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ess/SigningCertificate.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ess/SigningCertificateV2.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/gm/GMNamedCurves.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/gm/GMObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/gnu/GNUObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/iana/IANAObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/icao/CscaMasterList.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/icao/DataGroupHash.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/icao/ICAOObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/icao/LDSSecurityObject.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/icao/LDSVersionInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/ISISMTTObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/ocsp/CertHash.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/ocsp/RequestedCertificate.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/AdditionalInformationSyntax.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/AdmissionSyntax.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/Admissions.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/DeclarationOfMajority.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/MonetaryLimit.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/NamingAuthority.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/ProcurationSyntax.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/ProfessionInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/isismtt/x509/Restriction.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/kisa/KISAObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/microsoft/MicrosoftObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/misc/CAST5CBCParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/misc/IDEACBCPar.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/misc/MiscObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/misc/NetscapeCertType.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/misc/NetscapeRevocationURL.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/misc/VerisignCzagExtension.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/mozilla/PublicKeyAndChallenge.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/nist/NISTNamedCurves.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/nist/NISTObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ntt/NTTObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/BasicOCSPResponse.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/CertID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/CertStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/CrlID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/OCSPObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/OCSPRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/OCSPResponse.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/OCSPResponseStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/Request.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/ResponderID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/ResponseBytes.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/ResponseData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/RevokedInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/ServiceLocator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/Signature.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/SingleResponse.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ocsp/TBSRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/oiw/ElGamalParameter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/oiw/OIWObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/Attribute.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/AuthenticatedSafe.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/CertBag.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/CertificationRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/CertificationRequestInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/ContentInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/DHParameter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/EncryptedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/EncryptedPrivateKeyInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/EncryptionScheme.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/IssuerAndSerialNumber.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/KeyDerivationFunc.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/MacData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/PBEParameter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/PBES2Parameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/PBKDF2Params.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/PKCS12PBEParams.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/PKCSObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/Pfx.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/PrivateKeyInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/RC2CBCParameter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/RSAESOAEPparams.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/RSAPrivateKeyStructure.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/RSASSAPSSparams.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/SafeBag.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/SignedData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/pkcs/SignerInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/rosstandart/RosstandartObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/sec/ECPrivateKeyStructure.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/sec/SECNamedCurves.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/sec/SECObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/smime/SMIMEAttributes.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/smime/SMIMECapabilities.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/smime/SMIMECapabilitiesAttribute.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/smime/SMIMECapability.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/smime/SMIMECapabilityVector.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/teletrust/TeleTrusTNamedCurves.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/teletrust/TeleTrusTObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/tsp/Accuracy.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/tsp/MessageImprint.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/tsp/TSTInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/tsp/TimeStampReq.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/tsp/TimeStampResp.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/ua/UAObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/util/Asn1Dump.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/util/Dump.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/util/FilterStream.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x500/DirectoryString.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AccessDescription.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AlgorithmIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AttCertIssuer.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AttCertValidityPeriod.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/Attribute.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AttributeCertificate.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AttributeCertificateInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AttributeTable.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AuthorityInformationAccess.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/AuthorityKeyIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/BasicConstraints.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/CRLDistPoint.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/CRLNumber.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/CRLReason.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/CertPolicyId.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/CertificateList.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/CertificatePair.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/CertificatePolicies.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/DSAParameter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/DigestInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/DisplayText.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/DistributionPoint.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/DistributionPointName.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/ExtendedKeyUsage.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/GeneralName.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/GeneralNames.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/GeneralSubtree.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/Holder.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/IetfAttrSyntax.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/IssuerSerial.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/IssuingDistributionPoint.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/KeyPurposeId.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/KeyUsage.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/NameConstraints.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/NoticeReference.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/ObjectDigestInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/PolicyInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/PolicyMappings.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/PolicyQualifierId.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/PolicyQualifierInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/PrivateKeyUsagePeriod.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/RSAPublicKeyStructure.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/ReasonFlags.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/RoleSyntax.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/SubjectDirectoryAttributes.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/SubjectKeyIdentifier.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/SubjectPublicKeyInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/TBSCertList.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/TBSCertificateStructure.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/Target.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/TargetInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/Targets.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/Time.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/UserNotice.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/V1TBSCertificateGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/V2AttributeCertificateInfoGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/V2Form.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/V2TBSCertListGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/V3TBSCertificateGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509Attributes.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509CertificateStructure.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509DefaultEntryConverter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509Extension.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509Extensions.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509ExtensionsGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509Name.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509NameEntryConverter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509NameTokenizer.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/X509ObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/qualified/BiometricData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/qualified/ETSIQCObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/qualified/Iso4217CurrencyCode.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/qualified/MonetaryValue.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/qualified/QCStatement.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/qualified/RFC3739QCObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/qualified/SemanticsInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/qualified/TypeOfBiometricData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/sigi/NameOrPseudonym.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/sigi/PersonalData.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x509/sigi/SigIObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/DHDomainParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/DHPublicKey.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/DHValidationParms.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/ECNamedCurveTable.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/KeySpecificInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/OtherInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X962NamedCurves.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X962Parameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X9Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X9ECParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X9ECParametersHolder.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X9ECPoint.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X9FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X9FieldID.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X9IntegerConverter.cs (100%) rename {crypto/src => src/BouncyCastle}/asn1/x9/X9ObjectIdentifiers.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ArmoredInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ArmoredOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/BcpgInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/BcpgObject.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/BcpgOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/CompressedDataPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/CompressionAlgorithmTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ContainedPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/Crc24.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/DsaPublicBcpgKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/DsaSecretBcpgKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ECDHPublicBCPGKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ECDsaPublicBCPGKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ECPublicBCPGKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ECSecretBCPGKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ElGamalPublicBcpgKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ElGamalSecretBcpgKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ExperimentalPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/HashAlgorithmTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/IBcpgKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/InputStreamPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/LiteralDataPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/MPInteger.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/MarkerPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/ModDetectionCodePacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/OnePassSignaturePacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/OutputStreamPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/Packet.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/PacketTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/PublicKeyAlgorithmTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/PublicKeyEncSessionPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/PublicKeyPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/PublicSubkeyPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/RsaPublicBcpgKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/RsaSecretBcpgKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/S2k.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SecretKeyPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SecretSubkeyPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SignaturePacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SignatureSubpacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SignatureSubpacketTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SignatureSubpacketsReader.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SymmetricEncDataPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SymmetricEncIntegrityPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SymmetricKeyAlgorithmTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/SymmetricKeyEncSessionPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/TrustPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/UserAttributePacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/UserAttributeSubpacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/UserAttributeSubpacketTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/UserAttributeSubpacketsReader.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/UserIdPacket.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/attr/ImageAttrib.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/EmbeddedSignature.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/Exportable.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/Features.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/IssuerKeyId.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/KeyExpirationTime.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/KeyFlags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/NotationData.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/PreferredAlgorithms.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/PrimaryUserId.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/Revocable.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/RevocationKey.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/RevocationKeyTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/RevocationReason.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/RevocationReasonTags.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/SignatureCreationTime.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/SignatureExpirationTime.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/SignerUserId.cs (100%) rename {crypto/src => src/BouncyCastle}/bcpg/sig/TrustSignature.cs (100%) rename {crypto => src/BouncyCastle}/bzip2/src/BZip2Constants.cs (100%) rename {crypto => src/BouncyCastle}/bzip2/src/CBZip2InputStream.cs (100%) rename {crypto => src/BouncyCastle}/bzip2/src/CBZip2OutputStream.cs (100%) rename {crypto => src/BouncyCastle}/bzip2/src/CRC.cs (100%) rename {crypto => src/BouncyCastle}/checklist.txt (100%) rename {crypto/src => src/BouncyCastle}/cms/BaseDigestCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAttributeTableGenerationException.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAttributeTableGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAuthEnvelopedData.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAuthEnvelopedGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAuthenticatedData.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAuthenticatedDataGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAuthenticatedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAuthenticatedDataStreamGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSAuthenticatedGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSCompressedData.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSCompressedDataGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSCompressedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSCompressedDataStreamGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSContentInfoParser.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSEnvelopedData.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSEnvelopedDataGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSEnvelopedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSEnvelopedDataStreamGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSEnvelopedGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSEnvelopedHelper.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSException.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSPBEKey.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSProcessable.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSProcessableByteArray.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSProcessableFile.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSProcessableInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSReadable.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSSecureReadable.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSSignedData.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSSignedDataGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSSignedDataParser.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSSignedDataStreamGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSSignedGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSSignedHelper.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSStreamException.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSTypedStream.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CMSUtils.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/CounterSignatureDigestCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/DefaultAuthenticatedAttributeTableGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/DefaultSignedAttributeTableGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/IDigestCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/KEKRecipientInfoGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/KEKRecipientInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/KeyAgreeRecipientInfoGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/KeyAgreeRecipientInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/KeyTransRecipientInfoGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/KeyTransRecipientInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/OriginatorId.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/OriginatorInfoGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/OriginatorInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/PKCS5Scheme2PBEKey.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/PKCS5Scheme2UTF8PBEKey.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/PasswordRecipientInfoGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/PasswordRecipientInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/RecipientId.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/RecipientInfoGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/RecipientInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/RecipientInformationStore.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/SignerId.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/SignerInfoGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/SignerInformation.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/SignerInformationStore.cs (100%) rename {crypto/src => src/BouncyCastle}/cms/SimpleAttributeTableGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/AsymmetricCipherKeyPair.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/AsymmetricKeyParameter.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/BufferedAeadBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/BufferedAsymmetricBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/BufferedBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/BufferedCipherBase.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/BufferedIesCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/BufferedStreamCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/Check.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/CipherKeyGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/CryptoException.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/DataLengthException.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IAsymmetricBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IAsymmetricCipherKeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IBasicAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IBlockResult.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IBufferedCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/ICipherParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IDSA.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IDerivationFunction.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IDerivationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IDsaExt.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IEntropySource.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IEntropySourceProvider.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IRawAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IRsa.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/ISignatureFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/ISigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/ISignerWithRecovery.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IStreamCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IStreamCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IVerifier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IVerifierFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IVerifierFactoryProvider.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IWrapper.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/IXof.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/InvalidCipherTextException.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/KeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/MaxBytesExceededException.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/OutputLengthException.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/PbeParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/StreamBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/DHAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/DHBasicAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/DHStandardGroups.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/ECDHBasicAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/ECDHCBasicAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/ECDHWithKdfBasicAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/ECMqvBasicAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/ECMqvWithKdfBasicAgreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/SM2KeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/X25519Agreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/X448Agreement.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/jpake/JPakeParticipant.cs (100%) mode change 100755 => 100644 rename {crypto/src => src/BouncyCastle}/crypto/agreement/jpake/JPakePrimeOrderGroup.cs (100%) mode change 100755 => 100644 rename {crypto/src => src/BouncyCastle}/crypto/agreement/jpake/JPakePrimeOrderGroups.cs (100%) mode change 100755 => 100644 rename {crypto/src => src/BouncyCastle}/crypto/agreement/jpake/JPakeRound1Payload.cs (100%) mode change 100755 => 100644 rename {crypto/src => src/BouncyCastle}/crypto/agreement/jpake/JPakeRound2Payload.cs (100%) mode change 100755 => 100644 rename {crypto/src => src/BouncyCastle}/crypto/agreement/jpake/JPakeRound3Payload.cs (100%) mode change 100755 => 100644 rename {crypto/src => src/BouncyCastle}/crypto/agreement/jpake/JPakeUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/kdf/ConcatenationKdfGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/kdf/DHKdfParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/kdf/DHKekGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/kdf/ECDHKekGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/srp/SRP6Client.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/srp/SRP6Server.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/srp/SRP6StandardGroups.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/srp/SRP6Utilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/agreement/srp/SRP6VerifierGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/Blake2bDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/Blake2sDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/DSTU7564Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/GOST3411Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/GOST3411_2012Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/GOST3411_2012_256Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/GOST3411_2012_512Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/GeneralDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/KeccakDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/LongDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/MD2Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/MD4Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/MD5Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/NonMemoableDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/NullDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/RipeMD128Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/RipeMD160Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/RipeMD256Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/RipeMD320Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/SHA3Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/SM3Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/Sha1Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/Sha224Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/Sha256Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/Sha384Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/Sha512Digest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/Sha512tDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/ShakeDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/ShortenedDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/SkeinDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/SkeinEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/TigerDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/digests/WhirlpoolDigest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/ec/CustomNamedCurves.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/encodings/ISO9796d1Encoding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/encodings/OaepEncoding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/encodings/Pkcs1Encoding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/AesEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/AesFastEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/AesLightEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/AesWrapEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/BlowfishEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/CamelliaEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/CamelliaLightEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/CamelliaWrapEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/Cast5Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/Cast6Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/ChaCha7539Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/ChaChaEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/DesEdeEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/DesEdeWrapEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/DesEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/Dstu7624Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/Dstu7624WrapEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/ElGamalEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/GOST28147Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/HC128Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/HC256Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/ISAACEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/IdeaEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/IesEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/NaccacheSternEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/NoekeonEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/NullEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RC2Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RC2WrapEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RC4Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RC532Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RC564Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RC6Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RFC3211WrapEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RFC3394WrapEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RSABlindedEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RSABlindingEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RSACoreEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RijndaelEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/RsaEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/SEEDEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/SEEDWrapEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/SM2Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/SM4Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/Salsa20Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/SerpentEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/SerpentEngineBase.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/SkipjackEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/TEAEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/ThreefishEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/TnepresEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/TwofishEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/VMPCEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/VMPCKSA3Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/XSalsa20Engine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/engines/XTEAEngine.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/BCrypt.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/BaseKdfBytesGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DHBasicKeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DHKeyGeneratorHelper.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DHKeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DHParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DHParametersHelper.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DesEdeKeyGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DesKeyGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DsaKeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/DsaParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/ECKeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Ed25519KeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Ed448KeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/ElGamalKeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/ElGamalParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/GOST3410KeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/GOST3410ParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/HKDFBytesGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Kdf1BytesGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Kdf2BytesGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Mgf1BytesGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/NaccacheSternKeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/OpenBsdBCrypt.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/OpenSSLPBEParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Pkcs12ParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Pkcs5S1ParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Pkcs5S2ParametersGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/Poly1305KeyGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/RSABlindingFactorGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/RsaKeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/SCrypt.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/X25519KeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/generators/X448KeyPairGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/io/CipherStream.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/io/DigestSink.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/io/DigestStream.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/io/MacSink.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/io/MacStream.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/io/SignerSink.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/io/SignerStream.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/CMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/CbcBlockCipherMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/CfbBlockCipherMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/DSTU7564Mac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/DSTU7624Mac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/GMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/GOST28147Mac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/HMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/ISO9797Alg3Mac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/Poly1305.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/SipHash.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/SkeinMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/macs/VMPCMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/CbcBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/CcmBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/CfbBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/CtsBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/EAXBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/GCMBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/GOFBBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/IAeadBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/KCcmBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/KCtrBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/OCBBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/OfbBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/OpenPgpCfbBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/SicBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/gcm/BasicGcmExponentiator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/gcm/BasicGcmMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/gcm/GcmUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/gcm/IGcmExponentiator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/gcm/IGcmMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/gcm/Tables1kGcmExponentiator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/gcm/Tables64kGcmMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/modes/gcm/Tables8kGcmMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/operators/Asn1Signature.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/operators/DefaultSignatureCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/operators/DefaultSignatureResult.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/operators/DefaultVerifierCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/operators/DefaultVerifierResult.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/paddings/BlockCipherPadding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/paddings/ISO10126d2Padding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/paddings/ISO7816d4Padding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/paddings/PaddedBufferedBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/paddings/Pkcs7Padding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/paddings/TbcPadding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/paddings/X923Padding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/paddings/ZeroBytePadding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/AEADParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/CcmParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DHKeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DHKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DHParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DHPrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DHPublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DHValidationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DSAParameterGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DesEdeParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DesParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DsaKeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DsaKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DsaParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DsaPrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DsaPublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/DsaValidationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ECDomainParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ECKeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ECKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ECPrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ECPublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/Ed25519KeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/Ed25519PrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/Ed25519PublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/Ed448KeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/Ed448PrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/Ed448PublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ElGamalKeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ElGamalKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ElGamalParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ElGamalPrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ElGamalPublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/GOST3410KeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/GOST3410KeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/GOST3410Parameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/GOST3410PrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/GOST3410PublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/GOST3410ValidationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/HKDFParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ISO18033KDFParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/IesParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/IesWithCipherParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/KdfParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/KeyParameter.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/MgfParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/MqvPrivateParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/MqvPublicParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/NaccacheSternKeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/NaccacheSternKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/NaccacheSternPrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ParametersWithID.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ParametersWithIV.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ParametersWithRandom.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ParametersWithSBox.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/ParametersWithSalt.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/RC2Parameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/RC5Parameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/RSABlindingParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/RsaKeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/RsaKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/RsaPrivateCrtKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/SM2KeyExchangePrivateParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/SM2KeyExchangePublicParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/SkeinParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/Srp6GroupParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/TweakableBlockCipherParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/X25519KeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/X25519PrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/X25519PublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/X448KeyGenerationParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/X448PrivateKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/parameters/X448PublicKeyParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/BasicEntropySourceProvider.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/CryptoApiEntropySourceProvider.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/CryptoApiRandomGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/DigestRandomGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/EntropyUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/IDrbgProvider.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/IRandomGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/ReversedWindowGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/SP800SecureRandom.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/SP800SecureRandomBuilder.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/ThreadedSeedGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/VMPCRandomGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/X931Rng.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/X931SecureRandom.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/X931SecureRandomBuilder.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/drbg/CtrSP800Drbg.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/drbg/DrbgUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/drbg/HMacSP800Drbg.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/drbg/HashSP800Drbg.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/prng/drbg/ISP80090Drbg.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/DsaDigestSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/DsaSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/ECDsaSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/ECGOST3410Signer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/ECNRSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/Ed25519Signer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/Ed25519ctxSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/Ed25519phSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/Ed448Signer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/Ed448phSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/GOST3410DigestSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/GOST3410Signer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/GenericSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/HMacDsaKCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/IDsaEncoding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/IDsaKCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/Iso9796d2PssSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/Iso9796d2Signer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/IsoTrailers.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/PlainDsaEncoding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/PssSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/RandomDsaKCalculator.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/RsaDigestSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/SM2Signer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/StandardDsaEncoding.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/signers/X931Signer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsAgreementCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsCipherFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsClient.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsContext.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsEncryptionCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsPeer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsServer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AbstractTlsSignerCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AlertDescription.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/AlertLevel.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/BasicTlsPskIdentity.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/BulkCipherAlgorithm.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ByteQueue.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ByteQueueStream.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CertChainType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/Certificate.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CertificateRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CertificateStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CertificateStatusRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CertificateStatusType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CertificateType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CertificateUrl.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/Chacha20Poly1305.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ChangeCipherSpec.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CipherSuite.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CipherType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ClientAuthenticationType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ClientCertificateType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CombinedHash.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/CompressionMethod.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ConnectionEnd.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ContentType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DatagramTransport.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DefaultTlsAgreementCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DefaultTlsCipherFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DefaultTlsClient.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DefaultTlsDHVerifier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DefaultTlsEncryptionCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DefaultTlsServer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DefaultTlsSignerCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DefaultTlsSrpGroupVerifier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DeferredHash.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DigestInputBuffer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DigitallySigned.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsClientProtocol.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsEpoch.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsHandshakeRetransmit.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsProtocol.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsReassembler.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsRecordLayer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsReliableHandshake.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsReplayWindow.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsServerProtocol.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/DtlsTransport.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ECBasisType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ECCurveType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ECPointFormat.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/EncryptionAlgorithm.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ExporterLabel.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ExtensionType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/FiniteFieldDheGroup.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/HandshakeType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/HashAlgorithm.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/HeartbeatExtension.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/HeartbeatMessage.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/HeartbeatMessageType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/HeartbeatMode.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/KeyExchangeAlgorithm.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/MacAlgorithm.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/MaxFragmentLength.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/NameType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/NamedCurve.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/NewSessionTicket.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/OcspStatusRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/PrfAlgorithm.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ProtocolVersion.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/PskTlsClient.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/PskTlsServer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/RecordStream.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SecurityParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ServerName.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ServerNameList.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ServerOnlyTlsAuthentication.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/ServerSrpParams.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SessionParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SignatureAlgorithm.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SignatureAndHashAlgorithm.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SignerInputBuffer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SimulatedTlsSrpIdentityManager.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SrpTlsClient.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SrpTlsServer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SrtpProtectionProfile.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/Ssl3Mac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SupplementalDataEntry.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/SupplementalDataType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsAeadCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsAgreementCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsAuthentication.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsBlockCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsCipherFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsClient.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsClientContext.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsClientContextImpl.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsClientProtocol.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsCompression.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsContext.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsDHKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsDHUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsDHVerifier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsDeflateCompression.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsDheKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsDsaSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsDssSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsECDHKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsECDheKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsECDsaSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsEccUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsEncryptionCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsException.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsExtensionsUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsFatalAlert.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsFatalAlertReceived.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsHandshakeHash.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsMac.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsNoCloseNotifyException.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsNullCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsNullCompression.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsPeer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsProtocol.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsProtocolHandler.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsPskIdentity.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsPskIdentityManager.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsPskKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsRsaKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsRsaSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsRsaUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsServer.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsServerContext.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsServerContextImpl.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsServerProtocol.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSession.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSessionImpl.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSigner.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSignerCredentials.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSrpGroupVerifier.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSrpIdentityManager.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSrpKeyExchange.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSrpLoginParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSrpUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsSrtpUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsStream.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsStreamCipher.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/TlsUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/UrlAndHash.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/UseSrtpData.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/tls/UserMappingType.cs (100%) rename {crypto/src => src/BouncyCastle}/crypto/util/Pack.cs (100%) rename {crypto/src => src/BouncyCastle}/math/BigInteger.cs (100%) rename {crypto/src => src/BouncyCastle}/math/Primes.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/ECAlgorithms.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/ECCurve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/ECFieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/ECLookupTable.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/ECPoint.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/ECPointMap.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/LongArray.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/ScaleXPointMap.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/ScaleYPointMap.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/SimpleLookupTable.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/abc/SimpleBigDecimal.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/abc/Tnaf.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/abc/ZTauElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/djb/Curve25519.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/djb/Curve25519Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/djb/Curve25519FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/djb/Curve25519Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/gm/SM2P256V1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/gm/SM2P256V1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/gm/SM2P256V1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/gm/SM2P256V1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP128R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP128R1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP128R1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP128R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160R1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160R1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160R2Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160R2Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160R2FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP160R2Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP192K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP192K1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP192K1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP192K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP192R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP192R1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP192R1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP192R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP224K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP224K1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP224K1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP224K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP224R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP224R1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP224R1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP224R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP256K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP256K1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP256K1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP256K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP256R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP256R1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP256R1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP256R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP384R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP384R1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP384R1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP384R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP521R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP521R1Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP521R1FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecP521R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT113Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT113FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT113R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT113R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT113R2Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT113R2Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT131Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT131FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT131R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT131R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT131R2Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT131R2Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT163Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT163FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT163K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT163K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT163R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT163R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT163R2Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT163R2Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT193Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT193FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT193R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT193R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT193R2Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT193R2Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT233Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT233FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT233K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT233K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT233R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT233R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT239Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT239FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT239K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT239K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT283Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT283FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT283K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT283K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT283R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT283R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT409Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT409FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT409K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT409K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT409R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT409R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT571Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT571FieldElement.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT571K1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT571K1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT571R1Curve.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/custom/sec/SecT571R1Point.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/endo/ECEndomorphism.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/endo/GlvEndomorphism.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/endo/GlvTypeBEndomorphism.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/endo/GlvTypeBParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/AbstractECMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/DoubleAddMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/ECMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/FixedPointCombMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/FixedPointPreCompInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/FixedPointUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/GlvMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/IPreCompCallback.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/MixedNafR2LMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/MontgomeryLadderMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/NafL2RMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/NafR2LMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/PreCompInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/ReferenceMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/ValidityPreCompInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/WNafL2RMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/WNafPreCompInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/WNafUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/WTauNafMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/WTauNafPreCompInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/ZSignedDigitL2RMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/multiplier/ZSignedDigitR2LMultiplier.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/rfc7748/X25519.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/rfc7748/X25519Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/rfc7748/X448.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/rfc7748/X448Field.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/rfc8032/Ed25519.cs (100%) rename {crypto/src => src/BouncyCastle}/math/ec/rfc8032/Ed448.cs (100%) rename {crypto/src => src/BouncyCastle}/math/field/FiniteFields.cs (100%) rename {crypto/src => src/BouncyCastle}/math/field/GF2Polynomial.cs (100%) rename {crypto/src => src/BouncyCastle}/math/field/GenericPolynomialExtensionField.cs (100%) rename {crypto/src => src/BouncyCastle}/math/field/IExtensionField.cs (100%) rename {crypto/src => src/BouncyCastle}/math/field/IFiniteField.cs (100%) rename {crypto/src => src/BouncyCastle}/math/field/IPolynomial.cs (100%) rename {crypto/src => src/BouncyCastle}/math/field/IPolynomialExtensionField.cs (100%) rename {crypto/src => src/BouncyCastle}/math/field/PrimeField.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Interleave.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Mod.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat128.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat160.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat192.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat224.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat256.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat320.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat384.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat448.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat512.cs (100%) rename {crypto/src => src/BouncyCastle}/math/raw/Nat576.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/BasicOCSPResp.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/BasicOCSPRespGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/CertificateID.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/CertificateStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/OCSPException.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/OCSPReq.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/OCSPReqGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/OCSPResp.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/OCSPRespGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/OCSPRespStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/OCSPUtil.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/Req.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/RespData.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/RespID.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/RevokedStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/SingleResp.cs (100%) rename {crypto/src => src/BouncyCastle}/ocsp/UnknownStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/IStreamGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PGPKeyRing.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PGPObject.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PGPUserAttributeSubpacketVectorGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpCompressedData.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpCompressedDataGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpDataValidationException.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpEncryptedData.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpEncryptedDataGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpEncryptedDataList.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpException.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpExperimental.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpKeyFlags.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpKeyPair.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpKeyRingGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpKeyValidationException.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpLiteralData.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpLiteralDataGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpMarker.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpObjectFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpOnePassSignature.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpOnePassSignatureList.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpPad.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpPbeEncryptedData.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpPrivateKey.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpPublicKey.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpPublicKeyEncryptedData.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpPublicKeyRing.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpPublicKeyRingBundle.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpSecretKey.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpSecretKeyRing.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpSecretKeyRingBundle.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpSignature.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpSignatureGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpSignatureList.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpSignatureSubpacketGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpSignatureSubpacketVector.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpUserAttributeSubpacketVector.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/PgpV3SignatureGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/Rfc6637Utilities.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/SXprUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/openpgp/WrappedGeneratorStream.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/EncryptionException.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/IPasswordFinder.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/MiscPemGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/PEMException.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/PEMReader.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/PEMUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/PEMWriter.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/PasswordException.cs (100%) rename {crypto/src => src/BouncyCastle}/openssl/Pkcs8Generator.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/AsymmetricKeyEntry.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/EncryptedPrivateKeyInfoFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/PKCS12StoreBuilder.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/Pkcs10CertificationRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/Pkcs10CertificationRequestDelaySigned.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/Pkcs12Entry.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/Pkcs12Store.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/Pkcs12Utilities.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/PrivateKeyInfoFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/pkcs/X509CertificateEntry.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/CertStatus.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixAttrCertChecker.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixAttrCertPathBuilder.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixAttrCertPathValidator.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixBuilderParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPath.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPathBuilder.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPathBuilderException.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPathBuilderResult.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPathChecker.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPathValidator.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPathValidatorException.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPathValidatorResult.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCertPathValidatorUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixCrlUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixNameConstraintValidator.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixNameConstraintValidatorException.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/PkixPolicyNode.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/ReasonsMask.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/Rfc3280CertPathUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/Rfc3281CertPathUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/pkix/TrustAnchor.cs (100%) rename {crypto/src => src/BouncyCastle}/security/AgreementUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/CipherUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/DigestUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/DotNetUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/GeneralSecurityException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/GeneratorUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/InvalidKeyException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/InvalidParameterException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/KeyException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/MacUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/NoSuchAlgorithmException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/ParameterUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/PbeUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/PrivateKeyFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/security/PublicKeyFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/security/SecureRandom.cs (100%) rename {crypto/src => src/BouncyCastle}/security/SecurityUtilityException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/SignatureException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/SignerUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/WrapperUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/security/cert/CertificateEncodingException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/cert/CertificateException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/cert/CertificateExpiredException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/cert/CertificateNotYetValidException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/cert/CertificateParsingException.cs (100%) rename {crypto/src => src/BouncyCastle}/security/cert/CrlException.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/GenTimeAccuracy.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TSPAlgorithms.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TSPException.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TSPUtil.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TSPValidationException.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TimeStampRequest.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TimeStampRequestGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TimeStampResponse.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TimeStampResponseGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TimeStampToken.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TimeStampTokenGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/tsp/TimeStampTokenInfo.cs (100%) rename {crypto/src => src/BouncyCastle}/util/Arrays.cs (100%) rename {crypto/src => src/BouncyCastle}/util/BigIntegers.cs (100%) rename {crypto/src => src/BouncyCastle}/util/Enums.cs (100%) rename {crypto/src => src/BouncyCastle}/util/IMemoable.cs (100%) rename {crypto/src => src/BouncyCastle}/util/Integers.cs (100%) rename {crypto/src => src/BouncyCastle}/util/MemoableResetException.cs (100%) rename {crypto/src => src/BouncyCastle}/util/Platform.cs (100%) rename {crypto/src => src/BouncyCastle}/util/Strings.cs (100%) rename {crypto/src => src/BouncyCastle}/util/Times.cs (100%) rename {crypto/src => src/BouncyCastle}/util/TypeExtensions.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/CollectionUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/EmptyEnumerable.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/EnumerableProxy.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/HashSet.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/ISet.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/LinkedDictionary.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/UnmodifiableDictionary.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/UnmodifiableDictionaryProxy.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/UnmodifiableList.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/UnmodifiableListProxy.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/UnmodifiableSet.cs (100%) rename {crypto/src => src/BouncyCastle}/util/collections/UnmodifiableSetProxy.cs (100%) rename {crypto/src => src/BouncyCastle}/util/date/DateTimeObject.cs (100%) rename {crypto/src => src/BouncyCastle}/util/date/DateTimeUtilities.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/Base64.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/Base64Encoder.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/BufferedDecoder.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/BufferedEncoder.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/Hex.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/HexEncoder.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/HexTranslator.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/IEncoder.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/Translator.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/UrlBase64.cs (100%) rename {crypto/src => src/BouncyCastle}/util/encoders/UrlBase64Encoder.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/BaseInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/BaseOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/FilterStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/NullOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/PushbackStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/StreamOverflowException.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/Streams.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/TeeInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/TeeOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/pem/PemGenerationException.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/pem/PemHeader.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/pem/PemObject.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/pem/PemObjectGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/pem/PemObjectParser.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/pem/PemReader.cs (100%) rename {crypto/src => src/BouncyCastle}/util/io/pem/PemWriter.cs (100%) rename {crypto/src => src/BouncyCastle}/util/net/IPAddress.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/Adler32.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/Deflate.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/InfBlocks.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/InfCodes.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/InfTree.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/Inflate.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/JZlib.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/StaticTree.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/Tree.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/ZDeflaterOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/ZInflaterInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/ZInputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/ZOutputStream.cs (100%) rename {crypto/src => src/BouncyCastle}/util/zlib/ZStream.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/AttributeCertificateHolder.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/AttributeCertificateIssuer.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/IX509AttributeCertificate.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/IX509Extension.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/PEMParser.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/PrincipalUtil.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/SubjectPublicKeyInfoFactory.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509AttrCertParser.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509Attribute.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509CertPairParser.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509Certificate.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509CertificatePair.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509CertificateParser.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509Crl.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509CrlEntry.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509CrlParser.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509ExtensionBase.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509KeyUsage.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509SignatureUtil.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509Utilities.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509V1CertificateGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509V2AttributeCertificate.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509V2AttributeCertificateGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509V2CRLGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/X509V3CertificateGenerator.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/extension/AuthorityKeyIdentifierStructure.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/extension/SubjectKeyIdentifierStructure.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/extension/X509ExtensionUtil.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/IX509Selector.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/IX509Store.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/IX509StoreParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/NoSuchStoreException.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/X509AttrCertStoreSelector.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/X509CertPairStoreSelector.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/X509CertStoreSelector.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/X509CollectionStore.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/X509CollectionStoreParameters.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/X509CrlStoreSelector.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/X509StoreException.cs (100%) rename {crypto/src => src/BouncyCastle}/x509/store/X509StoreFactory.cs (100%) create mode 100644 test/Crypto.NetSdk.NUnitTest/Crypto.NetSdk.NUnitTest.csproj rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/README.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/AnyPolicyTest14EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BadCRLIssuerNameCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BadCRLSignatureCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BadSignedCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BadnotAfterDateCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BadnotBeforeDateCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/CPSPointerQualifierTest20EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DSACACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DSAParametersInheritedCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DifferentPoliciesTest12EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DifferentPoliciesTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DifferentPoliciesTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DifferentPoliciesTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DifferentPoliciesTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DifferentPoliciesTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/DifferentPoliciesTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/GoodCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/GoodsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidCASignatureTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidDSASignatureTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidEESignatureTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidMissingCRLTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidNameChainingTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidRevokedCATest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidRevokedEETest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidWrongCRLTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidcAFalseTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidcAFalseTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddistributionPointTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddistributionPointTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddistributionPointTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddistributionPointTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvaliddistributionPointTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/LongSerialNumberCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/Mapping1to2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/MappingFromanyPolicyCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/MappingToanyPolicyCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/MissingbasicConstraintsCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/NameOrderingCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/NegativeSerialNumberCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/NoCRLCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/NoPoliciesCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/NoissuingDistributionPointCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/OldCRLnextUpdateCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/OverlappingPoliciesTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/P12Mapping1to3CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/P12Mapping1to3subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/P12Mapping1to3subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/P1Mapping1to234CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/P1Mapping1to234subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP1234CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP123CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP123subCAP12Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP12CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP12subCAP1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP2subCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP2subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/PoliciesP3CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/RevokedsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/TrustAnchorRootCertificate.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/TwoCRLsCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UIDCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UnknownCRLExtensionCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UserNoticeQualifierTest15EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UserNoticeQualifierTest16EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UserNoticeQualifierTest17EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UserNoticeQualifierTest18EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/UserNoticeQualifierTest19EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidCertificatePathTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidDSASignaturesTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidNameUIDsTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest11EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest12EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest13EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest14EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidPolicyMappingTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidTwoCRLsTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidcRLIssuerTest28EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidcRLIssuerTest29EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidcRLIssuerTest30EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidcRLIssuerTest33EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValiddeltaCRLTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValiddeltaCRLTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValiddeltaCRLTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValiddeltaCRLTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValiddistributionPointTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValiddistributionPointTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValiddistributionPointTest5EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValiddistributionPointTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/WrongCRLCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/anyPolicyCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/deltaCRLCA1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/deltaCRLCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/deltaCRLCA3Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/distributionPoint1CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/distributionPoint2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/indirectCRLCA1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/indirectCRLCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/indirectCRLCA3Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/indirectCRLCA4Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/indirectCRLCA5Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/indirectCRLCA6Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy0CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy1CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy5CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping0CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping5CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/keyUsageNotCriticalCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN1CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN3CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN4CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDN5CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDNS1CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsDNS2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsURI1CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/nameConstraintsURI2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/onlyContainsCACertsCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/onlyContainsUserCertsCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/onlySomeReasonsCA1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/onlySomeReasonsCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/onlySomeReasonsCA3Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/onlySomeReasonsCA4Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint0CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint0subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint1CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint1subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy0CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy0subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy10CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy10subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy2CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy2subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy4CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy4subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy5CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy5subCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy7CACert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BadCRLIssuerNameCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BadCRLSignatureCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BadSignedCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BadnotAfterDateCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BadnotBeforeDateCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/DSACACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/DSAParametersInheritedCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/GoodCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/GoodsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/LongSerialNumberCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/Mapping1to2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/MappingFromanyPolicyCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/MappingToanyPolicyCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/MissingbasicConstraintsCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/NameOrderCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/NegativeSerialNumberCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/NoPoliciesCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/NoissuingDistributionPointCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/OldCRLnextUpdateCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/P12Mapping1to3CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/P12Mapping1to3subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/P1Mapping1to234CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/P1Mapping1to234subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP1234CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP123CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP123subCAP12CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP12CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP12subCAP1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP2subCA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP2subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/PoliciesP3CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/RevokedsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/TrustAnchorRootCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/TwoCRLsCABadCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/TwoCRLsCAGoodCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/UIDCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/UnknownCRLExtensionCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/WrongCRLCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/anyPolicyCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/deltaCRLCA1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/deltaCRLCA1deltaCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/deltaCRLCA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/deltaCRLCA2deltaCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/deltaCRLCA3CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/deltaCRLCA3deltaCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/distributionPoint1CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/distributionPoint2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/indirectCRLCA1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/indirectCRLCA3CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/indirectCRLCA5CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/keyUsageNotCriticalCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN1CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN3CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN4CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDN5CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDNS1CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsDNS2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsURI1CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/nameConstraintsURI2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlyContainsCACertsCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlyContainsUserCertsCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint0CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint0subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint1CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint1subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy0CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy10CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy2CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy4CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy5CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy7CACRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/ThawteSGCCA.cer (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/ThawteSGCCA.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/asn1/masterlist-content.data (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cert_chain.data (98%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cert_chain_nl.data (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/PSSSignData.data (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/PSSSignDataSHA1.sig (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/PSSSignDataSHA1Enc.sig (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/PSSSignDataSHA256.sig (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/PSSSignDataSHA256Enc.sig (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/PSSSignDataSHA512.sig (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/PSSSignDataSHA512Enc.sig (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/SignedMSPkcs7.sig (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/counterSig.p7m (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/cms/sigs/rawsha256nonull.p7m (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/crypto/SHA3TestVectors.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/crypto/SHAKETestVectors.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/hc256/hc128/ecrypt_HC-128.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/hc256/hc256/ecrypt_HC-256_128K_128IV.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/hc256/hc256/ecrypt_HC-256_128K_256IV.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/hc256/hc256/ecrypt_HC-256_256K_128IV.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/hc256/hc256/ecrypt_HC-256_256K_256IV.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/README.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbeWithMD2AndDES_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbeWithMD2AndRC2_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbeWithMD5AndDES_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbeWithMD5AndRC2_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbeWithSHA1AndDES_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbeWithSHA1AndRC2_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbe_WithSHA1And128BitRC2_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbe_WithSHA1And128BitRC4.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbe_WithSHA1And2_Key_TripleDES_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbe_WithSHA1And3_Key_TripleDES_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbe_WithSHA1And40BitRC2_CBC.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes1/pbe_WithSHA1And40BitRC4.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-128-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-128-cfb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-128-cfb1.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-128-cfb8.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-128-ecb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-128-ofb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-192-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-192-cfb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-192-cfb1.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-192-cfb8.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-192-ecb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-192-ofb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-256-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-256-cfb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-256-cfb1.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-256-cfb8.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-256-ecb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes-256-ofb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes128.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes192.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.aes256.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.bf-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.bf.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.blowfish.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.cast-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.cast.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.cast5-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des-cfb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des-cfb1.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des-cfb8.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des-ecb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des-ede.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des-ede3-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des-ofb.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.des3.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.rc2-40-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.rc2-64-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.rc2-cbc.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/keys/pbes2/pbes2.rc2.key (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/bigpub.asc (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/README.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-1024-160.pub (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-1024-160.sec (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-15360-512.pub (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-15360-512.sec (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-2048-224.pub (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-2048-224.sec (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-3072-256.pub (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-3072-256.sec (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-7680-384.pub (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/keys/DSA-7680-384.sec (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/longSigSubPack.asc (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/unicode/passphrase_cyr.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/unicode/passphrase_for_test.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/unicode/secring.gpg (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openpgp/unicode/test.asc (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/README.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes128_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes128_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes128_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes128_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes192_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes192_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes192_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes192_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes256_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes256_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes256_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_aes256_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_blowfish_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_blowfish_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_blowfish_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_blowfish_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des1_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des1_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des1_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des1_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des2_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des2_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des2_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des2_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des3_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des3_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des3_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_des3_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_rc2_128_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_rc2_128_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_rc2_128_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_rc2_128_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_rc2_40_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_rc2_64_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/dsa/openssl_dsa_unencrypted.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/eckey.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/enckey.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/pkcs7.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/pkcs8/openssl_pkcs8_rsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/pkcs8/openssl_pkcs8_rsa_enc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/pkcs8test.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes128_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes128_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes128_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes128_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes192_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes192_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes192_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes192_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes256_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes256_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes256_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_aes256_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_blowfish_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_blowfish_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_blowfish_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_blowfish_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des1_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des1_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des1_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des1_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des2_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des2_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des2_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des2_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des3_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des3_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des3_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_des3_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_rc2_128_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_rc2_128_cfb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_rc2_128_ecb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_rc2_128_ofb.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_rc2_40_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_rc2_64_cbc.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/rsa/openssl_rsa_unencrypted.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/openssl/test.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/qvRooCa3.crt (98%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/3.1.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/3.2.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.1.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.10.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.11.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.2.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.3.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.4.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.5.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.6.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.7.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.8.eml (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/4.9.eml (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/5.1.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/5.2.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/5.3.eml (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/6.0.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/7.1.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/7.2.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/AliceDSSSignByCarlNoInherit.cer (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/AlicePrivDSSSign.pri (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/AlicePrivRSASign.pri (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/AliceRSASignByCarl.cer (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/BobPrivRSAEncrypt.pri (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/BobRSASignByCarl.cer (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlDSSCRLEmpty.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlDSSCRLForAll.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlDSSCRLForCarl.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlDSSSelf.cer (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlPrivDSSSign.pri (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlPrivRSASign.pri (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlRSACRLEmpty.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlRSACRLForAll.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlRSACRLForCarl.crl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/CarlRSASelf.cer (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/DianeDSSSignByCarlInherit.cer (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/DianePrivDSSSign.pri (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/DianePrivRSASignEncrypt.pri (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/DianeRSASignByCarl.cer (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/ExContent.bin (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rfc4134/rfc4134.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-A.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-A.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-B.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-B.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-C.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-C.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-D.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-D.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-E.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-E.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-F.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-F.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-G.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-G.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-H.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-H.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-I.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-I.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-J.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-J.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-L.p12 (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/self-testcase-L.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/rsa3/testcases.README (67%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/scrypt/TestVectors.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/suvaEE.crt (98%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/suvaEmail1.crt (98%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/suvaRoot1.crt (98%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/README.txt (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/ca.tmpl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/client.tmpl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/keystores/client_store.dsa (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/keystores/client_store.rsa (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/keystores/server_store.dsa (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/keystores/server_store.rsa (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/server.tmpl (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-ca-key.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-ca.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-client-dsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-client-ecdsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-client-key-dsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-client-key-ecdsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-client-key.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-client.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-server-dsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-server-ecdsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-server-key-dsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-server-key-ecdsa.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-server-key.pem (100%) rename {crypto/test => test/Crypto.NetSdk.NUnitTest}/data/tls/x509-server.pem (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ASN1IntegerTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ASN1SequenceParserTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ASN1UnitTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/AdditionalInformationSyntaxUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/AdmissionSyntaxUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/AdmissionsUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/AllTests.cs (92%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/AttributeTableUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/BiometricDataUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/BitStringConstantTester.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/BitStringTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/CMSTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/CertHashUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/CertificateTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/CommitmentTypeIndicationUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/CommitmentTypeQualifierUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ContentHintsUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/CscaMasterListTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/DERApplicationSpecificTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/DERUTF8StringTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/DataGroupHashUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/DeclarationOfMajorityUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/EncryptedPrivateKeyInfoTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/EnumeratedTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/EqualsAndHashCodeTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/EssCertIDv2UnitTest.cs (96%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/GeneralNameTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/GeneralizedTimeTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/GenerationTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/InputStreamTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/Iso4217CurrencyCodeUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/IssuingDistributionPointTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/KeyUsageTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/LDSSecurityObjectUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/MiscTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/MonetaryLimitUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/MonetaryValueUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/NameOrPseudonymUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/NamingAuthorityUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/NetscapeCertTypeTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/OCSPTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/OIDTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/OctetStringTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/OtherCertIDUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/OtherSigningCertificateUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/PKCS10Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/PKCS12Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/PKIFailureInfoTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ParseTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ParsingTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/PersonalDataUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/PrivateKeyInfoTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ProcurationSyntaxUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ProfessionInfoUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/QCStatementUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/ReasonFlagsTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/RegressionTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/RequestedCertificateUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/RestrictionUnitTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/SMIMETest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/SemanticsInformationUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/SetTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/SignerLocationUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/StringTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/SubjectKeyIdentifierTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/TagTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/TargetInformationTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/TimeTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/TypeOfBiometricDataUnitTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/UTCTimeTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/X509ExtensionsTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/X509NameTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/asn1/test/X9Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/AllTests.cs (94%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/AuthenticatedDataStreamTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/AuthenticatedDataTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/CMSSampleMessages.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/CMSTestUtil.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/CompressedDataStreamTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/CompressedDataTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/EnvelopedDataStreamTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/EnvelopedDataTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/MiscDataStreamTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/Rfc4134Test.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/SignedDataStreamTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/cms/test/SignedDataTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/agreement/test/AllTests.cs (93%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/agreement/test/JPakeParticipantTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/agreement/test/JPakePrimeOrderGroupTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/agreement/test/JPakeUtilitiesTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/examples/DESExample.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/io/test/AllTests.cs (90%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/io/test/CipherStreamTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/prng/test/CtrDrbgTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/prng/test/DrbgTestVector.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/prng/test/HMacDrbgTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/prng/test/HashDrbgTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/prng/test/TestEntropySourceProvider.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/prng/test/X931Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/prng/test/X931TestVector.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/AESFastTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/AESLightTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/AESTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/AESWrapTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/AeadTestUtilities.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/AllTests.cs (94%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/BCryptTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Blake2bDigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Blake2sDigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/BlockCipherMonteCarloTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/BlockCipherVectorTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/BlowfishTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/CAST6Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/CCMTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/CMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/CTSTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/CamelliaLightTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/CamelliaTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Cast5Test.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ChaChaTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/CipherTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DESTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DESedeTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DHKEKGeneratorTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DHTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DSATest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DSTU7564Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DSTU7624Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DeterministicDSATest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DigestRandomNumberTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/DigestTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/EAXTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ECDHKEKGeneratorTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ECGOST3410Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ECIESTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ECNRTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ECTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Ed25519Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Ed448Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ElGamalTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/EqualsHashCodeTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GCMTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GOST28147MacTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GOST28147Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GOST3410Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GOST3411DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GOST3411_2012_256DigestTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GOST3411_2012_512DigestTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/GcmReorderTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/HCFamilyTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/HCFamilyVecTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/HKDFGeneratorTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/IDEATest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ISAACTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ISO9796Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ISO9797Alg3MacTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/KDF1GeneratorTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/KDF2GeneratorTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/KeccakDigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/MD2DigestTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/MD4DigestTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/MD5DigestTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/MD5HMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/MGF1GeneratorTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/MacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ModeTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/NaccacheSternTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/NoekeonTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/NonMemoableDigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/NullTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/OAEPTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/OCBTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/OpenBsdBCryptTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/PSSBlindTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/PSSTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/PaddingTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Pkcs12Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Pkcs5Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Poly1305Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RC2Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RC2WrapTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RC4Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RC5Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RC6Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RFC3211WrapTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RSABlindedTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RegressionTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RijndaelTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RipeMD128DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RipeMD128HMacTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RipeMD160DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RipeMD160HMacTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RipeMD256DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RipeMD320DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/RsaTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SCryptTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SEEDTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA1DigestTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA1HMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA224DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA224HMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA256DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA256HMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA384DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA384HMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA3DigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA512DigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA512HMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA512t224DigestTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SHA512t256DigestTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SM2EngineTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SM2KeyExchangeTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SM2SignerTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SM3DigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SM4Test.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SRP6Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Salsa20Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SerpentTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ShakeDigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/ShortenedDigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SipHashTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SkeinDigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SkeinMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/SkipjackTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/StreamCipherResetTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/StreamCipherVectorTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/TEATest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Threefish1024Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Threefish256Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/Threefish512Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/TigerDigestTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/TnepresTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/TwofishTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/VMPCKSA3Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/VMPCMacTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/VMPCTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/WhirlpoolDigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/X25519Test.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/X448Test.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/X931SignerTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/XSalsa20Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/test/XTEATest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/ByteQueueStreamTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/DtlsProtocolTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/DtlsTestCase.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/DtlsTestClientProtocol.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/DtlsTestServerProtocol.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/DtlsTestSuite.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/LoggingDatagramTransport.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockDatagramAssociation.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockDtlsClient.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockDtlsServer.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockPskTlsClient.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockPskTlsServer.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockSrpTlsClient.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockSrpTlsServer.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockTlsClient.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/MockTlsServer.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/NetworkStream.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/PipedStream.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/PskTlsClientTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsClientTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsProtocolNonBlockingTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsProtocolTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsPskProtocolTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsServerTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsSrpProtocolTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsTestCase.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsTestClientImpl.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsTestClientProtocol.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsTestConfig.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsTestServerImpl.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsTestServerProtocol.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsTestSuite.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/TlsTestUtilities.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/crypto/tls/test/UnreliableDatagramTransport.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/custom/sec/test/SecP256R1FieldTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/custom/sec/test/SecP384R1FieldTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/rfc7748/test/X25519Test.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/rfc7748/test/X448Test.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/rfc8032/test/Ed25519Test.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/rfc8032/test/Ed448Test.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/test/AllTests.cs (92%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/test/ECAlgorithmsTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/test/ECPointPerformanceTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/test/ECPointTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/test/F2mProofer.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/test/FixedPointTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/ec/test/TnafTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/test/AllTests.cs (91%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/test/BigIntegerTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/math/test/PrimesTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/ocsp/test/AllTests.cs (91%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/ocsp/test/OCSPTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/ocsp/test/OCSPTestUtil.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/ByteArrayHandler.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/ClearSignedFileProcessor.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/DetachedSignatureProcessor.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/DirectKeySignature.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/DsaElGamalKeyRingGenerator.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/KeyBasedFileProcessor.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/KeyBasedLargeFileProcessor.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/PbeFileProcessor.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/PgpExampleUtilities.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/PublicKeyRingDump.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/RsaKeyRingGenerator.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/SignedFileProcessor.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/examples/test/AllTests.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/DSA2Test.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPArmoredTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPClearSignedSignatureTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPCompressionTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPDSAElGamalTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPDSATest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPNoPrivateKeyTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPPBETest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPPacketTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPRSATest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PGPSignatureTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PgpECDHTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PgpECDsaTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PgpECMessageTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PgpKeyRingTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PgpMarkerTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PgpParsingTest.cs (95%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/PgpUnicodeTest.cs (89%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openpgp/test/RegressionTest.cs (96%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openssl/test/AllTests.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openssl/test/ReaderTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/openssl/test/WriterTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/pkcs/examples/PKCS12Example.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/pkcs/test/EncryptedPrivateKeyInfoTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/pkcs/test/PKCS10Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/pkcs/test/PKCS12StoreTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/security/test/SecureRandomTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/security/test/TestDigestUtil.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/security/test/TestDotNetUtil.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/security/test/TestEncodings.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/security/test/TestMacUtil.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/security/test/TestParameterUtil.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/security/test/TestSignerUtil.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/AESSICTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/AESTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/AttrCertSelectorTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/AttrCertTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/BaseBlockCipherTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/BlockCipherTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/CMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/CRL5Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/CamelliaTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/CertPathBuilderTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/CertPathTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/CertPathValidatorTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/CertTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/CipherStreamTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/DESedeTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/DHTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/DSATest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/DigestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/ECDSA5Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/ECEncodingTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/ECNRTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/ElGamalTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/EncryptedPrivateKeyInfoTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/FIPSDESTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/GOST28147Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/GOST3410Test.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/HMacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/IESTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/MacTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/MqvTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/NamedCurveTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/NistCertPathTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/NoekeonTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/PBETest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/PEMData.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/PKCS10CertRequestTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/PSSTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/PkixNameConstraintsTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/PkixPolicyMappingTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/PkixTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/RSATest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/RegressionTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/SEEDTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/SM4Test.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/SigTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/TestUtilities.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/WrapTest.cs (98%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/X509CertificatePairTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/X509StoreTest.cs (99%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/nist/NistCertPathTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/test/rsa3/RSA3CertTest.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/tsp/test/AllTests.cs (93%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/tsp/test/GenTimeAccuracyTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/tsp/test/ParseTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/tsp/test/TSPTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/tsp/test/TSPTestUtil.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/tsp/test/TimeStampTokenInfoTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/io/pem/test/AllTests.cs (97%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/net/test/IPAddressTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/FixedSecureRandom.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/ITest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/ITestResult.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/NumberParsing.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/SimpleTest.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/SimpleTestResult.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/TestFailedException.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/TestRandomBigInteger.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/util/test/UncloseableStream.cs (100%) rename {crypto/test/src => test/Crypto.NetSdk.NUnitTest/tests}/x509/test/TestCertificateGen.cs (99%) create mode 100644 version.props diff --git a/.gitattributes b/.gitattributes index 4989b01a53..ff67a9158f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,39 +1,68 @@ -# Set default behaviour, in case users don't have core.autocrlf set. -* text=auto +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto -# Explicitly declare text files we want to always be normalized and converted -# to native line endings on checkout. -*.build text diff=xml -*.cs text diff=csharp -*.csproj text diff=xml -*.eml text -*.html text diff=html -*.mdp text diff=xml -*.mds text diff=xml -*.nunit text diff=xml -*.pem text -*.README text -*.sln text -*.tmpl text -*.txt text -*.xml text diff=xml +############################################################################### +# Make sh files under the build directory always have LF as line endings +############################################################################### +*.sh eol=lf -# Denote all files that are truly binary and should not be modified. -*.bin binary -*.cer binary -*.crl binary -*.crt binary -*.data binary -*.dll binary -*.dsa binary -*.jpg binary -*.jpeg binary -*.key binary -*.p12 binary -*.p7m binary -*.png binary -*.pri binary -*.pub binary -*.rsa binary -*.sec binary -*.sig binary +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore index bc7a62d4bf..a04b5e4753 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,29 @@ -*.psess -*.suo -*.swp -*.user -*.userprefs -*.vsp - -*.nupkg - -Backup/ bin/ -dist/ -doc/ obj/ - -_Resharper.*/ -_Resharper*/ -*.ide/ -packages/ .vs/ - -*.nuget.props -*.nuget.targets -*.project.lock.json -project.lock.json +*.suo +*.user +_ReSharper.* +*.DS_Store +*.userprefs +*.pidb +*.vspx +*.psess +*.binlog +*.log +artifacts/ +StyleCop.Cache +node_modules/ +*.snk +.nuget +.r +.w +.deps +msbuild.ProjectImports.zip +.env +scripts/tmp/ +.dotnet/ +.tools/ +src/**/global.json +launchSettings.json +BenchmarkDotNet.Artifacts/ \ No newline at end of file diff --git a/BouncyCastle-PCL.sln b/BouncyCastle-PCL.sln deleted file mode 100644 index afd9396fa2..0000000000 --- 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 0b41d742d5..0000000000 --- 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.NetCoreSdk.sln b/BouncyCastle.NetCoreSdk.sln new file mode 100644 index 0000000000..c3e8341eaa --- /dev/null +++ b/BouncyCastle.NetCoreSdk.sln @@ -0,0 +1,52 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28315.86 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{EFF137D0-0CF4-47BF-90C9-BE80ADBBBC0D}" + ProjectSection(SolutionItems) = preProject + .gitattributes = .gitattributes + .gitignore = .gitignore + Directory.Build.props = Directory.Build.props + Directory.Build.targets = Directory.Build.targets + README.md = README.md + version.props = version.props + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C354E36B-8B22-47F7-A656-C8EC0DB16FE9}" + ProjectSection(SolutionItems) = preProject + version.props = version.props + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{65EA6EB0-CAF6-4C0E-8FF6-3EA8B45E058B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BouncyCastle.NetCoreSdk", "src\BouncyCastle\BouncyCastle.NetCoreSdk.csproj", "{00E3F5DD-E331-4CE7-8DD8-01B6629988CE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Crypto.NetSdk.NUnitTest", "test\Crypto.NetSdk.NUnitTest\Crypto.NetSdk.NUnitTest.csproj", "{91034CD9-DC44-426F-8F1D-AABE33F76A6C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {00E3F5DD-E331-4CE7-8DD8-01B6629988CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00E3F5DD-E331-4CE7-8DD8-01B6629988CE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00E3F5DD-E331-4CE7-8DD8-01B6629988CE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00E3F5DD-E331-4CE7-8DD8-01B6629988CE}.Release|Any CPU.Build.0 = Release|Any CPU + {91034CD9-DC44-426F-8F1D-AABE33F76A6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91034CD9-DC44-426F-8F1D-AABE33F76A6C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91034CD9-DC44-426F-8F1D-AABE33F76A6C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91034CD9-DC44-426F-8F1D-AABE33F76A6C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {00E3F5DD-E331-4CE7-8DD8-01B6629988CE} = {C354E36B-8B22-47F7-A656-C8EC0DB16FE9} + {91034CD9-DC44-426F-8F1D-AABE33F76A6C} = {65EA6EB0-CAF6-4C0E-8FF6-3EA8B45E058B} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {81EB9F1C-263C-40E6-8ABD-EA5B8D357706} + EndGlobalSection +EndGlobal diff --git a/BouncyCastle.sln b/BouncyCastle.sln deleted file mode 100644 index 588f3d8ca4..0000000000 --- a/BouncyCastle.sln +++ /dev/null @@ -1,26 +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}") = "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 - {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 - EndGlobalSection - GlobalSection(MonoDevelopProperties) = preSolution - StartupItem = crypto\BouncyCastle.csproj - EndGlobalSection -EndGlobal diff --git a/BouncyCastle.snk b/BouncyCastle.snk deleted file mode 100644 index f460ac3d641b5003482123258cade436156fb007..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097lrlHW(8;TFp1{{sjx)j=&`M*^eRHSR&YR2FD66oF|7c3-SXQ7|4AkyFnCzZ)^W$fC|{0T9Cs$G-JWQB6||a6LC- zka(*;%;B%4?LVDk^R)w*7>a=!+F62oo*GW>xP1lWujE_r)|>Lp{WtT2G`C2|%YVEZ zVfaBcT}j?_?T%k4@&|Yz2sfH_QX_J3&R~_j^&BIa=XUH-DOXgpBDVkR;5EyPu|q)E zR$cFuBnM0D8^_a+99Jo4r19Z^Xv1SZ?!2go)tfnm& zB2o>vS+LC!Uxq9V?I8>BBuQ_aM7Ha^=mq`9-y`@oRO?hR!<*|&R(hVSt{qYTj9DH4 zecdDKySRFzI$w&iN-%~uOYV8VkRv1c5UD^UZC%0J{!%tfT + + + + Bouncy Castle Cryptography API + The Legion of the Bouncy Castle Inc + The Legion of the Bouncy Castle Inc + https://github.com/bcgit/bc-csharp + https://github.com/bcgit/bc-csharp.git + Git + http://www.apache.org/licenses/LICENSE-2.0 + Apache-2.0 + bouncycastle cryptography encryption security + Bouncy Castle Cryptography API + Copyright (C) 2000-2018 The Legion of the Bouncy Castle Inc + + + diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 0000000000..668e3f1933 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,3 @@ + + + diff --git a/FxCop/CustomDictionary.xml b/FxCop/CustomDictionary.xml deleted file mode 100644 index 7f9080348c..0000000000 --- a/FxCop/CustomDictionary.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - Pgp - Pbe - Rsa - Dsa - Gamal - Aes - a - b - x - X - C - y - k - Y - p - q - P - n - m - e - g - d - r - s - t - v - str - tokenizer - oid - Bcpg - Sqrt - Pkcs - Asn1 - Ber - Der - priv - Videotex - Subpacket - Subpackets - unhashed - Twofish - Paddings - dP - dQ - Tbc - Tpb - Gnb - Kdf - Diffie - Hellman - Ede - Cbc - Cfb - Cts - Ofb - Sha - Oaep - ies - mgf - Naccache - ccm - gcd - Alg - Oids - Params - Pkix - Pki - Etsi - Trus - Nist - Ecb - Cbc - Cfb - Ofb - Smime - Unotice - Cps - Tbs - spki - Crl - Oiw - Icao - Esf - Cmp - Pka - Crc - Infos - Ori - o - datagroup - gost - param - req - resp - tsa - tst - - - - - El - ECDH - ECDHC - ECNR - Fp - F2m - sBox - cL - Gn - Pp - Tp - Qt - - - \ No newline at end of file diff --git a/MimeKit.BouncyCastle.nuspec b/MimeKit.BouncyCastle.nuspec deleted file mode 100644 index c3e20c3307..0000000000 --- a/MimeKit.BouncyCastle.nuspec +++ /dev/null @@ -1,45 +0,0 @@ - - - - MimeKit.BouncyCastle - 1.7.90.1 - Bouncy Castle for MimeKit - Jeffrey Stedfast - jstedfast - https://github.com/jstedfast/bc-csharp - false - BouncyCastle 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 2, .NET 3.5, .NET 4.0, .NET 4.5, Xamarin.Android and Xamarin.iOS. - BouncyCastle is a portable cryptography framework. - en-US - bouncycastle, cryptography, encryption, security, net20, net35, net40, net45, xamarin, xamarin.android, xamarin.ios - - - - - - - - - - \ No newline at end of file diff --git a/Portable.BouncyCastle.nuspec b/Portable.BouncyCastle.nuspec deleted file mode 100644 index c58a23a80d..0000000000 --- a/Portable.BouncyCastle.nuspec +++ /dev/null @@ -1,109 +0,0 @@ - - - - Portable.BouncyCastle - 1.8.0-rc3 - Bouncy Castle PCL - Oren Novotny - onovotny - https://github.com/onovotny/BouncyCastle-PCL - false - 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 - - en-US - bouncycastle, cryptography, encryption, security, PCL, wp8, wpa81, coreclr, dotnet, dnx, uwp, sl5, monotouch, monoandroid, xamarin, xamarin.ios - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crypto-test/App.ico b/crypto-test/App.ico deleted file mode 100644 index 3a5525fd794f7a7c5c8e6187f470ea3af38cd2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmeHHJr05}7=1t!Hp3A*8IHkVf+j?-!eHY14Gtcw1Eb*_9>Bq^zETJ@GKj{_2j4$w zo9}xCh!8{T3=X##Skq>ikMjsvB|y%crWBM2iW(4pI}c%z6%lW!=~4v77#3{z!dmB1 z__&l)-{KUYR+|8|;wB^R|9ET$J@(@=#rd^=)qs85?vAy(PSF5CyNkus435LVkZ$rj zNw|JG-P7^hF<(;#o*Vk}5R#e|^13tBbQkeF?djULtvqyxd3<{9 diff --git a/crypto-test/CryptoTest.cs b/crypto-test/CryptoTest.cs deleted file mode 100644 index 5a411b4826..0000000000 --- a/crypto-test/CryptoTest.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; - -namespace crypto_test -{ - public class CryptoTest - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main(string[] args) - { - DateTime before = DateTime.Now; - - try - { - Org.BouncyCastle.Asn1.Tests.RegressionTest.Main(args); - //Org.BouncyCastle.Bcpg.OpenPgp.Tests.Dsa2Test.? - Org.BouncyCastle.Bcpg.OpenPgp.Tests.RegressionTest.Main(args); - Org.BouncyCastle.Bcpg.OpenPgp.Examples.Tests.AllTests.Main(args); - Org.BouncyCastle.Cms.Tests.AllTests.Main(args); - Org.BouncyCastle.Crypto.Agreement.Tests.AllTests.Main(args); - Org.BouncyCastle.Crypto.Tests.RegressionTest.Main(args); - Org.BouncyCastle.Crypto.IO.Tests.AllTests.Main(args); - Org.BouncyCastle.Math.Tests.AllTests.Main(args); - Org.BouncyCastle.Math.EC.Tests.AllTests.Main(args); - Org.BouncyCastle.Ocsp.Tests.AllTests.Main(args); - //Org.BouncyCastle.Pkcs.Tests.? - Org.BouncyCastle.Pkcs.Tests.EncryptedPrivateKeyInfoTest.Main(args); - Org.BouncyCastle.Pkcs.Tests.Pkcs10Test.Main(args); - Org.BouncyCastle.Pkcs.Tests.Pkcs12StoreTest.Main(args); - //Org.BouncyCastle.OpenSsl.Tests.? - Org.BouncyCastle.OpenSsl.Tests.ReaderTest.Main(args); - Org.BouncyCastle.OpenSsl.Tests.WriterTest.Main(args); - //Org.BouncyCastle.Security.Tests.? - Org.BouncyCastle.Tests.RegressionTest.Main(args); - Org.BouncyCastle.Tsp.Tests.AllTests.Main(args); - //Org.BouncyCastle.X509.Tests.? - } - catch (Exception e) - { - Console.WriteLine("Tests failed with exception: " + e.Message); - Console.WriteLine(e.StackTrace); - } - - DateTime after = DateTime.Now; - long elapsedTicks = after.Ticks - before.Ticks; - - Console.WriteLine("Done in {0}ms.", elapsedTicks / TimeSpan.TicksPerMillisecond); - } - } -} diff --git a/crypto-test/crypto-test.csproj b/crypto-test/crypto-test.csproj deleted file mode 100644 index 9bb4cdbb9d..0000000000 --- a/crypto-test/crypto-test.csproj +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/crypto.tests.Net45/Properties/AssemblyInfo.cs b/crypto.tests.Net45/Properties/AssemblyInfo.cs deleted file mode 100644 index 52472faf87..0000000000 --- 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 de668a83de..0000000000 --- a/crypto.tests.Net45/crypto.tests.Net45.csproj +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Debug - AnyCPU - {45473847-8AF8-4BAF-B768-442C6875B8CE} - Library - Properties - crypto.tests - crypto.tests.Net45 - v4.5 - 512 - - - true - full - false - bin\Debug\ - TRACE;DEBUG;LIB;PORTABLE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE;LIB;PORTABLE - prompt - 4 - - - - ..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll - False - - - ..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll - False - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - ..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll - False - - - ..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll - False - - - - - - - - - - - - - - - %(RecursiveDir)%(Filename)%(Extension) - - - %(RecursiveDir)%(Filename)%(Extension) - - - - - {38872a5f-e87e-4fad-b109-8eb7b2e6a4a0} - crypto.pcl - - - - - - - - - - - \ 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 1f8800b2cd..0000000000 --- a/crypto.tests.Net45/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/crypto/BouncyCastle.Android.csproj b/crypto/BouncyCastle.Android.csproj deleted file mode 100644 index 367bd7ff95..0000000000 --- a/crypto/BouncyCastle.Android.csproj +++ /dev/null @@ -1,1595 +0,0 @@ - - - - Debug - AnyCPU - AnyCPU - 8.0.30703 - 2.0 - {A0D302CB-8866-4AB1-98B9-F0772EABF5DF} - {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Org.BouncyCastle - Resources - Assets - False - BouncyCastle - v4.0.3 - - - true - full - false - bin\Debug\lib\MonoAndroid - obj\Debug\lib\MonoAndroid - DEBUG;TRACE;INCLUDE_IDEA;__MOBILE__;__ANDROID__; - prompt - 4 - None - false - - - full - true - bin\Release\lib\MonoAndroid - obj\Release\lib\MonoAndroid - TRACE;INCLUDE_IDEA;__MOBILE__;__ANDROID__; - prompt - 4 - false - false - - - true - - - ..\BouncyCastle.snk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crypto/BouncyCastle.csproj b/crypto/BouncyCastle.csproj deleted file mode 100644 index 5dfdd35e5e..0000000000 --- a/crypto/BouncyCastle.csproj +++ /dev/null @@ -1,1589 +0,0 @@ - - - - Debug - AnyCPU - AnyCPU - 8.0.30703 - 2.0 - {4C235092-820C-4DEB-9074-D356FB797D8B} - Library - Org.BouncyCastle - BouncyCastle - v2.0 - - - true - full - false - bin\Debug\lib\net20\ - obj\Debug\lib\net20\ - DEBUG;TRACE;INCLUDE_IDEA; - prompt - 4 - false - - - true - bin\Release\lib\net20\ - obj\Release\lib\net20\ - TRACE;INCLUDE_IDEA; - doc\BouncyCastle.xml - prompt - 4 - false - 1591 - - - true - - - ..\BouncyCastle.snk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crypto/BouncyCastle.iOS.csproj b/crypto/BouncyCastle.iOS.csproj deleted file mode 100644 index 3208fbce72..0000000000 --- a/crypto/BouncyCastle.iOS.csproj +++ /dev/null @@ -1,1590 +0,0 @@ - - - - Debug - AnyCPU - AnyCPU - 8.0.30703 - 2.0 - {0249241C-205E-4AC0-828B-90F822359B9E} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Org.BouncyCastle - Resources - BouncyCastle - Xamarin.iOS - - - true - full - false - bin\Debug\lib\Xamarin.iOS - obj\Debug\lib\Xamarin.iOS - DEBUG;TRACE;INCLUDE_IDEA;__MOBILE__;__IOS__; - prompt - 4 - false - - - true - bin\Release\lib\Xamarin.iOS - obj\Release\lib\Xamarin.iOS - TRACE;INCLUDE_IDEA;__MOBILE__;__IOS__; - prompt - 4 - false - - - true - - - ..\BouncyCastle.snk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crypto/NBuild.build b/crypto/NBuild.build deleted file mode 100644 index 014cc57c6c..0000000000 --- a/crypto/NBuild.build +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - Compile targets will be signed using keyfile ../BouncyCastle.snk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/crypto/crypto.Net45.csproj b/crypto/crypto.Net45.csproj deleted file mode 100644 index 14b3581f55..0000000000 --- a/crypto/crypto.Net45.csproj +++ /dev/null @@ -1,54 +0,0 @@ - - - - - Debug - AnyCPU - {45473847-8AF8-4BAF-B768-442C6875B8CF} - Library - Properties - crypto - crypto - v2.0 - 512 - - - - true - full - false - bin\Debug\ - TRACE;DEBUG;LIB;PCL;SILVERLIGHT - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE;LIB;PCL;SILVERLIGHT - prompt - 4 - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crypto/crypto.csproj b/crypto/crypto.csproj deleted file mode 100644 index b455309800..0000000000 --- a/crypto/crypto.csproj +++ /dev/null @@ -1,13236 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/crypto/crypto.dotnet.csproj b/crypto/crypto.dotnet.csproj deleted file mode 100644 index d9ae0db872..0000000000 --- a/crypto/crypto.dotnet.csproj +++ /dev/null @@ -1,98 +0,0 @@ - - - - Local - 7.10.3077 - 2.0 - {38872A5F-E87E-4FAD-B109-8EB7B2E6A4A2} - Debug - AnyCPU - - - crypto - ..\BouncyCastle.snk - JScript - Grid - IE50 - false - Library - crypto - OnBuildSuccess - - v5.0 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - - - 14.0 - - - - - bin\dotnet\Debug\ - obj\dotnet\Debug\ - false - 285212672 - false - - TRACE;DEBUG;PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME;DOTNET - doc\dotnet\crypto.xml - true - 4096 - false - 1591 - false - false - false - false - 4 - full - prompt - - - bin\dotnet\Release\ - obj\dotnet\Release\ - false - 285212672 - false - - TRACE;PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME;DOTNET - doc\dotnet\crypto.xml - true - 4096 - false - 1591 - true - false - false - false - 4 - pdbonly - prompt - - - true - - - - - - - - dotnet;uap10.0;net46 - - - - BouncyCastle.snk - - - - - - - - - - - - - \ 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 e800026129..0000000000 --- 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 1c37351774..0000000000 --- a/crypto/crypto.pcl.csproj +++ /dev/null @@ -1,106 +0,0 @@ - - - - Local - 7.10.3077 - 2.0 - {38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0} - Debug - AnyCPU - - - crypto - ..\BouncyCastle.snk - JScript - Grid - IE50 - false - Library - crypto - OnBuildSuccess - - - - v4.0 - - - 12.0 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Profile328 - false - 10.0 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - true - - - bin\pcl\Debug\ - obj\pcl\Debug\ - false - 285212672 - false - - TRACE;DEBUG;PORTABLE;NO_THREADS - doc\pcl\crypto.xml - true - 4096 - false - 1591 - false - false - false - false - 4 - full - prompt - - - bin\pcl\Release\ - obj\pcl\Release\ - false - 285212672 - false - - TRACE;PORTABLE;NO_THREADS - doc\pcl\crypto.xml - true - 4096 - false - 1591 - true - false - false - false - 4 - pdbonly - prompt - - - true - - - - - - - - BouncyCastle.snk - - - - - - - - \ No newline at end of file diff --git a/crypto/crypto.pcl2.csproj b/crypto/crypto.pcl2.csproj deleted file mode 100644 index 4edf1139ef..0000000000 --- a/crypto/crypto.pcl2.csproj +++ /dev/null @@ -1,92 +0,0 @@ - - - - Local - 7.10.3077 - 2.0 - {38872A5F-E87E-4FAD-B109-8EB7B2E6A4A1} - Debug - AnyCPU - - - crypto - ..\BouncyCastle.snk - JScript - Grid - IE50 - false - Library - crypto - OnBuildSuccess - - v4.5 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Profile259 - 10.0 - - - - - bin\pcl2\Debug\ - obj\pcl2\Debug\ - false - 285212672 - false - - TRACE;DEBUG;PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME - doc\pcl2\crypto.xml - true - 4096 - false - 1591 - false - false - false - false - 4 - full - prompt - - - bin\pcl2\Release\ - obj\pcl2\Release\ - false - 285212672 - false - - TRACE;PORTABLE;NO_THREADS;NEW_REFLECTION;SYS_RUNTIME - doc\pcl2\crypto.xml - true - 4096 - false - 1591 - true - false - false - false - 4 - pdbonly - prompt - - - true - - - - - - - - - - - - BouncyCastle.snk - - - - - - - - \ No newline at end of file diff --git a/crypto/src/AssemblyInfo.cs b/crypto/src/AssemblyInfo.cs deleted file mode 100644 index 2b92e07f3a..0000000000 --- a/crypto/src/AssemblyInfo.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System; -using System.Reflection; -//using System.Security.Permissions; - -#if PORTABLE -using System.Linq; -#else -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.4.0")] -[assembly: AssemblyFileVersion("1.8.18300.1")] -[assembly: AssemblyInformationalVersion("1.8.4")] - -// -// 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\. 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 - -// Start with no permissions -//[assembly: PermissionSet(SecurityAction.RequestOptional, Unrestricted=false)] -//...and explicitly add those we need - -// see Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.StrictLengthEnabledProperty -//[assembly: EnvironmentPermission(SecurityAction.RequestOptional, Read="Org.BouncyCastle.Pkcs1.Strict")] - -internal class AssemblyInfo -{ - private static string version = null; - - public static string Version - { - get - { - if (version == null) - { -#if PORTABLE -#if NEW_REFLECTION - var a = typeof(AssemblyInfo).GetTypeInfo().Assembly; - var c = a.GetCustomAttributes(typeof(AssemblyVersionAttribute)); -#else - var a = typeof(AssemblyInfo).Assembly; - var c = a.GetCustomAttributes(typeof(AssemblyVersionAttribute), false); -#endif - var v = (AssemblyVersionAttribute)c.FirstOrDefault(); - if (v != null) - { - version = v.Version; - } -#else - version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); -#endif - - // if we're still here, then don't try again - if (version == null) - { - version = string.Empty; - } - } - - return version; - } - } -} diff --git a/crypto/test/UnitTests.csproj b/crypto/test/UnitTests.csproj deleted file mode 100644 index 2dd3547fa2..0000000000 --- a/crypto/test/UnitTests.csproj +++ /dev/null @@ -1,1320 +0,0 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {D4EB669D-7C88-48C0-A480-C5CC73A7369B} - Library - UnitTests - UnitTests - v2.0 - - - true - full - false - bin\Debug - DEBUG;SEPARATE_UNIT_TESTS - prompt - 4 - false - 219 - - - full - true - bin\Release - prompt - 4 - false - 219 - - - - - lib\nunit.framework.dll - - - lib\nunit.core.interfaces.dll - - - lib\nunit.core.dll - - - - - - {4C235092-820C-4DEB-9074-D356FB797D8B} - BouncyCastle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 8d99c637db194d4e2dfae5698ce254598a348f81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139264 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 X5P$##AOHafKmY;|fB*y_@Rq;<&H9E< diff --git a/crypto/test/lib/nunit.framework.dll b/crypto/test/lib/nunit.framework.dll deleted file mode 100644 index ba484ba8c9d9708b70ede3cf2804afb0d0d1bfba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139264 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


RJT~?BBh-CPmrII!L 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 diff --git a/crypto/testcfg.nunit b/crypto/testcfg.nunit deleted file mode 100644 index e4061da061..0000000000 --- a/crypto/testcfg.nunit +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/csharp.sln b/csharp.sln deleted file mode 100644 index ce64a084a5..0000000000 --- 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/src/BouncyCastle/AssemblyInfo.Version.cs b/src/BouncyCastle/AssemblyInfo.Version.cs new file mode 100644 index 0000000000..8800b0e4d6 --- /dev/null +++ b/src/BouncyCastle/AssemblyInfo.Version.cs @@ -0,0 +1,28 @@ +using System; +using System.Reflection; + +[assembly: CLSCompliant(true)] + +internal class AssemblyInfo +{ + private static string version = null; + + public static string Version + { + get + { + if (version == null) + { + + version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); + // if we're still here, then don't try again + if (version == null) + { + version = string.Empty; + } + } + + return version; + } + } +} diff --git a/src/BouncyCastle/BouncyCastle.NetCoreSdk.csproj b/src/BouncyCastle/BouncyCastle.NetCoreSdk.csproj new file mode 100644 index 0000000000..246977996a --- /dev/null +++ b/src/BouncyCastle/BouncyCastle.NetCoreSdk.csproj @@ -0,0 +1,31 @@ + + + net45;net452;net472;netstandard2.0 + true + + + + true + ..\..\build\BouncyCastle.snk + + + + $(NetCorePackageId) + BouncyCastle.Netstandard + "Microsoft.NET.Sdk" multi target version + BouncyCastle.Crypto + Org.BouncyCastle + false + $(NetCoreVersion) + + Library + + + + + + true + ../../.nupkgs + + + \ No newline at end of file diff --git a/crypto/Contributors.html b/src/BouncyCastle/Contributors.html similarity index 100% rename from crypto/Contributors.html rename to src/BouncyCastle/Contributors.html diff --git a/crypto/License.html b/src/BouncyCastle/License.html similarity index 100% rename from crypto/License.html rename to src/BouncyCastle/License.html diff --git a/crypto/Readme.html b/src/BouncyCastle/Readme.html similarity index 100% rename from crypto/Readme.html rename to src/BouncyCastle/Readme.html diff --git a/crypto/src/asn1/ASN1Generator.cs b/src/BouncyCastle/asn1/ASN1Generator.cs similarity index 100% rename from crypto/src/asn1/ASN1Generator.cs rename to src/BouncyCastle/asn1/ASN1Generator.cs diff --git a/crypto/src/asn1/ASN1OctetStringParser.cs b/src/BouncyCastle/asn1/ASN1OctetStringParser.cs similarity index 100% rename from crypto/src/asn1/ASN1OctetStringParser.cs rename to src/BouncyCastle/asn1/ASN1OctetStringParser.cs diff --git a/crypto/src/asn1/ASN1SequenceParser.cs b/src/BouncyCastle/asn1/ASN1SequenceParser.cs similarity index 100% rename from crypto/src/asn1/ASN1SequenceParser.cs rename to src/BouncyCastle/asn1/ASN1SequenceParser.cs diff --git a/crypto/src/asn1/ASN1SetParser.cs b/src/BouncyCastle/asn1/ASN1SetParser.cs similarity index 100% rename from crypto/src/asn1/ASN1SetParser.cs rename to src/BouncyCastle/asn1/ASN1SetParser.cs diff --git a/crypto/src/asn1/ASN1StreamParser.cs b/src/BouncyCastle/asn1/ASN1StreamParser.cs similarity index 100% rename from crypto/src/asn1/ASN1StreamParser.cs rename to src/BouncyCastle/asn1/ASN1StreamParser.cs diff --git a/crypto/src/asn1/ASN1TaggedObjectParser.cs b/src/BouncyCastle/asn1/ASN1TaggedObjectParser.cs similarity index 100% rename from crypto/src/asn1/ASN1TaggedObjectParser.cs rename to src/BouncyCastle/asn1/ASN1TaggedObjectParser.cs diff --git a/crypto/src/asn1/Asn1Encodable.cs b/src/BouncyCastle/asn1/Asn1Encodable.cs similarity index 100% rename from crypto/src/asn1/Asn1Encodable.cs rename to src/BouncyCastle/asn1/Asn1Encodable.cs diff --git a/crypto/src/asn1/Asn1EncodableVector.cs b/src/BouncyCastle/asn1/Asn1EncodableVector.cs similarity index 100% rename from crypto/src/asn1/Asn1EncodableVector.cs rename to src/BouncyCastle/asn1/Asn1EncodableVector.cs diff --git a/crypto/src/asn1/Asn1Exception.cs b/src/BouncyCastle/asn1/Asn1Exception.cs similarity index 100% rename from crypto/src/asn1/Asn1Exception.cs rename to src/BouncyCastle/asn1/Asn1Exception.cs diff --git a/crypto/src/asn1/Asn1InputStream.cs b/src/BouncyCastle/asn1/Asn1InputStream.cs similarity index 100% rename from crypto/src/asn1/Asn1InputStream.cs rename to src/BouncyCastle/asn1/Asn1InputStream.cs diff --git a/crypto/src/asn1/Asn1Null.cs b/src/BouncyCastle/asn1/Asn1Null.cs similarity index 100% rename from crypto/src/asn1/Asn1Null.cs rename to src/BouncyCastle/asn1/Asn1Null.cs diff --git a/crypto/src/asn1/Asn1Object.cs b/src/BouncyCastle/asn1/Asn1Object.cs similarity index 100% rename from crypto/src/asn1/Asn1Object.cs rename to src/BouncyCastle/asn1/Asn1Object.cs diff --git a/crypto/src/asn1/Asn1OctetString.cs b/src/BouncyCastle/asn1/Asn1OctetString.cs similarity index 100% rename from crypto/src/asn1/Asn1OctetString.cs rename to src/BouncyCastle/asn1/Asn1OctetString.cs diff --git a/crypto/src/asn1/Asn1OutputStream.cs b/src/BouncyCastle/asn1/Asn1OutputStream.cs similarity index 100% rename from crypto/src/asn1/Asn1OutputStream.cs rename to src/BouncyCastle/asn1/Asn1OutputStream.cs diff --git a/crypto/src/asn1/Asn1ParsingException.cs b/src/BouncyCastle/asn1/Asn1ParsingException.cs similarity index 100% rename from crypto/src/asn1/Asn1ParsingException.cs rename to src/BouncyCastle/asn1/Asn1ParsingException.cs diff --git a/crypto/src/asn1/Asn1Sequence.cs b/src/BouncyCastle/asn1/Asn1Sequence.cs similarity index 100% rename from crypto/src/asn1/Asn1Sequence.cs rename to src/BouncyCastle/asn1/Asn1Sequence.cs diff --git a/crypto/src/asn1/Asn1Set.cs b/src/BouncyCastle/asn1/Asn1Set.cs similarity index 100% rename from crypto/src/asn1/Asn1Set.cs rename to src/BouncyCastle/asn1/Asn1Set.cs diff --git a/crypto/src/asn1/Asn1TaggedObject.cs b/src/BouncyCastle/asn1/Asn1TaggedObject.cs similarity index 100% rename from crypto/src/asn1/Asn1TaggedObject.cs rename to src/BouncyCastle/asn1/Asn1TaggedObject.cs diff --git a/crypto/src/asn1/Asn1Tags.cs b/src/BouncyCastle/asn1/Asn1Tags.cs similarity index 100% rename from crypto/src/asn1/Asn1Tags.cs rename to src/BouncyCastle/asn1/Asn1Tags.cs diff --git a/crypto/src/asn1/BERBitString.cs b/src/BouncyCastle/asn1/BERBitString.cs similarity index 100% rename from crypto/src/asn1/BERBitString.cs rename to src/BouncyCastle/asn1/BERBitString.cs diff --git a/crypto/src/asn1/BERGenerator.cs b/src/BouncyCastle/asn1/BERGenerator.cs similarity index 100% rename from crypto/src/asn1/BERGenerator.cs rename to src/BouncyCastle/asn1/BERGenerator.cs diff --git a/crypto/src/asn1/BEROctetStringGenerator.cs b/src/BouncyCastle/asn1/BEROctetStringGenerator.cs similarity index 100% rename from crypto/src/asn1/BEROctetStringGenerator.cs rename to src/BouncyCastle/asn1/BEROctetStringGenerator.cs diff --git a/crypto/src/asn1/BEROctetStringParser.cs b/src/BouncyCastle/asn1/BEROctetStringParser.cs similarity index 100% rename from crypto/src/asn1/BEROctetStringParser.cs rename to src/BouncyCastle/asn1/BEROctetStringParser.cs diff --git a/crypto/src/asn1/BERSequenceGenerator.cs b/src/BouncyCastle/asn1/BERSequenceGenerator.cs similarity index 100% rename from crypto/src/asn1/BERSequenceGenerator.cs rename to src/BouncyCastle/asn1/BERSequenceGenerator.cs diff --git a/crypto/src/asn1/BERSequenceParser.cs b/src/BouncyCastle/asn1/BERSequenceParser.cs similarity index 100% rename from crypto/src/asn1/BERSequenceParser.cs rename to src/BouncyCastle/asn1/BERSequenceParser.cs diff --git a/crypto/src/asn1/BERSetGenerator.cs b/src/BouncyCastle/asn1/BERSetGenerator.cs similarity index 100% rename from crypto/src/asn1/BERSetGenerator.cs rename to src/BouncyCastle/asn1/BERSetGenerator.cs diff --git a/crypto/src/asn1/BERSetParser.cs b/src/BouncyCastle/asn1/BERSetParser.cs similarity index 100% rename from crypto/src/asn1/BERSetParser.cs rename to src/BouncyCastle/asn1/BERSetParser.cs diff --git a/crypto/src/asn1/BERTaggedObjectParser.cs b/src/BouncyCastle/asn1/BERTaggedObjectParser.cs similarity index 100% rename from crypto/src/asn1/BERTaggedObjectParser.cs rename to src/BouncyCastle/asn1/BERTaggedObjectParser.cs diff --git a/crypto/src/asn1/BerApplicationSpecific.cs b/src/BouncyCastle/asn1/BerApplicationSpecific.cs similarity index 100% rename from crypto/src/asn1/BerApplicationSpecific.cs rename to src/BouncyCastle/asn1/BerApplicationSpecific.cs diff --git a/crypto/src/asn1/BerApplicationSpecificParser.cs b/src/BouncyCastle/asn1/BerApplicationSpecificParser.cs similarity index 100% rename from crypto/src/asn1/BerApplicationSpecificParser.cs rename to src/BouncyCastle/asn1/BerApplicationSpecificParser.cs diff --git a/crypto/src/asn1/BerNull.cs b/src/BouncyCastle/asn1/BerNull.cs similarity index 100% rename from crypto/src/asn1/BerNull.cs rename to src/BouncyCastle/asn1/BerNull.cs diff --git a/crypto/src/asn1/BerOctetString.cs b/src/BouncyCastle/asn1/BerOctetString.cs similarity index 100% rename from crypto/src/asn1/BerOctetString.cs rename to src/BouncyCastle/asn1/BerOctetString.cs diff --git a/crypto/src/asn1/BerOutputStream.cs b/src/BouncyCastle/asn1/BerOutputStream.cs similarity index 100% rename from crypto/src/asn1/BerOutputStream.cs rename to src/BouncyCastle/asn1/BerOutputStream.cs diff --git a/crypto/src/asn1/BerSequence.cs b/src/BouncyCastle/asn1/BerSequence.cs similarity index 100% rename from crypto/src/asn1/BerSequence.cs rename to src/BouncyCastle/asn1/BerSequence.cs diff --git a/crypto/src/asn1/BerSet.cs b/src/BouncyCastle/asn1/BerSet.cs similarity index 100% rename from crypto/src/asn1/BerSet.cs rename to src/BouncyCastle/asn1/BerSet.cs diff --git a/crypto/src/asn1/BerTaggedObject.cs b/src/BouncyCastle/asn1/BerTaggedObject.cs similarity index 100% rename from crypto/src/asn1/BerTaggedObject.cs rename to src/BouncyCastle/asn1/BerTaggedObject.cs diff --git a/crypto/src/asn1/ConstructedOctetStream.cs b/src/BouncyCastle/asn1/ConstructedOctetStream.cs similarity index 100% rename from crypto/src/asn1/ConstructedOctetStream.cs rename to src/BouncyCastle/asn1/ConstructedOctetStream.cs diff --git a/crypto/src/asn1/DERExternal.cs b/src/BouncyCastle/asn1/DERExternal.cs similarity index 100% rename from crypto/src/asn1/DERExternal.cs rename to src/BouncyCastle/asn1/DERExternal.cs diff --git a/crypto/src/asn1/DERExternalParser.cs b/src/BouncyCastle/asn1/DERExternalParser.cs similarity index 100% rename from crypto/src/asn1/DERExternalParser.cs rename to src/BouncyCastle/asn1/DERExternalParser.cs diff --git a/crypto/src/asn1/DERGenerator.cs b/src/BouncyCastle/asn1/DERGenerator.cs similarity index 100% rename from crypto/src/asn1/DERGenerator.cs rename to src/BouncyCastle/asn1/DERGenerator.cs diff --git a/crypto/src/asn1/DEROctetStringParser.cs b/src/BouncyCastle/asn1/DEROctetStringParser.cs similarity index 100% rename from crypto/src/asn1/DEROctetStringParser.cs rename to src/BouncyCastle/asn1/DEROctetStringParser.cs diff --git a/crypto/src/asn1/DERSequenceGenerator.cs b/src/BouncyCastle/asn1/DERSequenceGenerator.cs similarity index 100% rename from crypto/src/asn1/DERSequenceGenerator.cs rename to src/BouncyCastle/asn1/DERSequenceGenerator.cs diff --git a/crypto/src/asn1/DERSequenceParser.cs b/src/BouncyCastle/asn1/DERSequenceParser.cs similarity index 100% rename from crypto/src/asn1/DERSequenceParser.cs rename to src/BouncyCastle/asn1/DERSequenceParser.cs diff --git a/crypto/src/asn1/DERSetGenerator.cs b/src/BouncyCastle/asn1/DERSetGenerator.cs similarity index 100% rename from crypto/src/asn1/DERSetGenerator.cs rename to src/BouncyCastle/asn1/DERSetGenerator.cs diff --git a/crypto/src/asn1/DERSetParser.cs b/src/BouncyCastle/asn1/DERSetParser.cs similarity index 100% rename from crypto/src/asn1/DERSetParser.cs rename to src/BouncyCastle/asn1/DERSetParser.cs diff --git a/crypto/src/asn1/DefiniteLengthInputStream.cs b/src/BouncyCastle/asn1/DefiniteLengthInputStream.cs similarity index 100% rename from crypto/src/asn1/DefiniteLengthInputStream.cs rename to src/BouncyCastle/asn1/DefiniteLengthInputStream.cs diff --git a/crypto/src/asn1/DerApplicationSpecific.cs b/src/BouncyCastle/asn1/DerApplicationSpecific.cs similarity index 100% rename from crypto/src/asn1/DerApplicationSpecific.cs rename to src/BouncyCastle/asn1/DerApplicationSpecific.cs diff --git a/crypto/src/asn1/DerBMPString.cs b/src/BouncyCastle/asn1/DerBMPString.cs similarity index 100% rename from crypto/src/asn1/DerBMPString.cs rename to src/BouncyCastle/asn1/DerBMPString.cs diff --git a/crypto/src/asn1/DerBitString.cs b/src/BouncyCastle/asn1/DerBitString.cs similarity index 100% rename from crypto/src/asn1/DerBitString.cs rename to src/BouncyCastle/asn1/DerBitString.cs diff --git a/crypto/src/asn1/DerBoolean.cs b/src/BouncyCastle/asn1/DerBoolean.cs similarity index 100% rename from crypto/src/asn1/DerBoolean.cs rename to src/BouncyCastle/asn1/DerBoolean.cs diff --git a/crypto/src/asn1/DerEnumerated.cs b/src/BouncyCastle/asn1/DerEnumerated.cs similarity index 100% rename from crypto/src/asn1/DerEnumerated.cs rename to src/BouncyCastle/asn1/DerEnumerated.cs diff --git a/crypto/src/asn1/DerGeneralString.cs b/src/BouncyCastle/asn1/DerGeneralString.cs similarity index 100% rename from crypto/src/asn1/DerGeneralString.cs rename to src/BouncyCastle/asn1/DerGeneralString.cs diff --git a/crypto/src/asn1/DerGeneralizedTime.cs b/src/BouncyCastle/asn1/DerGeneralizedTime.cs similarity index 100% rename from crypto/src/asn1/DerGeneralizedTime.cs rename to src/BouncyCastle/asn1/DerGeneralizedTime.cs diff --git a/crypto/src/asn1/DerGraphicString.cs b/src/BouncyCastle/asn1/DerGraphicString.cs similarity index 100% rename from crypto/src/asn1/DerGraphicString.cs rename to src/BouncyCastle/asn1/DerGraphicString.cs diff --git a/crypto/src/asn1/DerIA5String.cs b/src/BouncyCastle/asn1/DerIA5String.cs similarity index 100% rename from crypto/src/asn1/DerIA5String.cs rename to src/BouncyCastle/asn1/DerIA5String.cs diff --git a/crypto/src/asn1/DerInteger.cs b/src/BouncyCastle/asn1/DerInteger.cs similarity index 100% rename from crypto/src/asn1/DerInteger.cs rename to src/BouncyCastle/asn1/DerInteger.cs diff --git a/crypto/src/asn1/DerNull.cs b/src/BouncyCastle/asn1/DerNull.cs similarity index 100% rename from crypto/src/asn1/DerNull.cs rename to src/BouncyCastle/asn1/DerNull.cs diff --git a/crypto/src/asn1/DerNumericString.cs b/src/BouncyCastle/asn1/DerNumericString.cs similarity index 100% rename from crypto/src/asn1/DerNumericString.cs rename to src/BouncyCastle/asn1/DerNumericString.cs diff --git a/crypto/src/asn1/DerObjectIdentifier.cs b/src/BouncyCastle/asn1/DerObjectIdentifier.cs similarity index 100% rename from crypto/src/asn1/DerObjectIdentifier.cs rename to src/BouncyCastle/asn1/DerObjectIdentifier.cs diff --git a/crypto/src/asn1/DerOctetString.cs b/src/BouncyCastle/asn1/DerOctetString.cs similarity index 100% rename from crypto/src/asn1/DerOctetString.cs rename to src/BouncyCastle/asn1/DerOctetString.cs diff --git a/crypto/src/asn1/DerOutputStream.cs b/src/BouncyCastle/asn1/DerOutputStream.cs similarity index 100% rename from crypto/src/asn1/DerOutputStream.cs rename to src/BouncyCastle/asn1/DerOutputStream.cs diff --git a/crypto/src/asn1/DerPrintableString.cs b/src/BouncyCastle/asn1/DerPrintableString.cs similarity index 100% rename from crypto/src/asn1/DerPrintableString.cs rename to src/BouncyCastle/asn1/DerPrintableString.cs diff --git a/crypto/src/asn1/DerSequence.cs b/src/BouncyCastle/asn1/DerSequence.cs similarity index 100% rename from crypto/src/asn1/DerSequence.cs rename to src/BouncyCastle/asn1/DerSequence.cs diff --git a/crypto/src/asn1/DerSet.cs b/src/BouncyCastle/asn1/DerSet.cs similarity index 100% rename from crypto/src/asn1/DerSet.cs rename to src/BouncyCastle/asn1/DerSet.cs diff --git a/crypto/src/asn1/DerStringBase.cs b/src/BouncyCastle/asn1/DerStringBase.cs similarity index 100% rename from crypto/src/asn1/DerStringBase.cs rename to src/BouncyCastle/asn1/DerStringBase.cs diff --git a/crypto/src/asn1/DerT61String.cs b/src/BouncyCastle/asn1/DerT61String.cs similarity index 100% rename from crypto/src/asn1/DerT61String.cs rename to src/BouncyCastle/asn1/DerT61String.cs diff --git a/crypto/src/asn1/DerTaggedObject.cs b/src/BouncyCastle/asn1/DerTaggedObject.cs similarity index 100% rename from crypto/src/asn1/DerTaggedObject.cs rename to src/BouncyCastle/asn1/DerTaggedObject.cs diff --git a/crypto/src/asn1/DerUTCTime.cs b/src/BouncyCastle/asn1/DerUTCTime.cs similarity index 100% rename from crypto/src/asn1/DerUTCTime.cs rename to src/BouncyCastle/asn1/DerUTCTime.cs diff --git a/crypto/src/asn1/DerUTF8String.cs b/src/BouncyCastle/asn1/DerUTF8String.cs similarity index 100% rename from crypto/src/asn1/DerUTF8String.cs rename to src/BouncyCastle/asn1/DerUTF8String.cs diff --git a/crypto/src/asn1/DerUniversalString.cs b/src/BouncyCastle/asn1/DerUniversalString.cs similarity index 100% rename from crypto/src/asn1/DerUniversalString.cs rename to src/BouncyCastle/asn1/DerUniversalString.cs diff --git a/crypto/src/asn1/DerVideotexString.cs b/src/BouncyCastle/asn1/DerVideotexString.cs similarity index 100% rename from crypto/src/asn1/DerVideotexString.cs rename to src/BouncyCastle/asn1/DerVideotexString.cs diff --git a/crypto/src/asn1/DerVisibleString.cs b/src/BouncyCastle/asn1/DerVisibleString.cs similarity index 100% rename from crypto/src/asn1/DerVisibleString.cs rename to src/BouncyCastle/asn1/DerVisibleString.cs diff --git a/crypto/src/asn1/IAsn1ApplicationSpecificParser.cs b/src/BouncyCastle/asn1/IAsn1ApplicationSpecificParser.cs similarity index 100% rename from crypto/src/asn1/IAsn1ApplicationSpecificParser.cs rename to src/BouncyCastle/asn1/IAsn1ApplicationSpecificParser.cs diff --git a/crypto/src/asn1/IAsn1Choice.cs b/src/BouncyCastle/asn1/IAsn1Choice.cs similarity index 100% rename from crypto/src/asn1/IAsn1Choice.cs rename to src/BouncyCastle/asn1/IAsn1Choice.cs diff --git a/crypto/src/asn1/IAsn1Convertible.cs b/src/BouncyCastle/asn1/IAsn1Convertible.cs similarity index 100% rename from crypto/src/asn1/IAsn1Convertible.cs rename to src/BouncyCastle/asn1/IAsn1Convertible.cs diff --git a/crypto/src/asn1/IAsn1String.cs b/src/BouncyCastle/asn1/IAsn1String.cs similarity index 100% rename from crypto/src/asn1/IAsn1String.cs rename to src/BouncyCastle/asn1/IAsn1String.cs diff --git a/crypto/src/asn1/IndefiniteLengthInputStream.cs b/src/BouncyCastle/asn1/IndefiniteLengthInputStream.cs similarity index 100% rename from crypto/src/asn1/IndefiniteLengthInputStream.cs rename to src/BouncyCastle/asn1/IndefiniteLengthInputStream.cs diff --git a/crypto/src/asn1/LazyASN1InputStream.cs b/src/BouncyCastle/asn1/LazyASN1InputStream.cs similarity index 100% rename from crypto/src/asn1/LazyASN1InputStream.cs rename to src/BouncyCastle/asn1/LazyASN1InputStream.cs diff --git a/crypto/src/asn1/LazyDERSequence.cs b/src/BouncyCastle/asn1/LazyDERSequence.cs similarity index 100% rename from crypto/src/asn1/LazyDERSequence.cs rename to src/BouncyCastle/asn1/LazyDERSequence.cs diff --git a/crypto/src/asn1/LazyDERSet.cs b/src/BouncyCastle/asn1/LazyDERSet.cs similarity index 100% rename from crypto/src/asn1/LazyDERSet.cs rename to src/BouncyCastle/asn1/LazyDERSet.cs diff --git a/crypto/src/asn1/LimitedInputStream.cs b/src/BouncyCastle/asn1/LimitedInputStream.cs similarity index 100% rename from crypto/src/asn1/LimitedInputStream.cs rename to src/BouncyCastle/asn1/LimitedInputStream.cs diff --git a/crypto/src/asn1/OidTokenizer.cs b/src/BouncyCastle/asn1/OidTokenizer.cs similarity index 100% rename from crypto/src/asn1/OidTokenizer.cs rename to src/BouncyCastle/asn1/OidTokenizer.cs diff --git a/crypto/src/asn1/anssi/ANSSINamedCurves.cs b/src/BouncyCastle/asn1/anssi/ANSSINamedCurves.cs similarity index 100% rename from crypto/src/asn1/anssi/ANSSINamedCurves.cs rename to src/BouncyCastle/asn1/anssi/ANSSINamedCurves.cs diff --git a/crypto/src/asn1/anssi/ANSSIObjectIdentifiers.cs b/src/BouncyCastle/asn1/anssi/ANSSIObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/anssi/ANSSIObjectIdentifiers.cs rename to src/BouncyCastle/asn1/anssi/ANSSIObjectIdentifiers.cs diff --git a/crypto/src/asn1/bc/BCObjectIdentifiers.cs b/src/BouncyCastle/asn1/bc/BCObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/bc/BCObjectIdentifiers.cs rename to src/BouncyCastle/asn1/bc/BCObjectIdentifiers.cs diff --git a/crypto/src/asn1/bsi/BsiObjectIdentifiers.cs b/src/BouncyCastle/asn1/bsi/BsiObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/bsi/BsiObjectIdentifiers.cs rename to src/BouncyCastle/asn1/bsi/BsiObjectIdentifiers.cs diff --git a/crypto/src/asn1/cmp/CAKeyUpdAnnContent.cs b/src/BouncyCastle/asn1/cmp/CAKeyUpdAnnContent.cs similarity index 100% rename from crypto/src/asn1/cmp/CAKeyUpdAnnContent.cs rename to src/BouncyCastle/asn1/cmp/CAKeyUpdAnnContent.cs diff --git a/crypto/src/asn1/cmp/CertConfirmContent.cs b/src/BouncyCastle/asn1/cmp/CertConfirmContent.cs similarity index 100% rename from crypto/src/asn1/cmp/CertConfirmContent.cs rename to src/BouncyCastle/asn1/cmp/CertConfirmContent.cs diff --git a/crypto/src/asn1/cmp/CertOrEncCert.cs b/src/BouncyCastle/asn1/cmp/CertOrEncCert.cs similarity index 100% rename from crypto/src/asn1/cmp/CertOrEncCert.cs rename to src/BouncyCastle/asn1/cmp/CertOrEncCert.cs diff --git a/crypto/src/asn1/cmp/CertRepMessage.cs b/src/BouncyCastle/asn1/cmp/CertRepMessage.cs similarity index 100% rename from crypto/src/asn1/cmp/CertRepMessage.cs rename to src/BouncyCastle/asn1/cmp/CertRepMessage.cs diff --git a/crypto/src/asn1/cmp/CertResponse.cs b/src/BouncyCastle/asn1/cmp/CertResponse.cs similarity index 100% rename from crypto/src/asn1/cmp/CertResponse.cs rename to src/BouncyCastle/asn1/cmp/CertResponse.cs diff --git a/crypto/src/asn1/cmp/CertStatus.cs b/src/BouncyCastle/asn1/cmp/CertStatus.cs similarity index 100% rename from crypto/src/asn1/cmp/CertStatus.cs rename to src/BouncyCastle/asn1/cmp/CertStatus.cs diff --git a/crypto/src/asn1/cmp/CertifiedKeyPair.cs b/src/BouncyCastle/asn1/cmp/CertifiedKeyPair.cs similarity index 100% rename from crypto/src/asn1/cmp/CertifiedKeyPair.cs rename to src/BouncyCastle/asn1/cmp/CertifiedKeyPair.cs diff --git a/crypto/src/asn1/cmp/Challenge.cs b/src/BouncyCastle/asn1/cmp/Challenge.cs similarity index 100% rename from crypto/src/asn1/cmp/Challenge.cs rename to src/BouncyCastle/asn1/cmp/Challenge.cs diff --git a/crypto/src/asn1/cmp/CmpCertificate.cs b/src/BouncyCastle/asn1/cmp/CmpCertificate.cs similarity index 100% rename from crypto/src/asn1/cmp/CmpCertificate.cs rename to src/BouncyCastle/asn1/cmp/CmpCertificate.cs diff --git a/crypto/src/asn1/cmp/CmpObjectIdentifiers.cs b/src/BouncyCastle/asn1/cmp/CmpObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/cmp/CmpObjectIdentifiers.cs rename to src/BouncyCastle/asn1/cmp/CmpObjectIdentifiers.cs diff --git a/crypto/src/asn1/cmp/CrlAnnContent.cs b/src/BouncyCastle/asn1/cmp/CrlAnnContent.cs similarity index 100% rename from crypto/src/asn1/cmp/CrlAnnContent.cs rename to src/BouncyCastle/asn1/cmp/CrlAnnContent.cs diff --git a/crypto/src/asn1/cmp/ErrorMsgContent.cs b/src/BouncyCastle/asn1/cmp/ErrorMsgContent.cs similarity index 100% rename from crypto/src/asn1/cmp/ErrorMsgContent.cs rename to src/BouncyCastle/asn1/cmp/ErrorMsgContent.cs diff --git a/crypto/src/asn1/cmp/GenMsgContent.cs b/src/BouncyCastle/asn1/cmp/GenMsgContent.cs similarity index 100% rename from crypto/src/asn1/cmp/GenMsgContent.cs rename to src/BouncyCastle/asn1/cmp/GenMsgContent.cs diff --git a/crypto/src/asn1/cmp/GenRepContent.cs b/src/BouncyCastle/asn1/cmp/GenRepContent.cs similarity index 100% rename from crypto/src/asn1/cmp/GenRepContent.cs rename to src/BouncyCastle/asn1/cmp/GenRepContent.cs diff --git a/crypto/src/asn1/cmp/InfoTypeAndValue.cs b/src/BouncyCastle/asn1/cmp/InfoTypeAndValue.cs similarity index 100% rename from crypto/src/asn1/cmp/InfoTypeAndValue.cs rename to src/BouncyCastle/asn1/cmp/InfoTypeAndValue.cs diff --git a/crypto/src/asn1/cmp/KeyRecRepContent.cs b/src/BouncyCastle/asn1/cmp/KeyRecRepContent.cs similarity index 100% rename from crypto/src/asn1/cmp/KeyRecRepContent.cs rename to src/BouncyCastle/asn1/cmp/KeyRecRepContent.cs diff --git a/crypto/src/asn1/cmp/OobCertHash.cs b/src/BouncyCastle/asn1/cmp/OobCertHash.cs similarity index 100% rename from crypto/src/asn1/cmp/OobCertHash.cs rename to src/BouncyCastle/asn1/cmp/OobCertHash.cs diff --git a/crypto/src/asn1/cmp/PKIBody.cs b/src/BouncyCastle/asn1/cmp/PKIBody.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIBody.cs rename to src/BouncyCastle/asn1/cmp/PKIBody.cs diff --git a/crypto/src/asn1/cmp/PKIConfirmContent.cs b/src/BouncyCastle/asn1/cmp/PKIConfirmContent.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIConfirmContent.cs rename to src/BouncyCastle/asn1/cmp/PKIConfirmContent.cs diff --git a/crypto/src/asn1/cmp/PKIFailureInfo.cs b/src/BouncyCastle/asn1/cmp/PKIFailureInfo.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIFailureInfo.cs rename to src/BouncyCastle/asn1/cmp/PKIFailureInfo.cs diff --git a/crypto/src/asn1/cmp/PKIFreeText.cs b/src/BouncyCastle/asn1/cmp/PKIFreeText.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIFreeText.cs rename to src/BouncyCastle/asn1/cmp/PKIFreeText.cs diff --git a/crypto/src/asn1/cmp/PKIHeader.cs b/src/BouncyCastle/asn1/cmp/PKIHeader.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIHeader.cs rename to src/BouncyCastle/asn1/cmp/PKIHeader.cs diff --git a/crypto/src/asn1/cmp/PKIHeaderBuilder.cs b/src/BouncyCastle/asn1/cmp/PKIHeaderBuilder.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIHeaderBuilder.cs rename to src/BouncyCastle/asn1/cmp/PKIHeaderBuilder.cs diff --git a/crypto/src/asn1/cmp/PKIMessage.cs b/src/BouncyCastle/asn1/cmp/PKIMessage.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIMessage.cs rename to src/BouncyCastle/asn1/cmp/PKIMessage.cs diff --git a/crypto/src/asn1/cmp/PKIMessages.cs b/src/BouncyCastle/asn1/cmp/PKIMessages.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIMessages.cs rename to src/BouncyCastle/asn1/cmp/PKIMessages.cs diff --git a/crypto/src/asn1/cmp/PKIStatus.cs b/src/BouncyCastle/asn1/cmp/PKIStatus.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIStatus.cs rename to src/BouncyCastle/asn1/cmp/PKIStatus.cs diff --git a/crypto/src/asn1/cmp/PKIStatusInfo.cs b/src/BouncyCastle/asn1/cmp/PKIStatusInfo.cs similarity index 100% rename from crypto/src/asn1/cmp/PKIStatusInfo.cs rename to src/BouncyCastle/asn1/cmp/PKIStatusInfo.cs diff --git a/crypto/src/asn1/cmp/PbmParameter.cs b/src/BouncyCastle/asn1/cmp/PbmParameter.cs similarity index 100% rename from crypto/src/asn1/cmp/PbmParameter.cs rename to src/BouncyCastle/asn1/cmp/PbmParameter.cs diff --git a/crypto/src/asn1/cmp/PollRepContent.cs b/src/BouncyCastle/asn1/cmp/PollRepContent.cs similarity index 100% rename from crypto/src/asn1/cmp/PollRepContent.cs rename to src/BouncyCastle/asn1/cmp/PollRepContent.cs diff --git a/crypto/src/asn1/cmp/PollReqContent.cs b/src/BouncyCastle/asn1/cmp/PollReqContent.cs similarity index 100% rename from crypto/src/asn1/cmp/PollReqContent.cs rename to src/BouncyCastle/asn1/cmp/PollReqContent.cs diff --git a/crypto/src/asn1/cmp/PopoDecKeyChallContent.cs b/src/BouncyCastle/asn1/cmp/PopoDecKeyChallContent.cs similarity index 100% rename from crypto/src/asn1/cmp/PopoDecKeyChallContent.cs rename to src/BouncyCastle/asn1/cmp/PopoDecKeyChallContent.cs diff --git a/crypto/src/asn1/cmp/PopoDecKeyRespContent.cs b/src/BouncyCastle/asn1/cmp/PopoDecKeyRespContent.cs similarity index 100% rename from crypto/src/asn1/cmp/PopoDecKeyRespContent.cs rename to src/BouncyCastle/asn1/cmp/PopoDecKeyRespContent.cs diff --git a/crypto/src/asn1/cmp/ProtectedPart.cs b/src/BouncyCastle/asn1/cmp/ProtectedPart.cs similarity index 100% rename from crypto/src/asn1/cmp/ProtectedPart.cs rename to src/BouncyCastle/asn1/cmp/ProtectedPart.cs diff --git a/crypto/src/asn1/cmp/RevAnnContent.cs b/src/BouncyCastle/asn1/cmp/RevAnnContent.cs similarity index 100% rename from crypto/src/asn1/cmp/RevAnnContent.cs rename to src/BouncyCastle/asn1/cmp/RevAnnContent.cs diff --git a/crypto/src/asn1/cmp/RevDetails.cs b/src/BouncyCastle/asn1/cmp/RevDetails.cs similarity index 100% rename from crypto/src/asn1/cmp/RevDetails.cs rename to src/BouncyCastle/asn1/cmp/RevDetails.cs diff --git a/crypto/src/asn1/cmp/RevRepContent.cs b/src/BouncyCastle/asn1/cmp/RevRepContent.cs similarity index 100% rename from crypto/src/asn1/cmp/RevRepContent.cs rename to src/BouncyCastle/asn1/cmp/RevRepContent.cs diff --git a/crypto/src/asn1/cmp/RevRepContentBuilder.cs b/src/BouncyCastle/asn1/cmp/RevRepContentBuilder.cs similarity index 100% rename from crypto/src/asn1/cmp/RevRepContentBuilder.cs rename to src/BouncyCastle/asn1/cmp/RevRepContentBuilder.cs diff --git a/crypto/src/asn1/cmp/RevReqContent.cs b/src/BouncyCastle/asn1/cmp/RevReqContent.cs similarity index 100% rename from crypto/src/asn1/cmp/RevReqContent.cs rename to src/BouncyCastle/asn1/cmp/RevReqContent.cs diff --git a/crypto/src/asn1/cms/Attribute.cs b/src/BouncyCastle/asn1/cms/Attribute.cs similarity index 100% rename from crypto/src/asn1/cms/Attribute.cs rename to src/BouncyCastle/asn1/cms/Attribute.cs diff --git a/crypto/src/asn1/cms/AttributeTable.cs b/src/BouncyCastle/asn1/cms/AttributeTable.cs similarity index 100% rename from crypto/src/asn1/cms/AttributeTable.cs rename to src/BouncyCastle/asn1/cms/AttributeTable.cs diff --git a/crypto/src/asn1/cms/Attributes.cs b/src/BouncyCastle/asn1/cms/Attributes.cs similarity index 100% rename from crypto/src/asn1/cms/Attributes.cs rename to src/BouncyCastle/asn1/cms/Attributes.cs diff --git a/crypto/src/asn1/cms/AuthEnvelopedData.cs b/src/BouncyCastle/asn1/cms/AuthEnvelopedData.cs similarity index 100% rename from crypto/src/asn1/cms/AuthEnvelopedData.cs rename to src/BouncyCastle/asn1/cms/AuthEnvelopedData.cs diff --git a/crypto/src/asn1/cms/AuthEnvelopedDataParser.cs b/src/BouncyCastle/asn1/cms/AuthEnvelopedDataParser.cs similarity index 100% rename from crypto/src/asn1/cms/AuthEnvelopedDataParser.cs rename to src/BouncyCastle/asn1/cms/AuthEnvelopedDataParser.cs diff --git a/crypto/src/asn1/cms/AuthenticatedData.cs b/src/BouncyCastle/asn1/cms/AuthenticatedData.cs similarity index 100% rename from crypto/src/asn1/cms/AuthenticatedData.cs rename to src/BouncyCastle/asn1/cms/AuthenticatedData.cs diff --git a/crypto/src/asn1/cms/AuthenticatedDataParser.cs b/src/BouncyCastle/asn1/cms/AuthenticatedDataParser.cs similarity index 100% rename from crypto/src/asn1/cms/AuthenticatedDataParser.cs rename to src/BouncyCastle/asn1/cms/AuthenticatedDataParser.cs diff --git a/crypto/src/asn1/cms/CMSAttributes.cs b/src/BouncyCastle/asn1/cms/CMSAttributes.cs similarity index 100% rename from crypto/src/asn1/cms/CMSAttributes.cs rename to src/BouncyCastle/asn1/cms/CMSAttributes.cs diff --git a/crypto/src/asn1/cms/CMSObjectIdentifiers.cs b/src/BouncyCastle/asn1/cms/CMSObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/cms/CMSObjectIdentifiers.cs rename to src/BouncyCastle/asn1/cms/CMSObjectIdentifiers.cs diff --git a/crypto/src/asn1/cms/CompressedData.cs b/src/BouncyCastle/asn1/cms/CompressedData.cs similarity index 100% rename from crypto/src/asn1/cms/CompressedData.cs rename to src/BouncyCastle/asn1/cms/CompressedData.cs diff --git a/crypto/src/asn1/cms/CompressedDataParser.cs b/src/BouncyCastle/asn1/cms/CompressedDataParser.cs similarity index 100% rename from crypto/src/asn1/cms/CompressedDataParser.cs rename to src/BouncyCastle/asn1/cms/CompressedDataParser.cs diff --git a/crypto/src/asn1/cms/ContentInfo.cs b/src/BouncyCastle/asn1/cms/ContentInfo.cs similarity index 100% rename from crypto/src/asn1/cms/ContentInfo.cs rename to src/BouncyCastle/asn1/cms/ContentInfo.cs diff --git a/crypto/src/asn1/cms/ContentInfoParser.cs b/src/BouncyCastle/asn1/cms/ContentInfoParser.cs similarity index 100% rename from crypto/src/asn1/cms/ContentInfoParser.cs rename to src/BouncyCastle/asn1/cms/ContentInfoParser.cs diff --git a/crypto/src/asn1/cms/EncryptedContentInfo.cs b/src/BouncyCastle/asn1/cms/EncryptedContentInfo.cs similarity index 100% rename from crypto/src/asn1/cms/EncryptedContentInfo.cs rename to src/BouncyCastle/asn1/cms/EncryptedContentInfo.cs diff --git a/crypto/src/asn1/cms/EncryptedContentInfoParser.cs b/src/BouncyCastle/asn1/cms/EncryptedContentInfoParser.cs similarity index 100% rename from crypto/src/asn1/cms/EncryptedContentInfoParser.cs rename to src/BouncyCastle/asn1/cms/EncryptedContentInfoParser.cs diff --git a/crypto/src/asn1/cms/EncryptedData.cs b/src/BouncyCastle/asn1/cms/EncryptedData.cs similarity index 100% rename from crypto/src/asn1/cms/EncryptedData.cs rename to src/BouncyCastle/asn1/cms/EncryptedData.cs diff --git a/crypto/src/asn1/cms/EnvelopedData.cs b/src/BouncyCastle/asn1/cms/EnvelopedData.cs similarity index 100% rename from crypto/src/asn1/cms/EnvelopedData.cs rename to src/BouncyCastle/asn1/cms/EnvelopedData.cs diff --git a/crypto/src/asn1/cms/EnvelopedDataParser.cs b/src/BouncyCastle/asn1/cms/EnvelopedDataParser.cs similarity index 100% rename from crypto/src/asn1/cms/EnvelopedDataParser.cs rename to src/BouncyCastle/asn1/cms/EnvelopedDataParser.cs diff --git a/crypto/src/asn1/cms/Evidence.cs b/src/BouncyCastle/asn1/cms/Evidence.cs similarity index 100% rename from crypto/src/asn1/cms/Evidence.cs rename to src/BouncyCastle/asn1/cms/Evidence.cs diff --git a/crypto/src/asn1/cms/IssuerAndSerialNumber.cs b/src/BouncyCastle/asn1/cms/IssuerAndSerialNumber.cs similarity index 100% rename from crypto/src/asn1/cms/IssuerAndSerialNumber.cs rename to src/BouncyCastle/asn1/cms/IssuerAndSerialNumber.cs diff --git a/crypto/src/asn1/cms/KEKIdentifier.cs b/src/BouncyCastle/asn1/cms/KEKIdentifier.cs similarity index 100% rename from crypto/src/asn1/cms/KEKIdentifier.cs rename to src/BouncyCastle/asn1/cms/KEKIdentifier.cs diff --git a/crypto/src/asn1/cms/KEKRecipientInfo.cs b/src/BouncyCastle/asn1/cms/KEKRecipientInfo.cs similarity index 100% rename from crypto/src/asn1/cms/KEKRecipientInfo.cs rename to src/BouncyCastle/asn1/cms/KEKRecipientInfo.cs diff --git a/crypto/src/asn1/cms/KeyAgreeRecipientIdentifier.cs b/src/BouncyCastle/asn1/cms/KeyAgreeRecipientIdentifier.cs similarity index 100% rename from crypto/src/asn1/cms/KeyAgreeRecipientIdentifier.cs rename to src/BouncyCastle/asn1/cms/KeyAgreeRecipientIdentifier.cs diff --git a/crypto/src/asn1/cms/KeyAgreeRecipientInfo.cs b/src/BouncyCastle/asn1/cms/KeyAgreeRecipientInfo.cs similarity index 100% rename from crypto/src/asn1/cms/KeyAgreeRecipientInfo.cs rename to src/BouncyCastle/asn1/cms/KeyAgreeRecipientInfo.cs diff --git a/crypto/src/asn1/cms/KeyTransRecipientInfo.cs b/src/BouncyCastle/asn1/cms/KeyTransRecipientInfo.cs similarity index 100% rename from crypto/src/asn1/cms/KeyTransRecipientInfo.cs rename to src/BouncyCastle/asn1/cms/KeyTransRecipientInfo.cs diff --git a/crypto/src/asn1/cms/MetaData.cs b/src/BouncyCastle/asn1/cms/MetaData.cs similarity index 100% rename from crypto/src/asn1/cms/MetaData.cs rename to src/BouncyCastle/asn1/cms/MetaData.cs diff --git a/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs b/src/BouncyCastle/asn1/cms/OriginatorIdentifierOrKey.cs similarity index 100% rename from crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs rename to src/BouncyCastle/asn1/cms/OriginatorIdentifierOrKey.cs diff --git a/crypto/src/asn1/cms/OriginatorInfo.cs b/src/BouncyCastle/asn1/cms/OriginatorInfo.cs similarity index 100% rename from crypto/src/asn1/cms/OriginatorInfo.cs rename to src/BouncyCastle/asn1/cms/OriginatorInfo.cs diff --git a/crypto/src/asn1/cms/OriginatorPublicKey.cs b/src/BouncyCastle/asn1/cms/OriginatorPublicKey.cs similarity index 100% rename from crypto/src/asn1/cms/OriginatorPublicKey.cs rename to src/BouncyCastle/asn1/cms/OriginatorPublicKey.cs diff --git a/crypto/src/asn1/cms/OtherKeyAttribute.cs b/src/BouncyCastle/asn1/cms/OtherKeyAttribute.cs similarity index 100% rename from crypto/src/asn1/cms/OtherKeyAttribute.cs rename to src/BouncyCastle/asn1/cms/OtherKeyAttribute.cs diff --git a/crypto/src/asn1/cms/OtherRecipientInfo.cs b/src/BouncyCastle/asn1/cms/OtherRecipientInfo.cs similarity index 100% rename from crypto/src/asn1/cms/OtherRecipientInfo.cs rename to src/BouncyCastle/asn1/cms/OtherRecipientInfo.cs diff --git a/crypto/src/asn1/cms/OtherRevocationInfoFormat.cs b/src/BouncyCastle/asn1/cms/OtherRevocationInfoFormat.cs similarity index 100% rename from crypto/src/asn1/cms/OtherRevocationInfoFormat.cs rename to src/BouncyCastle/asn1/cms/OtherRevocationInfoFormat.cs diff --git a/crypto/src/asn1/cms/PasswordRecipientInfo.cs b/src/BouncyCastle/asn1/cms/PasswordRecipientInfo.cs similarity index 100% rename from crypto/src/asn1/cms/PasswordRecipientInfo.cs rename to src/BouncyCastle/asn1/cms/PasswordRecipientInfo.cs diff --git a/crypto/src/asn1/cms/RecipientEncryptedKey.cs b/src/BouncyCastle/asn1/cms/RecipientEncryptedKey.cs similarity index 100% rename from crypto/src/asn1/cms/RecipientEncryptedKey.cs rename to src/BouncyCastle/asn1/cms/RecipientEncryptedKey.cs diff --git a/crypto/src/asn1/cms/RecipientIdentifier.cs b/src/BouncyCastle/asn1/cms/RecipientIdentifier.cs similarity index 100% rename from crypto/src/asn1/cms/RecipientIdentifier.cs rename to src/BouncyCastle/asn1/cms/RecipientIdentifier.cs diff --git a/crypto/src/asn1/cms/RecipientInfo.cs b/src/BouncyCastle/asn1/cms/RecipientInfo.cs similarity index 100% rename from crypto/src/asn1/cms/RecipientInfo.cs rename to src/BouncyCastle/asn1/cms/RecipientInfo.cs diff --git a/crypto/src/asn1/cms/RecipientKeyIdentifier.cs b/src/BouncyCastle/asn1/cms/RecipientKeyIdentifier.cs similarity index 100% rename from crypto/src/asn1/cms/RecipientKeyIdentifier.cs rename to src/BouncyCastle/asn1/cms/RecipientKeyIdentifier.cs diff --git a/crypto/src/asn1/cms/SCVPReqRes.cs b/src/BouncyCastle/asn1/cms/SCVPReqRes.cs similarity index 100% rename from crypto/src/asn1/cms/SCVPReqRes.cs rename to src/BouncyCastle/asn1/cms/SCVPReqRes.cs diff --git a/crypto/src/asn1/cms/SignedData.cs b/src/BouncyCastle/asn1/cms/SignedData.cs similarity index 100% rename from crypto/src/asn1/cms/SignedData.cs rename to src/BouncyCastle/asn1/cms/SignedData.cs diff --git a/crypto/src/asn1/cms/SignedDataParser.cs b/src/BouncyCastle/asn1/cms/SignedDataParser.cs similarity index 100% rename from crypto/src/asn1/cms/SignedDataParser.cs rename to src/BouncyCastle/asn1/cms/SignedDataParser.cs diff --git a/crypto/src/asn1/cms/SignerIdentifier.cs b/src/BouncyCastle/asn1/cms/SignerIdentifier.cs similarity index 100% rename from crypto/src/asn1/cms/SignerIdentifier.cs rename to src/BouncyCastle/asn1/cms/SignerIdentifier.cs diff --git a/crypto/src/asn1/cms/SignerInfo.cs b/src/BouncyCastle/asn1/cms/SignerInfo.cs similarity index 100% rename from crypto/src/asn1/cms/SignerInfo.cs rename to src/BouncyCastle/asn1/cms/SignerInfo.cs diff --git a/crypto/src/asn1/cms/Time.cs b/src/BouncyCastle/asn1/cms/Time.cs similarity index 100% rename from crypto/src/asn1/cms/Time.cs rename to src/BouncyCastle/asn1/cms/Time.cs diff --git a/crypto/src/asn1/cms/TimeStampAndCRL.cs b/src/BouncyCastle/asn1/cms/TimeStampAndCRL.cs similarity index 100% rename from crypto/src/asn1/cms/TimeStampAndCRL.cs rename to src/BouncyCastle/asn1/cms/TimeStampAndCRL.cs diff --git a/crypto/src/asn1/cms/TimeStampTokenEvidence.cs b/src/BouncyCastle/asn1/cms/TimeStampTokenEvidence.cs similarity index 100% rename from crypto/src/asn1/cms/TimeStampTokenEvidence.cs rename to src/BouncyCastle/asn1/cms/TimeStampTokenEvidence.cs diff --git a/crypto/src/asn1/cms/TimeStampedData.cs b/src/BouncyCastle/asn1/cms/TimeStampedData.cs similarity index 100% rename from crypto/src/asn1/cms/TimeStampedData.cs rename to src/BouncyCastle/asn1/cms/TimeStampedData.cs diff --git a/crypto/src/asn1/cms/TimeStampedDataParser.cs b/src/BouncyCastle/asn1/cms/TimeStampedDataParser.cs similarity index 100% rename from crypto/src/asn1/cms/TimeStampedDataParser.cs rename to src/BouncyCastle/asn1/cms/TimeStampedDataParser.cs diff --git a/crypto/src/asn1/cms/ecc/MQVuserKeyingMaterial.cs b/src/BouncyCastle/asn1/cms/ecc/MQVuserKeyingMaterial.cs similarity index 100% rename from crypto/src/asn1/cms/ecc/MQVuserKeyingMaterial.cs rename to src/BouncyCastle/asn1/cms/ecc/MQVuserKeyingMaterial.cs diff --git a/crypto/src/asn1/crmf/AttributeTypeAndValue.cs b/src/BouncyCastle/asn1/crmf/AttributeTypeAndValue.cs similarity index 100% rename from crypto/src/asn1/crmf/AttributeTypeAndValue.cs rename to src/BouncyCastle/asn1/crmf/AttributeTypeAndValue.cs diff --git a/crypto/src/asn1/crmf/CertId.cs b/src/BouncyCastle/asn1/crmf/CertId.cs similarity index 100% rename from crypto/src/asn1/crmf/CertId.cs rename to src/BouncyCastle/asn1/crmf/CertId.cs diff --git a/crypto/src/asn1/crmf/CertReqMessages.cs b/src/BouncyCastle/asn1/crmf/CertReqMessages.cs similarity index 100% rename from crypto/src/asn1/crmf/CertReqMessages.cs rename to src/BouncyCastle/asn1/crmf/CertReqMessages.cs diff --git a/crypto/src/asn1/crmf/CertReqMsg.cs b/src/BouncyCastle/asn1/crmf/CertReqMsg.cs similarity index 100% rename from crypto/src/asn1/crmf/CertReqMsg.cs rename to src/BouncyCastle/asn1/crmf/CertReqMsg.cs diff --git a/crypto/src/asn1/crmf/CertRequest.cs b/src/BouncyCastle/asn1/crmf/CertRequest.cs similarity index 100% rename from crypto/src/asn1/crmf/CertRequest.cs rename to src/BouncyCastle/asn1/crmf/CertRequest.cs diff --git a/crypto/src/asn1/crmf/CertTemplate.cs b/src/BouncyCastle/asn1/crmf/CertTemplate.cs similarity index 100% rename from crypto/src/asn1/crmf/CertTemplate.cs rename to src/BouncyCastle/asn1/crmf/CertTemplate.cs diff --git a/crypto/src/asn1/crmf/CertTemplateBuilder.cs b/src/BouncyCastle/asn1/crmf/CertTemplateBuilder.cs similarity index 100% rename from crypto/src/asn1/crmf/CertTemplateBuilder.cs rename to src/BouncyCastle/asn1/crmf/CertTemplateBuilder.cs diff --git a/crypto/src/asn1/crmf/Controls.cs b/src/BouncyCastle/asn1/crmf/Controls.cs similarity index 100% rename from crypto/src/asn1/crmf/Controls.cs rename to src/BouncyCastle/asn1/crmf/Controls.cs diff --git a/crypto/src/asn1/crmf/CrmfObjectIdentifiers.cs b/src/BouncyCastle/asn1/crmf/CrmfObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/crmf/CrmfObjectIdentifiers.cs rename to src/BouncyCastle/asn1/crmf/CrmfObjectIdentifiers.cs diff --git a/crypto/src/asn1/crmf/EncKeyWithID.cs b/src/BouncyCastle/asn1/crmf/EncKeyWithID.cs similarity index 100% rename from crypto/src/asn1/crmf/EncKeyWithID.cs rename to src/BouncyCastle/asn1/crmf/EncKeyWithID.cs diff --git a/crypto/src/asn1/crmf/EncryptedKey.cs b/src/BouncyCastle/asn1/crmf/EncryptedKey.cs similarity index 100% rename from crypto/src/asn1/crmf/EncryptedKey.cs rename to src/BouncyCastle/asn1/crmf/EncryptedKey.cs diff --git a/crypto/src/asn1/crmf/EncryptedValue.cs b/src/BouncyCastle/asn1/crmf/EncryptedValue.cs similarity index 100% rename from crypto/src/asn1/crmf/EncryptedValue.cs rename to src/BouncyCastle/asn1/crmf/EncryptedValue.cs diff --git a/crypto/src/asn1/crmf/OptionalValidity.cs b/src/BouncyCastle/asn1/crmf/OptionalValidity.cs similarity index 100% rename from crypto/src/asn1/crmf/OptionalValidity.cs rename to src/BouncyCastle/asn1/crmf/OptionalValidity.cs diff --git a/crypto/src/asn1/crmf/PKIArchiveOptions.cs b/src/BouncyCastle/asn1/crmf/PKIArchiveOptions.cs similarity index 100% rename from crypto/src/asn1/crmf/PKIArchiveOptions.cs rename to src/BouncyCastle/asn1/crmf/PKIArchiveOptions.cs diff --git a/crypto/src/asn1/crmf/PKIPublicationInfo.cs b/src/BouncyCastle/asn1/crmf/PKIPublicationInfo.cs similarity index 100% rename from crypto/src/asn1/crmf/PKIPublicationInfo.cs rename to src/BouncyCastle/asn1/crmf/PKIPublicationInfo.cs diff --git a/crypto/src/asn1/crmf/PKMacValue.cs b/src/BouncyCastle/asn1/crmf/PKMacValue.cs similarity index 100% rename from crypto/src/asn1/crmf/PKMacValue.cs rename to src/BouncyCastle/asn1/crmf/PKMacValue.cs diff --git a/crypto/src/asn1/crmf/PopoPrivKey.cs b/src/BouncyCastle/asn1/crmf/PopoPrivKey.cs similarity index 100% rename from crypto/src/asn1/crmf/PopoPrivKey.cs rename to src/BouncyCastle/asn1/crmf/PopoPrivKey.cs diff --git a/crypto/src/asn1/crmf/PopoSigningKey.cs b/src/BouncyCastle/asn1/crmf/PopoSigningKey.cs similarity index 100% rename from crypto/src/asn1/crmf/PopoSigningKey.cs rename to src/BouncyCastle/asn1/crmf/PopoSigningKey.cs diff --git a/crypto/src/asn1/crmf/PopoSigningKeyInput.cs b/src/BouncyCastle/asn1/crmf/PopoSigningKeyInput.cs similarity index 100% rename from crypto/src/asn1/crmf/PopoSigningKeyInput.cs rename to src/BouncyCastle/asn1/crmf/PopoSigningKeyInput.cs diff --git a/crypto/src/asn1/crmf/ProofOfPossession.cs b/src/BouncyCastle/asn1/crmf/ProofOfPossession.cs similarity index 100% rename from crypto/src/asn1/crmf/ProofOfPossession.cs rename to src/BouncyCastle/asn1/crmf/ProofOfPossession.cs diff --git a/crypto/src/asn1/crmf/SinglePubInfo.cs b/src/BouncyCastle/asn1/crmf/SinglePubInfo.cs similarity index 100% rename from crypto/src/asn1/crmf/SinglePubInfo.cs rename to src/BouncyCastle/asn1/crmf/SinglePubInfo.cs diff --git a/crypto/src/asn1/crmf/SubsequentMessage.cs b/src/BouncyCastle/asn1/crmf/SubsequentMessage.cs similarity index 100% rename from crypto/src/asn1/crmf/SubsequentMessage.cs rename to src/BouncyCastle/asn1/crmf/SubsequentMessage.cs diff --git a/crypto/src/asn1/cryptopro/CryptoProObjectIdentifiers.cs b/src/BouncyCastle/asn1/cryptopro/CryptoProObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/cryptopro/CryptoProObjectIdentifiers.cs rename to src/BouncyCastle/asn1/cryptopro/CryptoProObjectIdentifiers.cs diff --git a/crypto/src/asn1/cryptopro/ECGOST3410NamedCurves.cs b/src/BouncyCastle/asn1/cryptopro/ECGOST3410NamedCurves.cs similarity index 100% rename from crypto/src/asn1/cryptopro/ECGOST3410NamedCurves.cs rename to src/BouncyCastle/asn1/cryptopro/ECGOST3410NamedCurves.cs diff --git a/crypto/src/asn1/cryptopro/ECGOST3410ParamSetParameters.cs b/src/BouncyCastle/asn1/cryptopro/ECGOST3410ParamSetParameters.cs similarity index 100% rename from crypto/src/asn1/cryptopro/ECGOST3410ParamSetParameters.cs rename to src/BouncyCastle/asn1/cryptopro/ECGOST3410ParamSetParameters.cs diff --git a/crypto/src/asn1/cryptopro/GOST28147Parameters.cs b/src/BouncyCastle/asn1/cryptopro/GOST28147Parameters.cs similarity index 100% rename from crypto/src/asn1/cryptopro/GOST28147Parameters.cs rename to src/BouncyCastle/asn1/cryptopro/GOST28147Parameters.cs diff --git a/crypto/src/asn1/cryptopro/GOST3410NamedParameters.cs b/src/BouncyCastle/asn1/cryptopro/GOST3410NamedParameters.cs similarity index 100% rename from crypto/src/asn1/cryptopro/GOST3410NamedParameters.cs rename to src/BouncyCastle/asn1/cryptopro/GOST3410NamedParameters.cs diff --git a/crypto/src/asn1/cryptopro/GOST3410ParamSetParameters.cs b/src/BouncyCastle/asn1/cryptopro/GOST3410ParamSetParameters.cs similarity index 100% rename from crypto/src/asn1/cryptopro/GOST3410ParamSetParameters.cs rename to src/BouncyCastle/asn1/cryptopro/GOST3410ParamSetParameters.cs diff --git a/crypto/src/asn1/cryptopro/GOST3410PublicKeyAlgParameters.cs b/src/BouncyCastle/asn1/cryptopro/GOST3410PublicKeyAlgParameters.cs similarity index 100% rename from crypto/src/asn1/cryptopro/GOST3410PublicKeyAlgParameters.cs rename to src/BouncyCastle/asn1/cryptopro/GOST3410PublicKeyAlgParameters.cs diff --git a/crypto/src/asn1/eac/EACObjectIdentifiers.cs b/src/BouncyCastle/asn1/eac/EACObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/eac/EACObjectIdentifiers.cs rename to src/BouncyCastle/asn1/eac/EACObjectIdentifiers.cs diff --git a/crypto/src/asn1/edec/EdECObjectIdentifiers.cs b/src/BouncyCastle/asn1/edec/EdECObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/edec/EdECObjectIdentifiers.cs rename to src/BouncyCastle/asn1/edec/EdECObjectIdentifiers.cs diff --git a/crypto/src/asn1/esf/CertificateValues.cs b/src/BouncyCastle/asn1/esf/CertificateValues.cs similarity index 100% rename from crypto/src/asn1/esf/CertificateValues.cs rename to src/BouncyCastle/asn1/esf/CertificateValues.cs diff --git a/crypto/src/asn1/esf/CommitmentTypeIdentifier.cs b/src/BouncyCastle/asn1/esf/CommitmentTypeIdentifier.cs similarity index 100% rename from crypto/src/asn1/esf/CommitmentTypeIdentifier.cs rename to src/BouncyCastle/asn1/esf/CommitmentTypeIdentifier.cs diff --git a/crypto/src/asn1/esf/CommitmentTypeIndication.cs b/src/BouncyCastle/asn1/esf/CommitmentTypeIndication.cs similarity index 100% rename from crypto/src/asn1/esf/CommitmentTypeIndication.cs rename to src/BouncyCastle/asn1/esf/CommitmentTypeIndication.cs diff --git a/crypto/src/asn1/esf/CommitmentTypeQualifier.cs b/src/BouncyCastle/asn1/esf/CommitmentTypeQualifier.cs similarity index 100% rename from crypto/src/asn1/esf/CommitmentTypeQualifier.cs rename to src/BouncyCastle/asn1/esf/CommitmentTypeQualifier.cs diff --git a/crypto/src/asn1/esf/CompleteCertificateRefs.cs b/src/BouncyCastle/asn1/esf/CompleteCertificateRefs.cs similarity index 100% rename from crypto/src/asn1/esf/CompleteCertificateRefs.cs rename to src/BouncyCastle/asn1/esf/CompleteCertificateRefs.cs diff --git a/crypto/src/asn1/esf/CompleteRevocationRefs.cs b/src/BouncyCastle/asn1/esf/CompleteRevocationRefs.cs similarity index 100% rename from crypto/src/asn1/esf/CompleteRevocationRefs.cs rename to src/BouncyCastle/asn1/esf/CompleteRevocationRefs.cs diff --git a/crypto/src/asn1/esf/CrlIdentifier.cs b/src/BouncyCastle/asn1/esf/CrlIdentifier.cs similarity index 100% rename from crypto/src/asn1/esf/CrlIdentifier.cs rename to src/BouncyCastle/asn1/esf/CrlIdentifier.cs diff --git a/crypto/src/asn1/esf/CrlListID.cs b/src/BouncyCastle/asn1/esf/CrlListID.cs similarity index 100% rename from crypto/src/asn1/esf/CrlListID.cs rename to src/BouncyCastle/asn1/esf/CrlListID.cs diff --git a/crypto/src/asn1/esf/CrlOcspRef.cs b/src/BouncyCastle/asn1/esf/CrlOcspRef.cs similarity index 100% rename from crypto/src/asn1/esf/CrlOcspRef.cs rename to src/BouncyCastle/asn1/esf/CrlOcspRef.cs diff --git a/crypto/src/asn1/esf/CrlValidatedID.cs b/src/BouncyCastle/asn1/esf/CrlValidatedID.cs similarity index 100% rename from crypto/src/asn1/esf/CrlValidatedID.cs rename to src/BouncyCastle/asn1/esf/CrlValidatedID.cs diff --git a/crypto/src/asn1/esf/ESFAttributes.cs b/src/BouncyCastle/asn1/esf/ESFAttributes.cs similarity index 100% rename from crypto/src/asn1/esf/ESFAttributes.cs rename to src/BouncyCastle/asn1/esf/ESFAttributes.cs diff --git a/crypto/src/asn1/esf/OcspIdentifier.cs b/src/BouncyCastle/asn1/esf/OcspIdentifier.cs similarity index 100% rename from crypto/src/asn1/esf/OcspIdentifier.cs rename to src/BouncyCastle/asn1/esf/OcspIdentifier.cs diff --git a/crypto/src/asn1/esf/OcspListID.cs b/src/BouncyCastle/asn1/esf/OcspListID.cs similarity index 100% rename from crypto/src/asn1/esf/OcspListID.cs rename to src/BouncyCastle/asn1/esf/OcspListID.cs diff --git a/crypto/src/asn1/esf/OcspResponsesID.cs b/src/BouncyCastle/asn1/esf/OcspResponsesID.cs similarity index 100% rename from crypto/src/asn1/esf/OcspResponsesID.cs rename to src/BouncyCastle/asn1/esf/OcspResponsesID.cs diff --git a/crypto/src/asn1/esf/OtherCertID.cs b/src/BouncyCastle/asn1/esf/OtherCertID.cs similarity index 100% rename from crypto/src/asn1/esf/OtherCertID.cs rename to src/BouncyCastle/asn1/esf/OtherCertID.cs diff --git a/crypto/src/asn1/esf/OtherHash.cs b/src/BouncyCastle/asn1/esf/OtherHash.cs similarity index 100% rename from crypto/src/asn1/esf/OtherHash.cs rename to src/BouncyCastle/asn1/esf/OtherHash.cs diff --git a/crypto/src/asn1/esf/OtherHashAlgAndValue.cs b/src/BouncyCastle/asn1/esf/OtherHashAlgAndValue.cs similarity index 100% rename from crypto/src/asn1/esf/OtherHashAlgAndValue.cs rename to src/BouncyCastle/asn1/esf/OtherHashAlgAndValue.cs diff --git a/crypto/src/asn1/esf/OtherRevRefs.cs b/src/BouncyCastle/asn1/esf/OtherRevRefs.cs similarity index 100% rename from crypto/src/asn1/esf/OtherRevRefs.cs rename to src/BouncyCastle/asn1/esf/OtherRevRefs.cs diff --git a/crypto/src/asn1/esf/OtherRevVals.cs b/src/BouncyCastle/asn1/esf/OtherRevVals.cs similarity index 100% rename from crypto/src/asn1/esf/OtherRevVals.cs rename to src/BouncyCastle/asn1/esf/OtherRevVals.cs diff --git a/crypto/src/asn1/esf/OtherSigningCertificate.cs b/src/BouncyCastle/asn1/esf/OtherSigningCertificate.cs similarity index 100% rename from crypto/src/asn1/esf/OtherSigningCertificate.cs rename to src/BouncyCastle/asn1/esf/OtherSigningCertificate.cs diff --git a/crypto/src/asn1/esf/RevocationValues.cs b/src/BouncyCastle/asn1/esf/RevocationValues.cs similarity index 100% rename from crypto/src/asn1/esf/RevocationValues.cs rename to src/BouncyCastle/asn1/esf/RevocationValues.cs diff --git a/crypto/src/asn1/esf/SigPolicyQualifierInfo.cs b/src/BouncyCastle/asn1/esf/SigPolicyQualifierInfo.cs similarity index 100% rename from crypto/src/asn1/esf/SigPolicyQualifierInfo.cs rename to src/BouncyCastle/asn1/esf/SigPolicyQualifierInfo.cs diff --git a/crypto/src/asn1/esf/SignaturePolicyId.cs b/src/BouncyCastle/asn1/esf/SignaturePolicyId.cs similarity index 100% rename from crypto/src/asn1/esf/SignaturePolicyId.cs rename to src/BouncyCastle/asn1/esf/SignaturePolicyId.cs diff --git a/crypto/src/asn1/esf/SignaturePolicyIdentifier.cs b/src/BouncyCastle/asn1/esf/SignaturePolicyIdentifier.cs similarity index 100% rename from crypto/src/asn1/esf/SignaturePolicyIdentifier.cs rename to src/BouncyCastle/asn1/esf/SignaturePolicyIdentifier.cs diff --git a/crypto/src/asn1/esf/SignerAttribute.cs b/src/BouncyCastle/asn1/esf/SignerAttribute.cs similarity index 100% rename from crypto/src/asn1/esf/SignerAttribute.cs rename to src/BouncyCastle/asn1/esf/SignerAttribute.cs diff --git a/crypto/src/asn1/esf/SignerLocation.cs b/src/BouncyCastle/asn1/esf/SignerLocation.cs similarity index 100% rename from crypto/src/asn1/esf/SignerLocation.cs rename to src/BouncyCastle/asn1/esf/SignerLocation.cs diff --git a/crypto/src/asn1/ess/ContentHints.cs b/src/BouncyCastle/asn1/ess/ContentHints.cs similarity index 100% rename from crypto/src/asn1/ess/ContentHints.cs rename to src/BouncyCastle/asn1/ess/ContentHints.cs diff --git a/crypto/src/asn1/ess/ContentIdentifier.cs b/src/BouncyCastle/asn1/ess/ContentIdentifier.cs similarity index 100% rename from crypto/src/asn1/ess/ContentIdentifier.cs rename to src/BouncyCastle/asn1/ess/ContentIdentifier.cs diff --git a/crypto/src/asn1/ess/ESSCertID.cs b/src/BouncyCastle/asn1/ess/ESSCertID.cs similarity index 100% rename from crypto/src/asn1/ess/ESSCertID.cs rename to src/BouncyCastle/asn1/ess/ESSCertID.cs diff --git a/crypto/src/asn1/ess/ESSCertIDv2.cs b/src/BouncyCastle/asn1/ess/ESSCertIDv2.cs similarity index 100% rename from crypto/src/asn1/ess/ESSCertIDv2.cs rename to src/BouncyCastle/asn1/ess/ESSCertIDv2.cs diff --git a/crypto/src/asn1/ess/OtherCertID.cs b/src/BouncyCastle/asn1/ess/OtherCertID.cs similarity index 100% rename from crypto/src/asn1/ess/OtherCertID.cs rename to src/BouncyCastle/asn1/ess/OtherCertID.cs diff --git a/crypto/src/asn1/ess/OtherSigningCertificate.cs b/src/BouncyCastle/asn1/ess/OtherSigningCertificate.cs similarity index 100% rename from crypto/src/asn1/ess/OtherSigningCertificate.cs rename to src/BouncyCastle/asn1/ess/OtherSigningCertificate.cs diff --git a/crypto/src/asn1/ess/SigningCertificate.cs b/src/BouncyCastle/asn1/ess/SigningCertificate.cs similarity index 100% rename from crypto/src/asn1/ess/SigningCertificate.cs rename to src/BouncyCastle/asn1/ess/SigningCertificate.cs diff --git a/crypto/src/asn1/ess/SigningCertificateV2.cs b/src/BouncyCastle/asn1/ess/SigningCertificateV2.cs similarity index 100% rename from crypto/src/asn1/ess/SigningCertificateV2.cs rename to src/BouncyCastle/asn1/ess/SigningCertificateV2.cs diff --git a/crypto/src/asn1/gm/GMNamedCurves.cs b/src/BouncyCastle/asn1/gm/GMNamedCurves.cs similarity index 100% rename from crypto/src/asn1/gm/GMNamedCurves.cs rename to src/BouncyCastle/asn1/gm/GMNamedCurves.cs diff --git a/crypto/src/asn1/gm/GMObjectIdentifiers.cs b/src/BouncyCastle/asn1/gm/GMObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/gm/GMObjectIdentifiers.cs rename to src/BouncyCastle/asn1/gm/GMObjectIdentifiers.cs diff --git a/crypto/src/asn1/gnu/GNUObjectIdentifiers.cs b/src/BouncyCastle/asn1/gnu/GNUObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/gnu/GNUObjectIdentifiers.cs rename to src/BouncyCastle/asn1/gnu/GNUObjectIdentifiers.cs diff --git a/crypto/src/asn1/iana/IANAObjectIdentifiers.cs b/src/BouncyCastle/asn1/iana/IANAObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/iana/IANAObjectIdentifiers.cs rename to src/BouncyCastle/asn1/iana/IANAObjectIdentifiers.cs diff --git a/crypto/src/asn1/icao/CscaMasterList.cs b/src/BouncyCastle/asn1/icao/CscaMasterList.cs similarity index 100% rename from crypto/src/asn1/icao/CscaMasterList.cs rename to src/BouncyCastle/asn1/icao/CscaMasterList.cs diff --git a/crypto/src/asn1/icao/DataGroupHash.cs b/src/BouncyCastle/asn1/icao/DataGroupHash.cs similarity index 100% rename from crypto/src/asn1/icao/DataGroupHash.cs rename to src/BouncyCastle/asn1/icao/DataGroupHash.cs diff --git a/crypto/src/asn1/icao/ICAOObjectIdentifiers.cs b/src/BouncyCastle/asn1/icao/ICAOObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/icao/ICAOObjectIdentifiers.cs rename to src/BouncyCastle/asn1/icao/ICAOObjectIdentifiers.cs diff --git a/crypto/src/asn1/icao/LDSSecurityObject.cs b/src/BouncyCastle/asn1/icao/LDSSecurityObject.cs similarity index 100% rename from crypto/src/asn1/icao/LDSSecurityObject.cs rename to src/BouncyCastle/asn1/icao/LDSSecurityObject.cs diff --git a/crypto/src/asn1/icao/LDSVersionInfo.cs b/src/BouncyCastle/asn1/icao/LDSVersionInfo.cs similarity index 100% rename from crypto/src/asn1/icao/LDSVersionInfo.cs rename to src/BouncyCastle/asn1/icao/LDSVersionInfo.cs diff --git a/crypto/src/asn1/isismtt/ISISMTTObjectIdentifiers.cs b/src/BouncyCastle/asn1/isismtt/ISISMTTObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/isismtt/ISISMTTObjectIdentifiers.cs rename to src/BouncyCastle/asn1/isismtt/ISISMTTObjectIdentifiers.cs diff --git a/crypto/src/asn1/isismtt/ocsp/CertHash.cs b/src/BouncyCastle/asn1/isismtt/ocsp/CertHash.cs similarity index 100% rename from crypto/src/asn1/isismtt/ocsp/CertHash.cs rename to src/BouncyCastle/asn1/isismtt/ocsp/CertHash.cs diff --git a/crypto/src/asn1/isismtt/ocsp/RequestedCertificate.cs b/src/BouncyCastle/asn1/isismtt/ocsp/RequestedCertificate.cs similarity index 100% rename from crypto/src/asn1/isismtt/ocsp/RequestedCertificate.cs rename to src/BouncyCastle/asn1/isismtt/ocsp/RequestedCertificate.cs diff --git a/crypto/src/asn1/isismtt/x509/AdditionalInformationSyntax.cs b/src/BouncyCastle/asn1/isismtt/x509/AdditionalInformationSyntax.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/AdditionalInformationSyntax.cs rename to src/BouncyCastle/asn1/isismtt/x509/AdditionalInformationSyntax.cs diff --git a/crypto/src/asn1/isismtt/x509/AdmissionSyntax.cs b/src/BouncyCastle/asn1/isismtt/x509/AdmissionSyntax.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/AdmissionSyntax.cs rename to src/BouncyCastle/asn1/isismtt/x509/AdmissionSyntax.cs diff --git a/crypto/src/asn1/isismtt/x509/Admissions.cs b/src/BouncyCastle/asn1/isismtt/x509/Admissions.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/Admissions.cs rename to src/BouncyCastle/asn1/isismtt/x509/Admissions.cs diff --git a/crypto/src/asn1/isismtt/x509/DeclarationOfMajority.cs b/src/BouncyCastle/asn1/isismtt/x509/DeclarationOfMajority.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/DeclarationOfMajority.cs rename to src/BouncyCastle/asn1/isismtt/x509/DeclarationOfMajority.cs diff --git a/crypto/src/asn1/isismtt/x509/MonetaryLimit.cs b/src/BouncyCastle/asn1/isismtt/x509/MonetaryLimit.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/MonetaryLimit.cs rename to src/BouncyCastle/asn1/isismtt/x509/MonetaryLimit.cs diff --git a/crypto/src/asn1/isismtt/x509/NamingAuthority.cs b/src/BouncyCastle/asn1/isismtt/x509/NamingAuthority.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/NamingAuthority.cs rename to src/BouncyCastle/asn1/isismtt/x509/NamingAuthority.cs diff --git a/crypto/src/asn1/isismtt/x509/ProcurationSyntax.cs b/src/BouncyCastle/asn1/isismtt/x509/ProcurationSyntax.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/ProcurationSyntax.cs rename to src/BouncyCastle/asn1/isismtt/x509/ProcurationSyntax.cs diff --git a/crypto/src/asn1/isismtt/x509/ProfessionInfo.cs b/src/BouncyCastle/asn1/isismtt/x509/ProfessionInfo.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/ProfessionInfo.cs rename to src/BouncyCastle/asn1/isismtt/x509/ProfessionInfo.cs diff --git a/crypto/src/asn1/isismtt/x509/Restriction.cs b/src/BouncyCastle/asn1/isismtt/x509/Restriction.cs similarity index 100% rename from crypto/src/asn1/isismtt/x509/Restriction.cs rename to src/BouncyCastle/asn1/isismtt/x509/Restriction.cs diff --git a/crypto/src/asn1/kisa/KISAObjectIdentifiers.cs b/src/BouncyCastle/asn1/kisa/KISAObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/kisa/KISAObjectIdentifiers.cs rename to src/BouncyCastle/asn1/kisa/KISAObjectIdentifiers.cs diff --git a/crypto/src/asn1/microsoft/MicrosoftObjectIdentifiers.cs b/src/BouncyCastle/asn1/microsoft/MicrosoftObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/microsoft/MicrosoftObjectIdentifiers.cs rename to src/BouncyCastle/asn1/microsoft/MicrosoftObjectIdentifiers.cs diff --git a/crypto/src/asn1/misc/CAST5CBCParameters.cs b/src/BouncyCastle/asn1/misc/CAST5CBCParameters.cs similarity index 100% rename from crypto/src/asn1/misc/CAST5CBCParameters.cs rename to src/BouncyCastle/asn1/misc/CAST5CBCParameters.cs diff --git a/crypto/src/asn1/misc/IDEACBCPar.cs b/src/BouncyCastle/asn1/misc/IDEACBCPar.cs similarity index 100% rename from crypto/src/asn1/misc/IDEACBCPar.cs rename to src/BouncyCastle/asn1/misc/IDEACBCPar.cs diff --git a/crypto/src/asn1/misc/MiscObjectIdentifiers.cs b/src/BouncyCastle/asn1/misc/MiscObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/misc/MiscObjectIdentifiers.cs rename to src/BouncyCastle/asn1/misc/MiscObjectIdentifiers.cs diff --git a/crypto/src/asn1/misc/NetscapeCertType.cs b/src/BouncyCastle/asn1/misc/NetscapeCertType.cs similarity index 100% rename from crypto/src/asn1/misc/NetscapeCertType.cs rename to src/BouncyCastle/asn1/misc/NetscapeCertType.cs diff --git a/crypto/src/asn1/misc/NetscapeRevocationURL.cs b/src/BouncyCastle/asn1/misc/NetscapeRevocationURL.cs similarity index 100% rename from crypto/src/asn1/misc/NetscapeRevocationURL.cs rename to src/BouncyCastle/asn1/misc/NetscapeRevocationURL.cs diff --git a/crypto/src/asn1/misc/VerisignCzagExtension.cs b/src/BouncyCastle/asn1/misc/VerisignCzagExtension.cs similarity index 100% rename from crypto/src/asn1/misc/VerisignCzagExtension.cs rename to src/BouncyCastle/asn1/misc/VerisignCzagExtension.cs diff --git a/crypto/src/asn1/mozilla/PublicKeyAndChallenge.cs b/src/BouncyCastle/asn1/mozilla/PublicKeyAndChallenge.cs similarity index 100% rename from crypto/src/asn1/mozilla/PublicKeyAndChallenge.cs rename to src/BouncyCastle/asn1/mozilla/PublicKeyAndChallenge.cs diff --git a/crypto/src/asn1/nist/NISTNamedCurves.cs b/src/BouncyCastle/asn1/nist/NISTNamedCurves.cs similarity index 100% rename from crypto/src/asn1/nist/NISTNamedCurves.cs rename to src/BouncyCastle/asn1/nist/NISTNamedCurves.cs diff --git a/crypto/src/asn1/nist/NISTObjectIdentifiers.cs b/src/BouncyCastle/asn1/nist/NISTObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/nist/NISTObjectIdentifiers.cs rename to src/BouncyCastle/asn1/nist/NISTObjectIdentifiers.cs diff --git a/crypto/src/asn1/ntt/NTTObjectIdentifiers.cs b/src/BouncyCastle/asn1/ntt/NTTObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/ntt/NTTObjectIdentifiers.cs rename to src/BouncyCastle/asn1/ntt/NTTObjectIdentifiers.cs diff --git a/crypto/src/asn1/ocsp/BasicOCSPResponse.cs b/src/BouncyCastle/asn1/ocsp/BasicOCSPResponse.cs similarity index 100% rename from crypto/src/asn1/ocsp/BasicOCSPResponse.cs rename to src/BouncyCastle/asn1/ocsp/BasicOCSPResponse.cs diff --git a/crypto/src/asn1/ocsp/CertID.cs b/src/BouncyCastle/asn1/ocsp/CertID.cs similarity index 100% rename from crypto/src/asn1/ocsp/CertID.cs rename to src/BouncyCastle/asn1/ocsp/CertID.cs diff --git a/crypto/src/asn1/ocsp/CertStatus.cs b/src/BouncyCastle/asn1/ocsp/CertStatus.cs similarity index 100% rename from crypto/src/asn1/ocsp/CertStatus.cs rename to src/BouncyCastle/asn1/ocsp/CertStatus.cs diff --git a/crypto/src/asn1/ocsp/CrlID.cs b/src/BouncyCastle/asn1/ocsp/CrlID.cs similarity index 100% rename from crypto/src/asn1/ocsp/CrlID.cs rename to src/BouncyCastle/asn1/ocsp/CrlID.cs diff --git a/crypto/src/asn1/ocsp/OCSPObjectIdentifiers.cs b/src/BouncyCastle/asn1/ocsp/OCSPObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/ocsp/OCSPObjectIdentifiers.cs rename to src/BouncyCastle/asn1/ocsp/OCSPObjectIdentifiers.cs diff --git a/crypto/src/asn1/ocsp/OCSPRequest.cs b/src/BouncyCastle/asn1/ocsp/OCSPRequest.cs similarity index 100% rename from crypto/src/asn1/ocsp/OCSPRequest.cs rename to src/BouncyCastle/asn1/ocsp/OCSPRequest.cs diff --git a/crypto/src/asn1/ocsp/OCSPResponse.cs b/src/BouncyCastle/asn1/ocsp/OCSPResponse.cs similarity index 100% rename from crypto/src/asn1/ocsp/OCSPResponse.cs rename to src/BouncyCastle/asn1/ocsp/OCSPResponse.cs diff --git a/crypto/src/asn1/ocsp/OCSPResponseStatus.cs b/src/BouncyCastle/asn1/ocsp/OCSPResponseStatus.cs similarity index 100% rename from crypto/src/asn1/ocsp/OCSPResponseStatus.cs rename to src/BouncyCastle/asn1/ocsp/OCSPResponseStatus.cs diff --git a/crypto/src/asn1/ocsp/Request.cs b/src/BouncyCastle/asn1/ocsp/Request.cs similarity index 100% rename from crypto/src/asn1/ocsp/Request.cs rename to src/BouncyCastle/asn1/ocsp/Request.cs diff --git a/crypto/src/asn1/ocsp/ResponderID.cs b/src/BouncyCastle/asn1/ocsp/ResponderID.cs similarity index 100% rename from crypto/src/asn1/ocsp/ResponderID.cs rename to src/BouncyCastle/asn1/ocsp/ResponderID.cs diff --git a/crypto/src/asn1/ocsp/ResponseBytes.cs b/src/BouncyCastle/asn1/ocsp/ResponseBytes.cs similarity index 100% rename from crypto/src/asn1/ocsp/ResponseBytes.cs rename to src/BouncyCastle/asn1/ocsp/ResponseBytes.cs diff --git a/crypto/src/asn1/ocsp/ResponseData.cs b/src/BouncyCastle/asn1/ocsp/ResponseData.cs similarity index 100% rename from crypto/src/asn1/ocsp/ResponseData.cs rename to src/BouncyCastle/asn1/ocsp/ResponseData.cs diff --git a/crypto/src/asn1/ocsp/RevokedInfo.cs b/src/BouncyCastle/asn1/ocsp/RevokedInfo.cs similarity index 100% rename from crypto/src/asn1/ocsp/RevokedInfo.cs rename to src/BouncyCastle/asn1/ocsp/RevokedInfo.cs diff --git a/crypto/src/asn1/ocsp/ServiceLocator.cs b/src/BouncyCastle/asn1/ocsp/ServiceLocator.cs similarity index 100% rename from crypto/src/asn1/ocsp/ServiceLocator.cs rename to src/BouncyCastle/asn1/ocsp/ServiceLocator.cs diff --git a/crypto/src/asn1/ocsp/Signature.cs b/src/BouncyCastle/asn1/ocsp/Signature.cs similarity index 100% rename from crypto/src/asn1/ocsp/Signature.cs rename to src/BouncyCastle/asn1/ocsp/Signature.cs diff --git a/crypto/src/asn1/ocsp/SingleResponse.cs b/src/BouncyCastle/asn1/ocsp/SingleResponse.cs similarity index 100% rename from crypto/src/asn1/ocsp/SingleResponse.cs rename to src/BouncyCastle/asn1/ocsp/SingleResponse.cs diff --git a/crypto/src/asn1/ocsp/TBSRequest.cs b/src/BouncyCastle/asn1/ocsp/TBSRequest.cs similarity index 100% rename from crypto/src/asn1/ocsp/TBSRequest.cs rename to src/BouncyCastle/asn1/ocsp/TBSRequest.cs diff --git a/crypto/src/asn1/oiw/ElGamalParameter.cs b/src/BouncyCastle/asn1/oiw/ElGamalParameter.cs similarity index 100% rename from crypto/src/asn1/oiw/ElGamalParameter.cs rename to src/BouncyCastle/asn1/oiw/ElGamalParameter.cs diff --git a/crypto/src/asn1/oiw/OIWObjectIdentifiers.cs b/src/BouncyCastle/asn1/oiw/OIWObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/oiw/OIWObjectIdentifiers.cs rename to src/BouncyCastle/asn1/oiw/OIWObjectIdentifiers.cs diff --git a/crypto/src/asn1/pkcs/Attribute.cs b/src/BouncyCastle/asn1/pkcs/Attribute.cs similarity index 100% rename from crypto/src/asn1/pkcs/Attribute.cs rename to src/BouncyCastle/asn1/pkcs/Attribute.cs diff --git a/crypto/src/asn1/pkcs/AuthenticatedSafe.cs b/src/BouncyCastle/asn1/pkcs/AuthenticatedSafe.cs similarity index 100% rename from crypto/src/asn1/pkcs/AuthenticatedSafe.cs rename to src/BouncyCastle/asn1/pkcs/AuthenticatedSafe.cs diff --git a/crypto/src/asn1/pkcs/CertBag.cs b/src/BouncyCastle/asn1/pkcs/CertBag.cs similarity index 100% rename from crypto/src/asn1/pkcs/CertBag.cs rename to src/BouncyCastle/asn1/pkcs/CertBag.cs diff --git a/crypto/src/asn1/pkcs/CertificationRequest.cs b/src/BouncyCastle/asn1/pkcs/CertificationRequest.cs similarity index 100% rename from crypto/src/asn1/pkcs/CertificationRequest.cs rename to src/BouncyCastle/asn1/pkcs/CertificationRequest.cs diff --git a/crypto/src/asn1/pkcs/CertificationRequestInfo.cs b/src/BouncyCastle/asn1/pkcs/CertificationRequestInfo.cs similarity index 100% rename from crypto/src/asn1/pkcs/CertificationRequestInfo.cs rename to src/BouncyCastle/asn1/pkcs/CertificationRequestInfo.cs diff --git a/crypto/src/asn1/pkcs/ContentInfo.cs b/src/BouncyCastle/asn1/pkcs/ContentInfo.cs similarity index 100% rename from crypto/src/asn1/pkcs/ContentInfo.cs rename to src/BouncyCastle/asn1/pkcs/ContentInfo.cs diff --git a/crypto/src/asn1/pkcs/DHParameter.cs b/src/BouncyCastle/asn1/pkcs/DHParameter.cs similarity index 100% rename from crypto/src/asn1/pkcs/DHParameter.cs rename to src/BouncyCastle/asn1/pkcs/DHParameter.cs diff --git a/crypto/src/asn1/pkcs/EncryptedData.cs b/src/BouncyCastle/asn1/pkcs/EncryptedData.cs similarity index 100% rename from crypto/src/asn1/pkcs/EncryptedData.cs rename to src/BouncyCastle/asn1/pkcs/EncryptedData.cs diff --git a/crypto/src/asn1/pkcs/EncryptedPrivateKeyInfo.cs b/src/BouncyCastle/asn1/pkcs/EncryptedPrivateKeyInfo.cs similarity index 100% rename from crypto/src/asn1/pkcs/EncryptedPrivateKeyInfo.cs rename to src/BouncyCastle/asn1/pkcs/EncryptedPrivateKeyInfo.cs diff --git a/crypto/src/asn1/pkcs/EncryptionScheme.cs b/src/BouncyCastle/asn1/pkcs/EncryptionScheme.cs similarity index 100% rename from crypto/src/asn1/pkcs/EncryptionScheme.cs rename to src/BouncyCastle/asn1/pkcs/EncryptionScheme.cs diff --git a/crypto/src/asn1/pkcs/IssuerAndSerialNumber.cs b/src/BouncyCastle/asn1/pkcs/IssuerAndSerialNumber.cs similarity index 100% rename from crypto/src/asn1/pkcs/IssuerAndSerialNumber.cs rename to src/BouncyCastle/asn1/pkcs/IssuerAndSerialNumber.cs diff --git a/crypto/src/asn1/pkcs/KeyDerivationFunc.cs b/src/BouncyCastle/asn1/pkcs/KeyDerivationFunc.cs similarity index 100% rename from crypto/src/asn1/pkcs/KeyDerivationFunc.cs rename to src/BouncyCastle/asn1/pkcs/KeyDerivationFunc.cs diff --git a/crypto/src/asn1/pkcs/MacData.cs b/src/BouncyCastle/asn1/pkcs/MacData.cs similarity index 100% rename from crypto/src/asn1/pkcs/MacData.cs rename to src/BouncyCastle/asn1/pkcs/MacData.cs diff --git a/crypto/src/asn1/pkcs/PBEParameter.cs b/src/BouncyCastle/asn1/pkcs/PBEParameter.cs similarity index 100% rename from crypto/src/asn1/pkcs/PBEParameter.cs rename to src/BouncyCastle/asn1/pkcs/PBEParameter.cs diff --git a/crypto/src/asn1/pkcs/PBES2Parameters.cs b/src/BouncyCastle/asn1/pkcs/PBES2Parameters.cs similarity index 100% rename from crypto/src/asn1/pkcs/PBES2Parameters.cs rename to src/BouncyCastle/asn1/pkcs/PBES2Parameters.cs diff --git a/crypto/src/asn1/pkcs/PBKDF2Params.cs b/src/BouncyCastle/asn1/pkcs/PBKDF2Params.cs similarity index 100% rename from crypto/src/asn1/pkcs/PBKDF2Params.cs rename to src/BouncyCastle/asn1/pkcs/PBKDF2Params.cs diff --git a/crypto/src/asn1/pkcs/PKCS12PBEParams.cs b/src/BouncyCastle/asn1/pkcs/PKCS12PBEParams.cs similarity index 100% rename from crypto/src/asn1/pkcs/PKCS12PBEParams.cs rename to src/BouncyCastle/asn1/pkcs/PKCS12PBEParams.cs diff --git a/crypto/src/asn1/pkcs/PKCSObjectIdentifiers.cs b/src/BouncyCastle/asn1/pkcs/PKCSObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/pkcs/PKCSObjectIdentifiers.cs rename to src/BouncyCastle/asn1/pkcs/PKCSObjectIdentifiers.cs diff --git a/crypto/src/asn1/pkcs/Pfx.cs b/src/BouncyCastle/asn1/pkcs/Pfx.cs similarity index 100% rename from crypto/src/asn1/pkcs/Pfx.cs rename to src/BouncyCastle/asn1/pkcs/Pfx.cs diff --git a/crypto/src/asn1/pkcs/PrivateKeyInfo.cs b/src/BouncyCastle/asn1/pkcs/PrivateKeyInfo.cs similarity index 100% rename from crypto/src/asn1/pkcs/PrivateKeyInfo.cs rename to src/BouncyCastle/asn1/pkcs/PrivateKeyInfo.cs diff --git a/crypto/src/asn1/pkcs/RC2CBCParameter.cs b/src/BouncyCastle/asn1/pkcs/RC2CBCParameter.cs similarity index 100% rename from crypto/src/asn1/pkcs/RC2CBCParameter.cs rename to src/BouncyCastle/asn1/pkcs/RC2CBCParameter.cs diff --git a/crypto/src/asn1/pkcs/RSAESOAEPparams.cs b/src/BouncyCastle/asn1/pkcs/RSAESOAEPparams.cs similarity index 100% rename from crypto/src/asn1/pkcs/RSAESOAEPparams.cs rename to src/BouncyCastle/asn1/pkcs/RSAESOAEPparams.cs diff --git a/crypto/src/asn1/pkcs/RSAPrivateKeyStructure.cs b/src/BouncyCastle/asn1/pkcs/RSAPrivateKeyStructure.cs similarity index 100% rename from crypto/src/asn1/pkcs/RSAPrivateKeyStructure.cs rename to src/BouncyCastle/asn1/pkcs/RSAPrivateKeyStructure.cs diff --git a/crypto/src/asn1/pkcs/RSASSAPSSparams.cs b/src/BouncyCastle/asn1/pkcs/RSASSAPSSparams.cs similarity index 100% rename from crypto/src/asn1/pkcs/RSASSAPSSparams.cs rename to src/BouncyCastle/asn1/pkcs/RSASSAPSSparams.cs diff --git a/crypto/src/asn1/pkcs/SafeBag.cs b/src/BouncyCastle/asn1/pkcs/SafeBag.cs similarity index 100% rename from crypto/src/asn1/pkcs/SafeBag.cs rename to src/BouncyCastle/asn1/pkcs/SafeBag.cs diff --git a/crypto/src/asn1/pkcs/SignedData.cs b/src/BouncyCastle/asn1/pkcs/SignedData.cs similarity index 100% rename from crypto/src/asn1/pkcs/SignedData.cs rename to src/BouncyCastle/asn1/pkcs/SignedData.cs diff --git a/crypto/src/asn1/pkcs/SignerInfo.cs b/src/BouncyCastle/asn1/pkcs/SignerInfo.cs similarity index 100% rename from crypto/src/asn1/pkcs/SignerInfo.cs rename to src/BouncyCastle/asn1/pkcs/SignerInfo.cs diff --git a/crypto/src/asn1/rosstandart/RosstandartObjectIdentifiers.cs b/src/BouncyCastle/asn1/rosstandart/RosstandartObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/rosstandart/RosstandartObjectIdentifiers.cs rename to src/BouncyCastle/asn1/rosstandart/RosstandartObjectIdentifiers.cs diff --git a/crypto/src/asn1/sec/ECPrivateKeyStructure.cs b/src/BouncyCastle/asn1/sec/ECPrivateKeyStructure.cs similarity index 100% rename from crypto/src/asn1/sec/ECPrivateKeyStructure.cs rename to src/BouncyCastle/asn1/sec/ECPrivateKeyStructure.cs diff --git a/crypto/src/asn1/sec/SECNamedCurves.cs b/src/BouncyCastle/asn1/sec/SECNamedCurves.cs similarity index 100% rename from crypto/src/asn1/sec/SECNamedCurves.cs rename to src/BouncyCastle/asn1/sec/SECNamedCurves.cs diff --git a/crypto/src/asn1/sec/SECObjectIdentifiers.cs b/src/BouncyCastle/asn1/sec/SECObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/sec/SECObjectIdentifiers.cs rename to src/BouncyCastle/asn1/sec/SECObjectIdentifiers.cs diff --git a/crypto/src/asn1/smime/SMIMEAttributes.cs b/src/BouncyCastle/asn1/smime/SMIMEAttributes.cs similarity index 100% rename from crypto/src/asn1/smime/SMIMEAttributes.cs rename to src/BouncyCastle/asn1/smime/SMIMEAttributes.cs diff --git a/crypto/src/asn1/smime/SMIMECapabilities.cs b/src/BouncyCastle/asn1/smime/SMIMECapabilities.cs similarity index 100% rename from crypto/src/asn1/smime/SMIMECapabilities.cs rename to src/BouncyCastle/asn1/smime/SMIMECapabilities.cs diff --git a/crypto/src/asn1/smime/SMIMECapabilitiesAttribute.cs b/src/BouncyCastle/asn1/smime/SMIMECapabilitiesAttribute.cs similarity index 100% rename from crypto/src/asn1/smime/SMIMECapabilitiesAttribute.cs rename to src/BouncyCastle/asn1/smime/SMIMECapabilitiesAttribute.cs diff --git a/crypto/src/asn1/smime/SMIMECapability.cs b/src/BouncyCastle/asn1/smime/SMIMECapability.cs similarity index 100% rename from crypto/src/asn1/smime/SMIMECapability.cs rename to src/BouncyCastle/asn1/smime/SMIMECapability.cs diff --git a/crypto/src/asn1/smime/SMIMECapabilityVector.cs b/src/BouncyCastle/asn1/smime/SMIMECapabilityVector.cs similarity index 100% rename from crypto/src/asn1/smime/SMIMECapabilityVector.cs rename to src/BouncyCastle/asn1/smime/SMIMECapabilityVector.cs diff --git a/crypto/src/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.cs b/src/BouncyCastle/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.cs similarity index 100% rename from crypto/src/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.cs rename to src/BouncyCastle/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.cs diff --git a/crypto/src/asn1/teletrust/TeleTrusTNamedCurves.cs b/src/BouncyCastle/asn1/teletrust/TeleTrusTNamedCurves.cs similarity index 100% rename from crypto/src/asn1/teletrust/TeleTrusTNamedCurves.cs rename to src/BouncyCastle/asn1/teletrust/TeleTrusTNamedCurves.cs diff --git a/crypto/src/asn1/teletrust/TeleTrusTObjectIdentifiers.cs b/src/BouncyCastle/asn1/teletrust/TeleTrusTObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/teletrust/TeleTrusTObjectIdentifiers.cs rename to src/BouncyCastle/asn1/teletrust/TeleTrusTObjectIdentifiers.cs diff --git a/crypto/src/asn1/tsp/Accuracy.cs b/src/BouncyCastle/asn1/tsp/Accuracy.cs similarity index 100% rename from crypto/src/asn1/tsp/Accuracy.cs rename to src/BouncyCastle/asn1/tsp/Accuracy.cs diff --git a/crypto/src/asn1/tsp/MessageImprint.cs b/src/BouncyCastle/asn1/tsp/MessageImprint.cs similarity index 100% rename from crypto/src/asn1/tsp/MessageImprint.cs rename to src/BouncyCastle/asn1/tsp/MessageImprint.cs diff --git a/crypto/src/asn1/tsp/TSTInfo.cs b/src/BouncyCastle/asn1/tsp/TSTInfo.cs similarity index 100% rename from crypto/src/asn1/tsp/TSTInfo.cs rename to src/BouncyCastle/asn1/tsp/TSTInfo.cs diff --git a/crypto/src/asn1/tsp/TimeStampReq.cs b/src/BouncyCastle/asn1/tsp/TimeStampReq.cs similarity index 100% rename from crypto/src/asn1/tsp/TimeStampReq.cs rename to src/BouncyCastle/asn1/tsp/TimeStampReq.cs diff --git a/crypto/src/asn1/tsp/TimeStampResp.cs b/src/BouncyCastle/asn1/tsp/TimeStampResp.cs similarity index 100% rename from crypto/src/asn1/tsp/TimeStampResp.cs rename to src/BouncyCastle/asn1/tsp/TimeStampResp.cs diff --git a/crypto/src/asn1/ua/UAObjectIdentifiers.cs b/src/BouncyCastle/asn1/ua/UAObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/ua/UAObjectIdentifiers.cs rename to src/BouncyCastle/asn1/ua/UAObjectIdentifiers.cs diff --git a/crypto/src/asn1/util/Asn1Dump.cs b/src/BouncyCastle/asn1/util/Asn1Dump.cs similarity index 100% rename from crypto/src/asn1/util/Asn1Dump.cs rename to src/BouncyCastle/asn1/util/Asn1Dump.cs diff --git a/crypto/src/asn1/util/Dump.cs b/src/BouncyCastle/asn1/util/Dump.cs similarity index 100% rename from crypto/src/asn1/util/Dump.cs rename to src/BouncyCastle/asn1/util/Dump.cs diff --git a/crypto/src/asn1/util/FilterStream.cs b/src/BouncyCastle/asn1/util/FilterStream.cs similarity index 100% rename from crypto/src/asn1/util/FilterStream.cs rename to src/BouncyCastle/asn1/util/FilterStream.cs diff --git a/crypto/src/asn1/x500/DirectoryString.cs b/src/BouncyCastle/asn1/x500/DirectoryString.cs similarity index 100% rename from crypto/src/asn1/x500/DirectoryString.cs rename to src/BouncyCastle/asn1/x500/DirectoryString.cs diff --git a/crypto/src/asn1/x509/AccessDescription.cs b/src/BouncyCastle/asn1/x509/AccessDescription.cs similarity index 100% rename from crypto/src/asn1/x509/AccessDescription.cs rename to src/BouncyCastle/asn1/x509/AccessDescription.cs diff --git a/crypto/src/asn1/x509/AlgorithmIdentifier.cs b/src/BouncyCastle/asn1/x509/AlgorithmIdentifier.cs similarity index 100% rename from crypto/src/asn1/x509/AlgorithmIdentifier.cs rename to src/BouncyCastle/asn1/x509/AlgorithmIdentifier.cs diff --git a/crypto/src/asn1/x509/AttCertIssuer.cs b/src/BouncyCastle/asn1/x509/AttCertIssuer.cs similarity index 100% rename from crypto/src/asn1/x509/AttCertIssuer.cs rename to src/BouncyCastle/asn1/x509/AttCertIssuer.cs diff --git a/crypto/src/asn1/x509/AttCertValidityPeriod.cs b/src/BouncyCastle/asn1/x509/AttCertValidityPeriod.cs similarity index 100% rename from crypto/src/asn1/x509/AttCertValidityPeriod.cs rename to src/BouncyCastle/asn1/x509/AttCertValidityPeriod.cs diff --git a/crypto/src/asn1/x509/Attribute.cs b/src/BouncyCastle/asn1/x509/Attribute.cs similarity index 100% rename from crypto/src/asn1/x509/Attribute.cs rename to src/BouncyCastle/asn1/x509/Attribute.cs diff --git a/crypto/src/asn1/x509/AttributeCertificate.cs b/src/BouncyCastle/asn1/x509/AttributeCertificate.cs similarity index 100% rename from crypto/src/asn1/x509/AttributeCertificate.cs rename to src/BouncyCastle/asn1/x509/AttributeCertificate.cs diff --git a/crypto/src/asn1/x509/AttributeCertificateInfo.cs b/src/BouncyCastle/asn1/x509/AttributeCertificateInfo.cs similarity index 100% rename from crypto/src/asn1/x509/AttributeCertificateInfo.cs rename to src/BouncyCastle/asn1/x509/AttributeCertificateInfo.cs diff --git a/crypto/src/asn1/x509/AttributeTable.cs b/src/BouncyCastle/asn1/x509/AttributeTable.cs similarity index 100% rename from crypto/src/asn1/x509/AttributeTable.cs rename to src/BouncyCastle/asn1/x509/AttributeTable.cs diff --git a/crypto/src/asn1/x509/AuthorityInformationAccess.cs b/src/BouncyCastle/asn1/x509/AuthorityInformationAccess.cs similarity index 100% rename from crypto/src/asn1/x509/AuthorityInformationAccess.cs rename to src/BouncyCastle/asn1/x509/AuthorityInformationAccess.cs diff --git a/crypto/src/asn1/x509/AuthorityKeyIdentifier.cs b/src/BouncyCastle/asn1/x509/AuthorityKeyIdentifier.cs similarity index 100% rename from crypto/src/asn1/x509/AuthorityKeyIdentifier.cs rename to src/BouncyCastle/asn1/x509/AuthorityKeyIdentifier.cs diff --git a/crypto/src/asn1/x509/BasicConstraints.cs b/src/BouncyCastle/asn1/x509/BasicConstraints.cs similarity index 100% rename from crypto/src/asn1/x509/BasicConstraints.cs rename to src/BouncyCastle/asn1/x509/BasicConstraints.cs diff --git a/crypto/src/asn1/x509/CRLDistPoint.cs b/src/BouncyCastle/asn1/x509/CRLDistPoint.cs similarity index 100% rename from crypto/src/asn1/x509/CRLDistPoint.cs rename to src/BouncyCastle/asn1/x509/CRLDistPoint.cs diff --git a/crypto/src/asn1/x509/CRLNumber.cs b/src/BouncyCastle/asn1/x509/CRLNumber.cs similarity index 100% rename from crypto/src/asn1/x509/CRLNumber.cs rename to src/BouncyCastle/asn1/x509/CRLNumber.cs diff --git a/crypto/src/asn1/x509/CRLReason.cs b/src/BouncyCastle/asn1/x509/CRLReason.cs similarity index 100% rename from crypto/src/asn1/x509/CRLReason.cs rename to src/BouncyCastle/asn1/x509/CRLReason.cs diff --git a/crypto/src/asn1/x509/CertPolicyId.cs b/src/BouncyCastle/asn1/x509/CertPolicyId.cs similarity index 100% rename from crypto/src/asn1/x509/CertPolicyId.cs rename to src/BouncyCastle/asn1/x509/CertPolicyId.cs diff --git a/crypto/src/asn1/x509/CertificateList.cs b/src/BouncyCastle/asn1/x509/CertificateList.cs similarity index 100% rename from crypto/src/asn1/x509/CertificateList.cs rename to src/BouncyCastle/asn1/x509/CertificateList.cs diff --git a/crypto/src/asn1/x509/CertificatePair.cs b/src/BouncyCastle/asn1/x509/CertificatePair.cs similarity index 100% rename from crypto/src/asn1/x509/CertificatePair.cs rename to src/BouncyCastle/asn1/x509/CertificatePair.cs diff --git a/crypto/src/asn1/x509/CertificatePolicies.cs b/src/BouncyCastle/asn1/x509/CertificatePolicies.cs similarity index 100% rename from crypto/src/asn1/x509/CertificatePolicies.cs rename to src/BouncyCastle/asn1/x509/CertificatePolicies.cs diff --git a/crypto/src/asn1/x509/DSAParameter.cs b/src/BouncyCastle/asn1/x509/DSAParameter.cs similarity index 100% rename from crypto/src/asn1/x509/DSAParameter.cs rename to src/BouncyCastle/asn1/x509/DSAParameter.cs diff --git a/crypto/src/asn1/x509/DigestInfo.cs b/src/BouncyCastle/asn1/x509/DigestInfo.cs similarity index 100% rename from crypto/src/asn1/x509/DigestInfo.cs rename to src/BouncyCastle/asn1/x509/DigestInfo.cs diff --git a/crypto/src/asn1/x509/DisplayText.cs b/src/BouncyCastle/asn1/x509/DisplayText.cs similarity index 100% rename from crypto/src/asn1/x509/DisplayText.cs rename to src/BouncyCastle/asn1/x509/DisplayText.cs diff --git a/crypto/src/asn1/x509/DistributionPoint.cs b/src/BouncyCastle/asn1/x509/DistributionPoint.cs similarity index 100% rename from crypto/src/asn1/x509/DistributionPoint.cs rename to src/BouncyCastle/asn1/x509/DistributionPoint.cs diff --git a/crypto/src/asn1/x509/DistributionPointName.cs b/src/BouncyCastle/asn1/x509/DistributionPointName.cs similarity index 100% rename from crypto/src/asn1/x509/DistributionPointName.cs rename to src/BouncyCastle/asn1/x509/DistributionPointName.cs diff --git a/crypto/src/asn1/x509/ExtendedKeyUsage.cs b/src/BouncyCastle/asn1/x509/ExtendedKeyUsage.cs similarity index 100% rename from crypto/src/asn1/x509/ExtendedKeyUsage.cs rename to src/BouncyCastle/asn1/x509/ExtendedKeyUsage.cs diff --git a/crypto/src/asn1/x509/GeneralName.cs b/src/BouncyCastle/asn1/x509/GeneralName.cs similarity index 100% rename from crypto/src/asn1/x509/GeneralName.cs rename to src/BouncyCastle/asn1/x509/GeneralName.cs diff --git a/crypto/src/asn1/x509/GeneralNames.cs b/src/BouncyCastle/asn1/x509/GeneralNames.cs similarity index 100% rename from crypto/src/asn1/x509/GeneralNames.cs rename to src/BouncyCastle/asn1/x509/GeneralNames.cs diff --git a/crypto/src/asn1/x509/GeneralSubtree.cs b/src/BouncyCastle/asn1/x509/GeneralSubtree.cs similarity index 100% rename from crypto/src/asn1/x509/GeneralSubtree.cs rename to src/BouncyCastle/asn1/x509/GeneralSubtree.cs diff --git a/crypto/src/asn1/x509/Holder.cs b/src/BouncyCastle/asn1/x509/Holder.cs similarity index 100% rename from crypto/src/asn1/x509/Holder.cs rename to src/BouncyCastle/asn1/x509/Holder.cs diff --git a/crypto/src/asn1/x509/IetfAttrSyntax.cs b/src/BouncyCastle/asn1/x509/IetfAttrSyntax.cs similarity index 100% rename from crypto/src/asn1/x509/IetfAttrSyntax.cs rename to src/BouncyCastle/asn1/x509/IetfAttrSyntax.cs diff --git a/crypto/src/asn1/x509/IssuerSerial.cs b/src/BouncyCastle/asn1/x509/IssuerSerial.cs similarity index 100% rename from crypto/src/asn1/x509/IssuerSerial.cs rename to src/BouncyCastle/asn1/x509/IssuerSerial.cs diff --git a/crypto/src/asn1/x509/IssuingDistributionPoint.cs b/src/BouncyCastle/asn1/x509/IssuingDistributionPoint.cs similarity index 100% rename from crypto/src/asn1/x509/IssuingDistributionPoint.cs rename to src/BouncyCastle/asn1/x509/IssuingDistributionPoint.cs diff --git a/crypto/src/asn1/x509/KeyPurposeId.cs b/src/BouncyCastle/asn1/x509/KeyPurposeId.cs similarity index 100% rename from crypto/src/asn1/x509/KeyPurposeId.cs rename to src/BouncyCastle/asn1/x509/KeyPurposeId.cs diff --git a/crypto/src/asn1/x509/KeyUsage.cs b/src/BouncyCastle/asn1/x509/KeyUsage.cs similarity index 100% rename from crypto/src/asn1/x509/KeyUsage.cs rename to src/BouncyCastle/asn1/x509/KeyUsage.cs diff --git a/crypto/src/asn1/x509/NameConstraints.cs b/src/BouncyCastle/asn1/x509/NameConstraints.cs similarity index 100% rename from crypto/src/asn1/x509/NameConstraints.cs rename to src/BouncyCastle/asn1/x509/NameConstraints.cs diff --git a/crypto/src/asn1/x509/NoticeReference.cs b/src/BouncyCastle/asn1/x509/NoticeReference.cs similarity index 100% rename from crypto/src/asn1/x509/NoticeReference.cs rename to src/BouncyCastle/asn1/x509/NoticeReference.cs diff --git a/crypto/src/asn1/x509/ObjectDigestInfo.cs b/src/BouncyCastle/asn1/x509/ObjectDigestInfo.cs similarity index 100% rename from crypto/src/asn1/x509/ObjectDigestInfo.cs rename to src/BouncyCastle/asn1/x509/ObjectDigestInfo.cs diff --git a/crypto/src/asn1/x509/PolicyInformation.cs b/src/BouncyCastle/asn1/x509/PolicyInformation.cs similarity index 100% rename from crypto/src/asn1/x509/PolicyInformation.cs rename to src/BouncyCastle/asn1/x509/PolicyInformation.cs diff --git a/crypto/src/asn1/x509/PolicyMappings.cs b/src/BouncyCastle/asn1/x509/PolicyMappings.cs similarity index 100% rename from crypto/src/asn1/x509/PolicyMappings.cs rename to src/BouncyCastle/asn1/x509/PolicyMappings.cs diff --git a/crypto/src/asn1/x509/PolicyQualifierId.cs b/src/BouncyCastle/asn1/x509/PolicyQualifierId.cs similarity index 100% rename from crypto/src/asn1/x509/PolicyQualifierId.cs rename to src/BouncyCastle/asn1/x509/PolicyQualifierId.cs diff --git a/crypto/src/asn1/x509/PolicyQualifierInfo.cs b/src/BouncyCastle/asn1/x509/PolicyQualifierInfo.cs similarity index 100% rename from crypto/src/asn1/x509/PolicyQualifierInfo.cs rename to src/BouncyCastle/asn1/x509/PolicyQualifierInfo.cs diff --git a/crypto/src/asn1/x509/PrivateKeyUsagePeriod.cs b/src/BouncyCastle/asn1/x509/PrivateKeyUsagePeriod.cs similarity index 100% rename from crypto/src/asn1/x509/PrivateKeyUsagePeriod.cs rename to src/BouncyCastle/asn1/x509/PrivateKeyUsagePeriod.cs diff --git a/crypto/src/asn1/x509/RSAPublicKeyStructure.cs b/src/BouncyCastle/asn1/x509/RSAPublicKeyStructure.cs similarity index 100% rename from crypto/src/asn1/x509/RSAPublicKeyStructure.cs rename to src/BouncyCastle/asn1/x509/RSAPublicKeyStructure.cs diff --git a/crypto/src/asn1/x509/ReasonFlags.cs b/src/BouncyCastle/asn1/x509/ReasonFlags.cs similarity index 100% rename from crypto/src/asn1/x509/ReasonFlags.cs rename to src/BouncyCastle/asn1/x509/ReasonFlags.cs diff --git a/crypto/src/asn1/x509/RoleSyntax.cs b/src/BouncyCastle/asn1/x509/RoleSyntax.cs similarity index 100% rename from crypto/src/asn1/x509/RoleSyntax.cs rename to src/BouncyCastle/asn1/x509/RoleSyntax.cs diff --git a/crypto/src/asn1/x509/SubjectDirectoryAttributes.cs b/src/BouncyCastle/asn1/x509/SubjectDirectoryAttributes.cs similarity index 100% rename from crypto/src/asn1/x509/SubjectDirectoryAttributes.cs rename to src/BouncyCastle/asn1/x509/SubjectDirectoryAttributes.cs diff --git a/crypto/src/asn1/x509/SubjectKeyIdentifier.cs b/src/BouncyCastle/asn1/x509/SubjectKeyIdentifier.cs similarity index 100% rename from crypto/src/asn1/x509/SubjectKeyIdentifier.cs rename to src/BouncyCastle/asn1/x509/SubjectKeyIdentifier.cs diff --git a/crypto/src/asn1/x509/SubjectPublicKeyInfo.cs b/src/BouncyCastle/asn1/x509/SubjectPublicKeyInfo.cs similarity index 100% rename from crypto/src/asn1/x509/SubjectPublicKeyInfo.cs rename to src/BouncyCastle/asn1/x509/SubjectPublicKeyInfo.cs diff --git a/crypto/src/asn1/x509/TBSCertList.cs b/src/BouncyCastle/asn1/x509/TBSCertList.cs similarity index 100% rename from crypto/src/asn1/x509/TBSCertList.cs rename to src/BouncyCastle/asn1/x509/TBSCertList.cs diff --git a/crypto/src/asn1/x509/TBSCertificateStructure.cs b/src/BouncyCastle/asn1/x509/TBSCertificateStructure.cs similarity index 100% rename from crypto/src/asn1/x509/TBSCertificateStructure.cs rename to src/BouncyCastle/asn1/x509/TBSCertificateStructure.cs diff --git a/crypto/src/asn1/x509/Target.cs b/src/BouncyCastle/asn1/x509/Target.cs similarity index 100% rename from crypto/src/asn1/x509/Target.cs rename to src/BouncyCastle/asn1/x509/Target.cs diff --git a/crypto/src/asn1/x509/TargetInformation.cs b/src/BouncyCastle/asn1/x509/TargetInformation.cs similarity index 100% rename from crypto/src/asn1/x509/TargetInformation.cs rename to src/BouncyCastle/asn1/x509/TargetInformation.cs diff --git a/crypto/src/asn1/x509/Targets.cs b/src/BouncyCastle/asn1/x509/Targets.cs similarity index 100% rename from crypto/src/asn1/x509/Targets.cs rename to src/BouncyCastle/asn1/x509/Targets.cs diff --git a/crypto/src/asn1/x509/Time.cs b/src/BouncyCastle/asn1/x509/Time.cs similarity index 100% rename from crypto/src/asn1/x509/Time.cs rename to src/BouncyCastle/asn1/x509/Time.cs diff --git a/crypto/src/asn1/x509/UserNotice.cs b/src/BouncyCastle/asn1/x509/UserNotice.cs similarity index 100% rename from crypto/src/asn1/x509/UserNotice.cs rename to src/BouncyCastle/asn1/x509/UserNotice.cs diff --git a/crypto/src/asn1/x509/V1TBSCertificateGenerator.cs b/src/BouncyCastle/asn1/x509/V1TBSCertificateGenerator.cs similarity index 100% rename from crypto/src/asn1/x509/V1TBSCertificateGenerator.cs rename to src/BouncyCastle/asn1/x509/V1TBSCertificateGenerator.cs diff --git a/crypto/src/asn1/x509/V2AttributeCertificateInfoGenerator.cs b/src/BouncyCastle/asn1/x509/V2AttributeCertificateInfoGenerator.cs similarity index 100% rename from crypto/src/asn1/x509/V2AttributeCertificateInfoGenerator.cs rename to src/BouncyCastle/asn1/x509/V2AttributeCertificateInfoGenerator.cs diff --git a/crypto/src/asn1/x509/V2Form.cs b/src/BouncyCastle/asn1/x509/V2Form.cs similarity index 100% rename from crypto/src/asn1/x509/V2Form.cs rename to src/BouncyCastle/asn1/x509/V2Form.cs diff --git a/crypto/src/asn1/x509/V2TBSCertListGenerator.cs b/src/BouncyCastle/asn1/x509/V2TBSCertListGenerator.cs similarity index 100% rename from crypto/src/asn1/x509/V2TBSCertListGenerator.cs rename to src/BouncyCastle/asn1/x509/V2TBSCertListGenerator.cs diff --git a/crypto/src/asn1/x509/V3TBSCertificateGenerator.cs b/src/BouncyCastle/asn1/x509/V3TBSCertificateGenerator.cs similarity index 100% rename from crypto/src/asn1/x509/V3TBSCertificateGenerator.cs rename to src/BouncyCastle/asn1/x509/V3TBSCertificateGenerator.cs diff --git a/crypto/src/asn1/x509/X509Attributes.cs b/src/BouncyCastle/asn1/x509/X509Attributes.cs similarity index 100% rename from crypto/src/asn1/x509/X509Attributes.cs rename to src/BouncyCastle/asn1/x509/X509Attributes.cs diff --git a/crypto/src/asn1/x509/X509CertificateStructure.cs b/src/BouncyCastle/asn1/x509/X509CertificateStructure.cs similarity index 100% rename from crypto/src/asn1/x509/X509CertificateStructure.cs rename to src/BouncyCastle/asn1/x509/X509CertificateStructure.cs diff --git a/crypto/src/asn1/x509/X509DefaultEntryConverter.cs b/src/BouncyCastle/asn1/x509/X509DefaultEntryConverter.cs similarity index 100% rename from crypto/src/asn1/x509/X509DefaultEntryConverter.cs rename to src/BouncyCastle/asn1/x509/X509DefaultEntryConverter.cs diff --git a/crypto/src/asn1/x509/X509Extension.cs b/src/BouncyCastle/asn1/x509/X509Extension.cs similarity index 100% rename from crypto/src/asn1/x509/X509Extension.cs rename to src/BouncyCastle/asn1/x509/X509Extension.cs diff --git a/crypto/src/asn1/x509/X509Extensions.cs b/src/BouncyCastle/asn1/x509/X509Extensions.cs similarity index 100% rename from crypto/src/asn1/x509/X509Extensions.cs rename to src/BouncyCastle/asn1/x509/X509Extensions.cs diff --git a/crypto/src/asn1/x509/X509ExtensionsGenerator.cs b/src/BouncyCastle/asn1/x509/X509ExtensionsGenerator.cs similarity index 100% rename from crypto/src/asn1/x509/X509ExtensionsGenerator.cs rename to src/BouncyCastle/asn1/x509/X509ExtensionsGenerator.cs diff --git a/crypto/src/asn1/x509/X509Name.cs b/src/BouncyCastle/asn1/x509/X509Name.cs similarity index 100% rename from crypto/src/asn1/x509/X509Name.cs rename to src/BouncyCastle/asn1/x509/X509Name.cs diff --git a/crypto/src/asn1/x509/X509NameEntryConverter.cs b/src/BouncyCastle/asn1/x509/X509NameEntryConverter.cs similarity index 100% rename from crypto/src/asn1/x509/X509NameEntryConverter.cs rename to src/BouncyCastle/asn1/x509/X509NameEntryConverter.cs diff --git a/crypto/src/asn1/x509/X509NameTokenizer.cs b/src/BouncyCastle/asn1/x509/X509NameTokenizer.cs similarity index 100% rename from crypto/src/asn1/x509/X509NameTokenizer.cs rename to src/BouncyCastle/asn1/x509/X509NameTokenizer.cs diff --git a/crypto/src/asn1/x509/X509ObjectIdentifiers.cs b/src/BouncyCastle/asn1/x509/X509ObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/x509/X509ObjectIdentifiers.cs rename to src/BouncyCastle/asn1/x509/X509ObjectIdentifiers.cs diff --git a/crypto/src/asn1/x509/qualified/BiometricData.cs b/src/BouncyCastle/asn1/x509/qualified/BiometricData.cs similarity index 100% rename from crypto/src/asn1/x509/qualified/BiometricData.cs rename to src/BouncyCastle/asn1/x509/qualified/BiometricData.cs diff --git a/crypto/src/asn1/x509/qualified/ETSIQCObjectIdentifiers.cs b/src/BouncyCastle/asn1/x509/qualified/ETSIQCObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/x509/qualified/ETSIQCObjectIdentifiers.cs rename to src/BouncyCastle/asn1/x509/qualified/ETSIQCObjectIdentifiers.cs diff --git a/crypto/src/asn1/x509/qualified/Iso4217CurrencyCode.cs b/src/BouncyCastle/asn1/x509/qualified/Iso4217CurrencyCode.cs similarity index 100% rename from crypto/src/asn1/x509/qualified/Iso4217CurrencyCode.cs rename to src/BouncyCastle/asn1/x509/qualified/Iso4217CurrencyCode.cs diff --git a/crypto/src/asn1/x509/qualified/MonetaryValue.cs b/src/BouncyCastle/asn1/x509/qualified/MonetaryValue.cs similarity index 100% rename from crypto/src/asn1/x509/qualified/MonetaryValue.cs rename to src/BouncyCastle/asn1/x509/qualified/MonetaryValue.cs diff --git a/crypto/src/asn1/x509/qualified/QCStatement.cs b/src/BouncyCastle/asn1/x509/qualified/QCStatement.cs similarity index 100% rename from crypto/src/asn1/x509/qualified/QCStatement.cs rename to src/BouncyCastle/asn1/x509/qualified/QCStatement.cs diff --git a/crypto/src/asn1/x509/qualified/RFC3739QCObjectIdentifiers.cs b/src/BouncyCastle/asn1/x509/qualified/RFC3739QCObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/x509/qualified/RFC3739QCObjectIdentifiers.cs rename to src/BouncyCastle/asn1/x509/qualified/RFC3739QCObjectIdentifiers.cs diff --git a/crypto/src/asn1/x509/qualified/SemanticsInformation.cs b/src/BouncyCastle/asn1/x509/qualified/SemanticsInformation.cs similarity index 100% rename from crypto/src/asn1/x509/qualified/SemanticsInformation.cs rename to src/BouncyCastle/asn1/x509/qualified/SemanticsInformation.cs diff --git a/crypto/src/asn1/x509/qualified/TypeOfBiometricData.cs b/src/BouncyCastle/asn1/x509/qualified/TypeOfBiometricData.cs similarity index 100% rename from crypto/src/asn1/x509/qualified/TypeOfBiometricData.cs rename to src/BouncyCastle/asn1/x509/qualified/TypeOfBiometricData.cs diff --git a/crypto/src/asn1/x509/sigi/NameOrPseudonym.cs b/src/BouncyCastle/asn1/x509/sigi/NameOrPseudonym.cs similarity index 100% rename from crypto/src/asn1/x509/sigi/NameOrPseudonym.cs rename to src/BouncyCastle/asn1/x509/sigi/NameOrPseudonym.cs diff --git a/crypto/src/asn1/x509/sigi/PersonalData.cs b/src/BouncyCastle/asn1/x509/sigi/PersonalData.cs similarity index 100% rename from crypto/src/asn1/x509/sigi/PersonalData.cs rename to src/BouncyCastle/asn1/x509/sigi/PersonalData.cs diff --git a/crypto/src/asn1/x509/sigi/SigIObjectIdentifiers.cs b/src/BouncyCastle/asn1/x509/sigi/SigIObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/x509/sigi/SigIObjectIdentifiers.cs rename to src/BouncyCastle/asn1/x509/sigi/SigIObjectIdentifiers.cs diff --git a/crypto/src/asn1/x9/DHDomainParameters.cs b/src/BouncyCastle/asn1/x9/DHDomainParameters.cs similarity index 100% rename from crypto/src/asn1/x9/DHDomainParameters.cs rename to src/BouncyCastle/asn1/x9/DHDomainParameters.cs diff --git a/crypto/src/asn1/x9/DHPublicKey.cs b/src/BouncyCastle/asn1/x9/DHPublicKey.cs similarity index 100% rename from crypto/src/asn1/x9/DHPublicKey.cs rename to src/BouncyCastle/asn1/x9/DHPublicKey.cs diff --git a/crypto/src/asn1/x9/DHValidationParms.cs b/src/BouncyCastle/asn1/x9/DHValidationParms.cs similarity index 100% rename from crypto/src/asn1/x9/DHValidationParms.cs rename to src/BouncyCastle/asn1/x9/DHValidationParms.cs diff --git a/crypto/src/asn1/x9/ECNamedCurveTable.cs b/src/BouncyCastle/asn1/x9/ECNamedCurveTable.cs similarity index 100% rename from crypto/src/asn1/x9/ECNamedCurveTable.cs rename to src/BouncyCastle/asn1/x9/ECNamedCurveTable.cs diff --git a/crypto/src/asn1/x9/KeySpecificInfo.cs b/src/BouncyCastle/asn1/x9/KeySpecificInfo.cs similarity index 100% rename from crypto/src/asn1/x9/KeySpecificInfo.cs rename to src/BouncyCastle/asn1/x9/KeySpecificInfo.cs diff --git a/crypto/src/asn1/x9/OtherInfo.cs b/src/BouncyCastle/asn1/x9/OtherInfo.cs similarity index 100% rename from crypto/src/asn1/x9/OtherInfo.cs rename to src/BouncyCastle/asn1/x9/OtherInfo.cs diff --git a/crypto/src/asn1/x9/X962NamedCurves.cs b/src/BouncyCastle/asn1/x9/X962NamedCurves.cs similarity index 100% rename from crypto/src/asn1/x9/X962NamedCurves.cs rename to src/BouncyCastle/asn1/x9/X962NamedCurves.cs diff --git a/crypto/src/asn1/x9/X962Parameters.cs b/src/BouncyCastle/asn1/x9/X962Parameters.cs similarity index 100% rename from crypto/src/asn1/x9/X962Parameters.cs rename to src/BouncyCastle/asn1/x9/X962Parameters.cs diff --git a/crypto/src/asn1/x9/X9Curve.cs b/src/BouncyCastle/asn1/x9/X9Curve.cs similarity index 100% rename from crypto/src/asn1/x9/X9Curve.cs rename to src/BouncyCastle/asn1/x9/X9Curve.cs diff --git a/crypto/src/asn1/x9/X9ECParameters.cs b/src/BouncyCastle/asn1/x9/X9ECParameters.cs similarity index 100% rename from crypto/src/asn1/x9/X9ECParameters.cs rename to src/BouncyCastle/asn1/x9/X9ECParameters.cs diff --git a/crypto/src/asn1/x9/X9ECParametersHolder.cs b/src/BouncyCastle/asn1/x9/X9ECParametersHolder.cs similarity index 100% rename from crypto/src/asn1/x9/X9ECParametersHolder.cs rename to src/BouncyCastle/asn1/x9/X9ECParametersHolder.cs diff --git a/crypto/src/asn1/x9/X9ECPoint.cs b/src/BouncyCastle/asn1/x9/X9ECPoint.cs similarity index 100% rename from crypto/src/asn1/x9/X9ECPoint.cs rename to src/BouncyCastle/asn1/x9/X9ECPoint.cs diff --git a/crypto/src/asn1/x9/X9FieldElement.cs b/src/BouncyCastle/asn1/x9/X9FieldElement.cs similarity index 100% rename from crypto/src/asn1/x9/X9FieldElement.cs rename to src/BouncyCastle/asn1/x9/X9FieldElement.cs diff --git a/crypto/src/asn1/x9/X9FieldID.cs b/src/BouncyCastle/asn1/x9/X9FieldID.cs similarity index 100% rename from crypto/src/asn1/x9/X9FieldID.cs rename to src/BouncyCastle/asn1/x9/X9FieldID.cs diff --git a/crypto/src/asn1/x9/X9IntegerConverter.cs b/src/BouncyCastle/asn1/x9/X9IntegerConverter.cs similarity index 100% rename from crypto/src/asn1/x9/X9IntegerConverter.cs rename to src/BouncyCastle/asn1/x9/X9IntegerConverter.cs diff --git a/crypto/src/asn1/x9/X9ObjectIdentifiers.cs b/src/BouncyCastle/asn1/x9/X9ObjectIdentifiers.cs similarity index 100% rename from crypto/src/asn1/x9/X9ObjectIdentifiers.cs rename to src/BouncyCastle/asn1/x9/X9ObjectIdentifiers.cs diff --git a/crypto/src/bcpg/ArmoredInputStream.cs b/src/BouncyCastle/bcpg/ArmoredInputStream.cs similarity index 100% rename from crypto/src/bcpg/ArmoredInputStream.cs rename to src/BouncyCastle/bcpg/ArmoredInputStream.cs diff --git a/crypto/src/bcpg/ArmoredOutputStream.cs b/src/BouncyCastle/bcpg/ArmoredOutputStream.cs similarity index 100% rename from crypto/src/bcpg/ArmoredOutputStream.cs rename to src/BouncyCastle/bcpg/ArmoredOutputStream.cs diff --git a/crypto/src/bcpg/BcpgInputStream.cs b/src/BouncyCastle/bcpg/BcpgInputStream.cs similarity index 100% rename from crypto/src/bcpg/BcpgInputStream.cs rename to src/BouncyCastle/bcpg/BcpgInputStream.cs diff --git a/crypto/src/bcpg/BcpgObject.cs b/src/BouncyCastle/bcpg/BcpgObject.cs similarity index 100% rename from crypto/src/bcpg/BcpgObject.cs rename to src/BouncyCastle/bcpg/BcpgObject.cs diff --git a/crypto/src/bcpg/BcpgOutputStream.cs b/src/BouncyCastle/bcpg/BcpgOutputStream.cs similarity index 100% rename from crypto/src/bcpg/BcpgOutputStream.cs rename to src/BouncyCastle/bcpg/BcpgOutputStream.cs diff --git a/crypto/src/bcpg/CompressedDataPacket.cs b/src/BouncyCastle/bcpg/CompressedDataPacket.cs similarity index 100% rename from crypto/src/bcpg/CompressedDataPacket.cs rename to src/BouncyCastle/bcpg/CompressedDataPacket.cs diff --git a/crypto/src/bcpg/CompressionAlgorithmTags.cs b/src/BouncyCastle/bcpg/CompressionAlgorithmTags.cs similarity index 100% rename from crypto/src/bcpg/CompressionAlgorithmTags.cs rename to src/BouncyCastle/bcpg/CompressionAlgorithmTags.cs diff --git a/crypto/src/bcpg/ContainedPacket.cs b/src/BouncyCastle/bcpg/ContainedPacket.cs similarity index 100% rename from crypto/src/bcpg/ContainedPacket.cs rename to src/BouncyCastle/bcpg/ContainedPacket.cs diff --git a/crypto/src/bcpg/Crc24.cs b/src/BouncyCastle/bcpg/Crc24.cs similarity index 100% rename from crypto/src/bcpg/Crc24.cs rename to src/BouncyCastle/bcpg/Crc24.cs diff --git a/crypto/src/bcpg/DsaPublicBcpgKey.cs b/src/BouncyCastle/bcpg/DsaPublicBcpgKey.cs similarity index 100% rename from crypto/src/bcpg/DsaPublicBcpgKey.cs rename to src/BouncyCastle/bcpg/DsaPublicBcpgKey.cs diff --git a/crypto/src/bcpg/DsaSecretBcpgKey.cs b/src/BouncyCastle/bcpg/DsaSecretBcpgKey.cs similarity index 100% rename from crypto/src/bcpg/DsaSecretBcpgKey.cs rename to src/BouncyCastle/bcpg/DsaSecretBcpgKey.cs diff --git a/crypto/src/bcpg/ECDHPublicBCPGKey.cs b/src/BouncyCastle/bcpg/ECDHPublicBCPGKey.cs similarity index 100% rename from crypto/src/bcpg/ECDHPublicBCPGKey.cs rename to src/BouncyCastle/bcpg/ECDHPublicBCPGKey.cs diff --git a/crypto/src/bcpg/ECDsaPublicBCPGKey.cs b/src/BouncyCastle/bcpg/ECDsaPublicBCPGKey.cs similarity index 100% rename from crypto/src/bcpg/ECDsaPublicBCPGKey.cs rename to src/BouncyCastle/bcpg/ECDsaPublicBCPGKey.cs diff --git a/crypto/src/bcpg/ECPublicBCPGKey.cs b/src/BouncyCastle/bcpg/ECPublicBCPGKey.cs similarity index 100% rename from crypto/src/bcpg/ECPublicBCPGKey.cs rename to src/BouncyCastle/bcpg/ECPublicBCPGKey.cs diff --git a/crypto/src/bcpg/ECSecretBCPGKey.cs b/src/BouncyCastle/bcpg/ECSecretBCPGKey.cs similarity index 100% rename from crypto/src/bcpg/ECSecretBCPGKey.cs rename to src/BouncyCastle/bcpg/ECSecretBCPGKey.cs diff --git a/crypto/src/bcpg/ElGamalPublicBcpgKey.cs b/src/BouncyCastle/bcpg/ElGamalPublicBcpgKey.cs similarity index 100% rename from crypto/src/bcpg/ElGamalPublicBcpgKey.cs rename to src/BouncyCastle/bcpg/ElGamalPublicBcpgKey.cs diff --git a/crypto/src/bcpg/ElGamalSecretBcpgKey.cs b/src/BouncyCastle/bcpg/ElGamalSecretBcpgKey.cs similarity index 100% rename from crypto/src/bcpg/ElGamalSecretBcpgKey.cs rename to src/BouncyCastle/bcpg/ElGamalSecretBcpgKey.cs diff --git a/crypto/src/bcpg/ExperimentalPacket.cs b/src/BouncyCastle/bcpg/ExperimentalPacket.cs similarity index 100% rename from crypto/src/bcpg/ExperimentalPacket.cs rename to src/BouncyCastle/bcpg/ExperimentalPacket.cs diff --git a/crypto/src/bcpg/HashAlgorithmTags.cs b/src/BouncyCastle/bcpg/HashAlgorithmTags.cs similarity index 100% rename from crypto/src/bcpg/HashAlgorithmTags.cs rename to src/BouncyCastle/bcpg/HashAlgorithmTags.cs diff --git a/crypto/src/bcpg/IBcpgKey.cs b/src/BouncyCastle/bcpg/IBcpgKey.cs similarity index 100% rename from crypto/src/bcpg/IBcpgKey.cs rename to src/BouncyCastle/bcpg/IBcpgKey.cs diff --git a/crypto/src/bcpg/InputStreamPacket.cs b/src/BouncyCastle/bcpg/InputStreamPacket.cs similarity index 100% rename from crypto/src/bcpg/InputStreamPacket.cs rename to src/BouncyCastle/bcpg/InputStreamPacket.cs diff --git a/crypto/src/bcpg/LiteralDataPacket.cs b/src/BouncyCastle/bcpg/LiteralDataPacket.cs similarity index 100% rename from crypto/src/bcpg/LiteralDataPacket.cs rename to src/BouncyCastle/bcpg/LiteralDataPacket.cs diff --git a/crypto/src/bcpg/MPInteger.cs b/src/BouncyCastle/bcpg/MPInteger.cs similarity index 100% rename from crypto/src/bcpg/MPInteger.cs rename to src/BouncyCastle/bcpg/MPInteger.cs diff --git a/crypto/src/bcpg/MarkerPacket.cs b/src/BouncyCastle/bcpg/MarkerPacket.cs similarity index 100% rename from crypto/src/bcpg/MarkerPacket.cs rename to src/BouncyCastle/bcpg/MarkerPacket.cs diff --git a/crypto/src/bcpg/ModDetectionCodePacket.cs b/src/BouncyCastle/bcpg/ModDetectionCodePacket.cs similarity index 100% rename from crypto/src/bcpg/ModDetectionCodePacket.cs rename to src/BouncyCastle/bcpg/ModDetectionCodePacket.cs diff --git a/crypto/src/bcpg/OnePassSignaturePacket.cs b/src/BouncyCastle/bcpg/OnePassSignaturePacket.cs similarity index 100% rename from crypto/src/bcpg/OnePassSignaturePacket.cs rename to src/BouncyCastle/bcpg/OnePassSignaturePacket.cs diff --git a/crypto/src/bcpg/OutputStreamPacket.cs b/src/BouncyCastle/bcpg/OutputStreamPacket.cs similarity index 100% rename from crypto/src/bcpg/OutputStreamPacket.cs rename to src/BouncyCastle/bcpg/OutputStreamPacket.cs diff --git a/crypto/src/bcpg/Packet.cs b/src/BouncyCastle/bcpg/Packet.cs similarity index 100% rename from crypto/src/bcpg/Packet.cs rename to src/BouncyCastle/bcpg/Packet.cs diff --git a/crypto/src/bcpg/PacketTags.cs b/src/BouncyCastle/bcpg/PacketTags.cs similarity index 100% rename from crypto/src/bcpg/PacketTags.cs rename to src/BouncyCastle/bcpg/PacketTags.cs diff --git a/crypto/src/bcpg/PublicKeyAlgorithmTags.cs b/src/BouncyCastle/bcpg/PublicKeyAlgorithmTags.cs similarity index 100% rename from crypto/src/bcpg/PublicKeyAlgorithmTags.cs rename to src/BouncyCastle/bcpg/PublicKeyAlgorithmTags.cs diff --git a/crypto/src/bcpg/PublicKeyEncSessionPacket.cs b/src/BouncyCastle/bcpg/PublicKeyEncSessionPacket.cs similarity index 100% rename from crypto/src/bcpg/PublicKeyEncSessionPacket.cs rename to src/BouncyCastle/bcpg/PublicKeyEncSessionPacket.cs diff --git a/crypto/src/bcpg/PublicKeyPacket.cs b/src/BouncyCastle/bcpg/PublicKeyPacket.cs similarity index 100% rename from crypto/src/bcpg/PublicKeyPacket.cs rename to src/BouncyCastle/bcpg/PublicKeyPacket.cs diff --git a/crypto/src/bcpg/PublicSubkeyPacket.cs b/src/BouncyCastle/bcpg/PublicSubkeyPacket.cs similarity index 100% rename from crypto/src/bcpg/PublicSubkeyPacket.cs rename to src/BouncyCastle/bcpg/PublicSubkeyPacket.cs diff --git a/crypto/src/bcpg/RsaPublicBcpgKey.cs b/src/BouncyCastle/bcpg/RsaPublicBcpgKey.cs similarity index 100% rename from crypto/src/bcpg/RsaPublicBcpgKey.cs rename to src/BouncyCastle/bcpg/RsaPublicBcpgKey.cs diff --git a/crypto/src/bcpg/RsaSecretBcpgKey.cs b/src/BouncyCastle/bcpg/RsaSecretBcpgKey.cs similarity index 100% rename from crypto/src/bcpg/RsaSecretBcpgKey.cs rename to src/BouncyCastle/bcpg/RsaSecretBcpgKey.cs diff --git a/crypto/src/bcpg/S2k.cs b/src/BouncyCastle/bcpg/S2k.cs similarity index 100% rename from crypto/src/bcpg/S2k.cs rename to src/BouncyCastle/bcpg/S2k.cs diff --git a/crypto/src/bcpg/SecretKeyPacket.cs b/src/BouncyCastle/bcpg/SecretKeyPacket.cs similarity index 100% rename from crypto/src/bcpg/SecretKeyPacket.cs rename to src/BouncyCastle/bcpg/SecretKeyPacket.cs diff --git a/crypto/src/bcpg/SecretSubkeyPacket.cs b/src/BouncyCastle/bcpg/SecretSubkeyPacket.cs similarity index 100% rename from crypto/src/bcpg/SecretSubkeyPacket.cs rename to src/BouncyCastle/bcpg/SecretSubkeyPacket.cs diff --git a/crypto/src/bcpg/SignaturePacket.cs b/src/BouncyCastle/bcpg/SignaturePacket.cs similarity index 100% rename from crypto/src/bcpg/SignaturePacket.cs rename to src/BouncyCastle/bcpg/SignaturePacket.cs diff --git a/crypto/src/bcpg/SignatureSubpacket.cs b/src/BouncyCastle/bcpg/SignatureSubpacket.cs similarity index 100% rename from crypto/src/bcpg/SignatureSubpacket.cs rename to src/BouncyCastle/bcpg/SignatureSubpacket.cs diff --git a/crypto/src/bcpg/SignatureSubpacketTags.cs b/src/BouncyCastle/bcpg/SignatureSubpacketTags.cs similarity index 100% rename from crypto/src/bcpg/SignatureSubpacketTags.cs rename to src/BouncyCastle/bcpg/SignatureSubpacketTags.cs diff --git a/crypto/src/bcpg/SignatureSubpacketsReader.cs b/src/BouncyCastle/bcpg/SignatureSubpacketsReader.cs similarity index 100% rename from crypto/src/bcpg/SignatureSubpacketsReader.cs rename to src/BouncyCastle/bcpg/SignatureSubpacketsReader.cs diff --git a/crypto/src/bcpg/SymmetricEncDataPacket.cs b/src/BouncyCastle/bcpg/SymmetricEncDataPacket.cs similarity index 100% rename from crypto/src/bcpg/SymmetricEncDataPacket.cs rename to src/BouncyCastle/bcpg/SymmetricEncDataPacket.cs diff --git a/crypto/src/bcpg/SymmetricEncIntegrityPacket.cs b/src/BouncyCastle/bcpg/SymmetricEncIntegrityPacket.cs similarity index 100% rename from crypto/src/bcpg/SymmetricEncIntegrityPacket.cs rename to src/BouncyCastle/bcpg/SymmetricEncIntegrityPacket.cs diff --git a/crypto/src/bcpg/SymmetricKeyAlgorithmTags.cs b/src/BouncyCastle/bcpg/SymmetricKeyAlgorithmTags.cs similarity index 100% rename from crypto/src/bcpg/SymmetricKeyAlgorithmTags.cs rename to src/BouncyCastle/bcpg/SymmetricKeyAlgorithmTags.cs diff --git a/crypto/src/bcpg/SymmetricKeyEncSessionPacket.cs b/src/BouncyCastle/bcpg/SymmetricKeyEncSessionPacket.cs similarity index 100% rename from crypto/src/bcpg/SymmetricKeyEncSessionPacket.cs rename to src/BouncyCastle/bcpg/SymmetricKeyEncSessionPacket.cs diff --git a/crypto/src/bcpg/TrustPacket.cs b/src/BouncyCastle/bcpg/TrustPacket.cs similarity index 100% rename from crypto/src/bcpg/TrustPacket.cs rename to src/BouncyCastle/bcpg/TrustPacket.cs diff --git a/crypto/src/bcpg/UserAttributePacket.cs b/src/BouncyCastle/bcpg/UserAttributePacket.cs similarity index 100% rename from crypto/src/bcpg/UserAttributePacket.cs rename to src/BouncyCastle/bcpg/UserAttributePacket.cs diff --git a/crypto/src/bcpg/UserAttributeSubpacket.cs b/src/BouncyCastle/bcpg/UserAttributeSubpacket.cs similarity index 100% rename from crypto/src/bcpg/UserAttributeSubpacket.cs rename to src/BouncyCastle/bcpg/UserAttributeSubpacket.cs diff --git a/crypto/src/bcpg/UserAttributeSubpacketTags.cs b/src/BouncyCastle/bcpg/UserAttributeSubpacketTags.cs similarity index 100% rename from crypto/src/bcpg/UserAttributeSubpacketTags.cs rename to src/BouncyCastle/bcpg/UserAttributeSubpacketTags.cs diff --git a/crypto/src/bcpg/UserAttributeSubpacketsReader.cs b/src/BouncyCastle/bcpg/UserAttributeSubpacketsReader.cs similarity index 100% rename from crypto/src/bcpg/UserAttributeSubpacketsReader.cs rename to src/BouncyCastle/bcpg/UserAttributeSubpacketsReader.cs diff --git a/crypto/src/bcpg/UserIdPacket.cs b/src/BouncyCastle/bcpg/UserIdPacket.cs similarity index 100% rename from crypto/src/bcpg/UserIdPacket.cs rename to src/BouncyCastle/bcpg/UserIdPacket.cs diff --git a/crypto/src/bcpg/attr/ImageAttrib.cs b/src/BouncyCastle/bcpg/attr/ImageAttrib.cs similarity index 100% rename from crypto/src/bcpg/attr/ImageAttrib.cs rename to src/BouncyCastle/bcpg/attr/ImageAttrib.cs diff --git a/crypto/src/bcpg/sig/EmbeddedSignature.cs b/src/BouncyCastle/bcpg/sig/EmbeddedSignature.cs similarity index 100% rename from crypto/src/bcpg/sig/EmbeddedSignature.cs rename to src/BouncyCastle/bcpg/sig/EmbeddedSignature.cs diff --git a/crypto/src/bcpg/sig/Exportable.cs b/src/BouncyCastle/bcpg/sig/Exportable.cs similarity index 100% rename from crypto/src/bcpg/sig/Exportable.cs rename to src/BouncyCastle/bcpg/sig/Exportable.cs diff --git a/crypto/src/bcpg/sig/Features.cs b/src/BouncyCastle/bcpg/sig/Features.cs similarity index 100% rename from crypto/src/bcpg/sig/Features.cs rename to src/BouncyCastle/bcpg/sig/Features.cs diff --git a/crypto/src/bcpg/sig/IssuerKeyId.cs b/src/BouncyCastle/bcpg/sig/IssuerKeyId.cs similarity index 100% rename from crypto/src/bcpg/sig/IssuerKeyId.cs rename to src/BouncyCastle/bcpg/sig/IssuerKeyId.cs diff --git a/crypto/src/bcpg/sig/KeyExpirationTime.cs b/src/BouncyCastle/bcpg/sig/KeyExpirationTime.cs similarity index 100% rename from crypto/src/bcpg/sig/KeyExpirationTime.cs rename to src/BouncyCastle/bcpg/sig/KeyExpirationTime.cs diff --git a/crypto/src/bcpg/sig/KeyFlags.cs b/src/BouncyCastle/bcpg/sig/KeyFlags.cs similarity index 100% rename from crypto/src/bcpg/sig/KeyFlags.cs rename to src/BouncyCastle/bcpg/sig/KeyFlags.cs diff --git a/crypto/src/bcpg/sig/NotationData.cs b/src/BouncyCastle/bcpg/sig/NotationData.cs similarity index 100% rename from crypto/src/bcpg/sig/NotationData.cs rename to src/BouncyCastle/bcpg/sig/NotationData.cs diff --git a/crypto/src/bcpg/sig/PreferredAlgorithms.cs b/src/BouncyCastle/bcpg/sig/PreferredAlgorithms.cs similarity index 100% rename from crypto/src/bcpg/sig/PreferredAlgorithms.cs rename to src/BouncyCastle/bcpg/sig/PreferredAlgorithms.cs diff --git a/crypto/src/bcpg/sig/PrimaryUserId.cs b/src/BouncyCastle/bcpg/sig/PrimaryUserId.cs similarity index 100% rename from crypto/src/bcpg/sig/PrimaryUserId.cs rename to src/BouncyCastle/bcpg/sig/PrimaryUserId.cs diff --git a/crypto/src/bcpg/sig/Revocable.cs b/src/BouncyCastle/bcpg/sig/Revocable.cs similarity index 100% rename from crypto/src/bcpg/sig/Revocable.cs rename to src/BouncyCastle/bcpg/sig/Revocable.cs diff --git a/crypto/src/bcpg/sig/RevocationKey.cs b/src/BouncyCastle/bcpg/sig/RevocationKey.cs similarity index 100% rename from crypto/src/bcpg/sig/RevocationKey.cs rename to src/BouncyCastle/bcpg/sig/RevocationKey.cs diff --git a/crypto/src/bcpg/sig/RevocationKeyTags.cs b/src/BouncyCastle/bcpg/sig/RevocationKeyTags.cs similarity index 100% rename from crypto/src/bcpg/sig/RevocationKeyTags.cs rename to src/BouncyCastle/bcpg/sig/RevocationKeyTags.cs diff --git a/crypto/src/bcpg/sig/RevocationReason.cs b/src/BouncyCastle/bcpg/sig/RevocationReason.cs similarity index 100% rename from crypto/src/bcpg/sig/RevocationReason.cs rename to src/BouncyCastle/bcpg/sig/RevocationReason.cs diff --git a/crypto/src/bcpg/sig/RevocationReasonTags.cs b/src/BouncyCastle/bcpg/sig/RevocationReasonTags.cs similarity index 100% rename from crypto/src/bcpg/sig/RevocationReasonTags.cs rename to src/BouncyCastle/bcpg/sig/RevocationReasonTags.cs diff --git a/crypto/src/bcpg/sig/SignatureCreationTime.cs b/src/BouncyCastle/bcpg/sig/SignatureCreationTime.cs similarity index 100% rename from crypto/src/bcpg/sig/SignatureCreationTime.cs rename to src/BouncyCastle/bcpg/sig/SignatureCreationTime.cs diff --git a/crypto/src/bcpg/sig/SignatureExpirationTime.cs b/src/BouncyCastle/bcpg/sig/SignatureExpirationTime.cs similarity index 100% rename from crypto/src/bcpg/sig/SignatureExpirationTime.cs rename to src/BouncyCastle/bcpg/sig/SignatureExpirationTime.cs diff --git a/crypto/src/bcpg/sig/SignerUserId.cs b/src/BouncyCastle/bcpg/sig/SignerUserId.cs similarity index 100% rename from crypto/src/bcpg/sig/SignerUserId.cs rename to src/BouncyCastle/bcpg/sig/SignerUserId.cs diff --git a/crypto/src/bcpg/sig/TrustSignature.cs b/src/BouncyCastle/bcpg/sig/TrustSignature.cs similarity index 100% rename from crypto/src/bcpg/sig/TrustSignature.cs rename to src/BouncyCastle/bcpg/sig/TrustSignature.cs diff --git a/crypto/bzip2/src/BZip2Constants.cs b/src/BouncyCastle/bzip2/src/BZip2Constants.cs similarity index 100% rename from crypto/bzip2/src/BZip2Constants.cs rename to src/BouncyCastle/bzip2/src/BZip2Constants.cs diff --git a/crypto/bzip2/src/CBZip2InputStream.cs b/src/BouncyCastle/bzip2/src/CBZip2InputStream.cs similarity index 100% rename from crypto/bzip2/src/CBZip2InputStream.cs rename to src/BouncyCastle/bzip2/src/CBZip2InputStream.cs diff --git a/crypto/bzip2/src/CBZip2OutputStream.cs b/src/BouncyCastle/bzip2/src/CBZip2OutputStream.cs similarity index 100% rename from crypto/bzip2/src/CBZip2OutputStream.cs rename to src/BouncyCastle/bzip2/src/CBZip2OutputStream.cs diff --git a/crypto/bzip2/src/CRC.cs b/src/BouncyCastle/bzip2/src/CRC.cs similarity index 100% rename from crypto/bzip2/src/CRC.cs rename to src/BouncyCastle/bzip2/src/CRC.cs diff --git a/crypto/checklist.txt b/src/BouncyCastle/checklist.txt similarity index 100% rename from crypto/checklist.txt rename to src/BouncyCastle/checklist.txt diff --git a/crypto/src/cms/BaseDigestCalculator.cs b/src/BouncyCastle/cms/BaseDigestCalculator.cs similarity index 100% rename from crypto/src/cms/BaseDigestCalculator.cs rename to src/BouncyCastle/cms/BaseDigestCalculator.cs diff --git a/crypto/src/cms/CMSAttributeTableGenerationException.cs b/src/BouncyCastle/cms/CMSAttributeTableGenerationException.cs similarity index 100% rename from crypto/src/cms/CMSAttributeTableGenerationException.cs rename to src/BouncyCastle/cms/CMSAttributeTableGenerationException.cs diff --git a/crypto/src/cms/CMSAttributeTableGenerator.cs b/src/BouncyCastle/cms/CMSAttributeTableGenerator.cs similarity index 100% rename from crypto/src/cms/CMSAttributeTableGenerator.cs rename to src/BouncyCastle/cms/CMSAttributeTableGenerator.cs diff --git a/crypto/src/cms/CMSAuthEnvelopedData.cs b/src/BouncyCastle/cms/CMSAuthEnvelopedData.cs similarity index 100% rename from crypto/src/cms/CMSAuthEnvelopedData.cs rename to src/BouncyCastle/cms/CMSAuthEnvelopedData.cs diff --git a/crypto/src/cms/CMSAuthEnvelopedGenerator.cs b/src/BouncyCastle/cms/CMSAuthEnvelopedGenerator.cs similarity index 100% rename from crypto/src/cms/CMSAuthEnvelopedGenerator.cs rename to src/BouncyCastle/cms/CMSAuthEnvelopedGenerator.cs diff --git a/crypto/src/cms/CMSAuthenticatedData.cs b/src/BouncyCastle/cms/CMSAuthenticatedData.cs similarity index 100% rename from crypto/src/cms/CMSAuthenticatedData.cs rename to src/BouncyCastle/cms/CMSAuthenticatedData.cs diff --git a/crypto/src/cms/CMSAuthenticatedDataGenerator.cs b/src/BouncyCastle/cms/CMSAuthenticatedDataGenerator.cs similarity index 100% rename from crypto/src/cms/CMSAuthenticatedDataGenerator.cs rename to src/BouncyCastle/cms/CMSAuthenticatedDataGenerator.cs diff --git a/crypto/src/cms/CMSAuthenticatedDataParser.cs b/src/BouncyCastle/cms/CMSAuthenticatedDataParser.cs similarity index 100% rename from crypto/src/cms/CMSAuthenticatedDataParser.cs rename to src/BouncyCastle/cms/CMSAuthenticatedDataParser.cs diff --git a/crypto/src/cms/CMSAuthenticatedDataStreamGenerator.cs b/src/BouncyCastle/cms/CMSAuthenticatedDataStreamGenerator.cs similarity index 100% rename from crypto/src/cms/CMSAuthenticatedDataStreamGenerator.cs rename to src/BouncyCastle/cms/CMSAuthenticatedDataStreamGenerator.cs diff --git a/crypto/src/cms/CMSAuthenticatedGenerator.cs b/src/BouncyCastle/cms/CMSAuthenticatedGenerator.cs similarity index 100% rename from crypto/src/cms/CMSAuthenticatedGenerator.cs rename to src/BouncyCastle/cms/CMSAuthenticatedGenerator.cs diff --git a/crypto/src/cms/CMSCompressedData.cs b/src/BouncyCastle/cms/CMSCompressedData.cs similarity index 100% rename from crypto/src/cms/CMSCompressedData.cs rename to src/BouncyCastle/cms/CMSCompressedData.cs diff --git a/crypto/src/cms/CMSCompressedDataGenerator.cs b/src/BouncyCastle/cms/CMSCompressedDataGenerator.cs similarity index 100% rename from crypto/src/cms/CMSCompressedDataGenerator.cs rename to src/BouncyCastle/cms/CMSCompressedDataGenerator.cs diff --git a/crypto/src/cms/CMSCompressedDataParser.cs b/src/BouncyCastle/cms/CMSCompressedDataParser.cs similarity index 100% rename from crypto/src/cms/CMSCompressedDataParser.cs rename to src/BouncyCastle/cms/CMSCompressedDataParser.cs diff --git a/crypto/src/cms/CMSCompressedDataStreamGenerator.cs b/src/BouncyCastle/cms/CMSCompressedDataStreamGenerator.cs similarity index 100% rename from crypto/src/cms/CMSCompressedDataStreamGenerator.cs rename to src/BouncyCastle/cms/CMSCompressedDataStreamGenerator.cs diff --git a/crypto/src/cms/CMSContentInfoParser.cs b/src/BouncyCastle/cms/CMSContentInfoParser.cs similarity index 100% rename from crypto/src/cms/CMSContentInfoParser.cs rename to src/BouncyCastle/cms/CMSContentInfoParser.cs diff --git a/crypto/src/cms/CMSEnvelopedData.cs b/src/BouncyCastle/cms/CMSEnvelopedData.cs similarity index 100% rename from crypto/src/cms/CMSEnvelopedData.cs rename to src/BouncyCastle/cms/CMSEnvelopedData.cs diff --git a/crypto/src/cms/CMSEnvelopedDataGenerator.cs b/src/BouncyCastle/cms/CMSEnvelopedDataGenerator.cs similarity index 100% rename from crypto/src/cms/CMSEnvelopedDataGenerator.cs rename to src/BouncyCastle/cms/CMSEnvelopedDataGenerator.cs diff --git a/crypto/src/cms/CMSEnvelopedDataParser.cs b/src/BouncyCastle/cms/CMSEnvelopedDataParser.cs similarity index 100% rename from crypto/src/cms/CMSEnvelopedDataParser.cs rename to src/BouncyCastle/cms/CMSEnvelopedDataParser.cs diff --git a/crypto/src/cms/CMSEnvelopedDataStreamGenerator.cs b/src/BouncyCastle/cms/CMSEnvelopedDataStreamGenerator.cs similarity index 100% rename from crypto/src/cms/CMSEnvelopedDataStreamGenerator.cs rename to src/BouncyCastle/cms/CMSEnvelopedDataStreamGenerator.cs diff --git a/crypto/src/cms/CMSEnvelopedGenerator.cs b/src/BouncyCastle/cms/CMSEnvelopedGenerator.cs similarity index 100% rename from crypto/src/cms/CMSEnvelopedGenerator.cs rename to src/BouncyCastle/cms/CMSEnvelopedGenerator.cs diff --git a/crypto/src/cms/CMSEnvelopedHelper.cs b/src/BouncyCastle/cms/CMSEnvelopedHelper.cs similarity index 100% rename from crypto/src/cms/CMSEnvelopedHelper.cs rename to src/BouncyCastle/cms/CMSEnvelopedHelper.cs diff --git a/crypto/src/cms/CMSException.cs b/src/BouncyCastle/cms/CMSException.cs similarity index 100% rename from crypto/src/cms/CMSException.cs rename to src/BouncyCastle/cms/CMSException.cs diff --git a/crypto/src/cms/CMSPBEKey.cs b/src/BouncyCastle/cms/CMSPBEKey.cs similarity index 100% rename from crypto/src/cms/CMSPBEKey.cs rename to src/BouncyCastle/cms/CMSPBEKey.cs diff --git a/crypto/src/cms/CMSProcessable.cs b/src/BouncyCastle/cms/CMSProcessable.cs similarity index 100% rename from crypto/src/cms/CMSProcessable.cs rename to src/BouncyCastle/cms/CMSProcessable.cs diff --git a/crypto/src/cms/CMSProcessableByteArray.cs b/src/BouncyCastle/cms/CMSProcessableByteArray.cs similarity index 100% rename from crypto/src/cms/CMSProcessableByteArray.cs rename to src/BouncyCastle/cms/CMSProcessableByteArray.cs diff --git a/crypto/src/cms/CMSProcessableFile.cs b/src/BouncyCastle/cms/CMSProcessableFile.cs similarity index 100% rename from crypto/src/cms/CMSProcessableFile.cs rename to src/BouncyCastle/cms/CMSProcessableFile.cs diff --git a/crypto/src/cms/CMSProcessableInputStream.cs b/src/BouncyCastle/cms/CMSProcessableInputStream.cs similarity index 100% rename from crypto/src/cms/CMSProcessableInputStream.cs rename to src/BouncyCastle/cms/CMSProcessableInputStream.cs diff --git a/crypto/src/cms/CMSReadable.cs b/src/BouncyCastle/cms/CMSReadable.cs similarity index 100% rename from crypto/src/cms/CMSReadable.cs rename to src/BouncyCastle/cms/CMSReadable.cs diff --git a/crypto/src/cms/CMSSecureReadable.cs b/src/BouncyCastle/cms/CMSSecureReadable.cs similarity index 100% rename from crypto/src/cms/CMSSecureReadable.cs rename to src/BouncyCastle/cms/CMSSecureReadable.cs diff --git a/crypto/src/cms/CMSSignedData.cs b/src/BouncyCastle/cms/CMSSignedData.cs similarity index 100% rename from crypto/src/cms/CMSSignedData.cs rename to src/BouncyCastle/cms/CMSSignedData.cs diff --git a/crypto/src/cms/CMSSignedDataGenerator.cs b/src/BouncyCastle/cms/CMSSignedDataGenerator.cs similarity index 100% rename from crypto/src/cms/CMSSignedDataGenerator.cs rename to src/BouncyCastle/cms/CMSSignedDataGenerator.cs diff --git a/crypto/src/cms/CMSSignedDataParser.cs b/src/BouncyCastle/cms/CMSSignedDataParser.cs similarity index 100% rename from crypto/src/cms/CMSSignedDataParser.cs rename to src/BouncyCastle/cms/CMSSignedDataParser.cs diff --git a/crypto/src/cms/CMSSignedDataStreamGenerator.cs b/src/BouncyCastle/cms/CMSSignedDataStreamGenerator.cs similarity index 100% rename from crypto/src/cms/CMSSignedDataStreamGenerator.cs rename to src/BouncyCastle/cms/CMSSignedDataStreamGenerator.cs diff --git a/crypto/src/cms/CMSSignedGenerator.cs b/src/BouncyCastle/cms/CMSSignedGenerator.cs similarity index 100% rename from crypto/src/cms/CMSSignedGenerator.cs rename to src/BouncyCastle/cms/CMSSignedGenerator.cs diff --git a/crypto/src/cms/CMSSignedHelper.cs b/src/BouncyCastle/cms/CMSSignedHelper.cs similarity index 100% rename from crypto/src/cms/CMSSignedHelper.cs rename to src/BouncyCastle/cms/CMSSignedHelper.cs diff --git a/crypto/src/cms/CMSStreamException.cs b/src/BouncyCastle/cms/CMSStreamException.cs similarity index 100% rename from crypto/src/cms/CMSStreamException.cs rename to src/BouncyCastle/cms/CMSStreamException.cs diff --git a/crypto/src/cms/CMSTypedStream.cs b/src/BouncyCastle/cms/CMSTypedStream.cs similarity index 100% rename from crypto/src/cms/CMSTypedStream.cs rename to src/BouncyCastle/cms/CMSTypedStream.cs diff --git a/crypto/src/cms/CMSUtils.cs b/src/BouncyCastle/cms/CMSUtils.cs similarity index 100% rename from crypto/src/cms/CMSUtils.cs rename to src/BouncyCastle/cms/CMSUtils.cs diff --git a/crypto/src/cms/CounterSignatureDigestCalculator.cs b/src/BouncyCastle/cms/CounterSignatureDigestCalculator.cs similarity index 100% rename from crypto/src/cms/CounterSignatureDigestCalculator.cs rename to src/BouncyCastle/cms/CounterSignatureDigestCalculator.cs diff --git a/crypto/src/cms/DefaultAuthenticatedAttributeTableGenerator.cs b/src/BouncyCastle/cms/DefaultAuthenticatedAttributeTableGenerator.cs similarity index 100% rename from crypto/src/cms/DefaultAuthenticatedAttributeTableGenerator.cs rename to src/BouncyCastle/cms/DefaultAuthenticatedAttributeTableGenerator.cs diff --git a/crypto/src/cms/DefaultSignedAttributeTableGenerator.cs b/src/BouncyCastle/cms/DefaultSignedAttributeTableGenerator.cs similarity index 100% rename from crypto/src/cms/DefaultSignedAttributeTableGenerator.cs rename to src/BouncyCastle/cms/DefaultSignedAttributeTableGenerator.cs diff --git a/crypto/src/cms/IDigestCalculator.cs b/src/BouncyCastle/cms/IDigestCalculator.cs similarity index 100% rename from crypto/src/cms/IDigestCalculator.cs rename to src/BouncyCastle/cms/IDigestCalculator.cs diff --git a/crypto/src/cms/KEKRecipientInfoGenerator.cs b/src/BouncyCastle/cms/KEKRecipientInfoGenerator.cs similarity index 100% rename from crypto/src/cms/KEKRecipientInfoGenerator.cs rename to src/BouncyCastle/cms/KEKRecipientInfoGenerator.cs diff --git a/crypto/src/cms/KEKRecipientInformation.cs b/src/BouncyCastle/cms/KEKRecipientInformation.cs similarity index 100% rename from crypto/src/cms/KEKRecipientInformation.cs rename to src/BouncyCastle/cms/KEKRecipientInformation.cs diff --git a/crypto/src/cms/KeyAgreeRecipientInfoGenerator.cs b/src/BouncyCastle/cms/KeyAgreeRecipientInfoGenerator.cs similarity index 100% rename from crypto/src/cms/KeyAgreeRecipientInfoGenerator.cs rename to src/BouncyCastle/cms/KeyAgreeRecipientInfoGenerator.cs diff --git a/crypto/src/cms/KeyAgreeRecipientInformation.cs b/src/BouncyCastle/cms/KeyAgreeRecipientInformation.cs similarity index 100% rename from crypto/src/cms/KeyAgreeRecipientInformation.cs rename to src/BouncyCastle/cms/KeyAgreeRecipientInformation.cs diff --git a/crypto/src/cms/KeyTransRecipientInfoGenerator.cs b/src/BouncyCastle/cms/KeyTransRecipientInfoGenerator.cs similarity index 100% rename from crypto/src/cms/KeyTransRecipientInfoGenerator.cs rename to src/BouncyCastle/cms/KeyTransRecipientInfoGenerator.cs diff --git a/crypto/src/cms/KeyTransRecipientInformation.cs b/src/BouncyCastle/cms/KeyTransRecipientInformation.cs similarity index 100% rename from crypto/src/cms/KeyTransRecipientInformation.cs rename to src/BouncyCastle/cms/KeyTransRecipientInformation.cs diff --git a/crypto/src/cms/OriginatorId.cs b/src/BouncyCastle/cms/OriginatorId.cs similarity index 100% rename from crypto/src/cms/OriginatorId.cs rename to src/BouncyCastle/cms/OriginatorId.cs diff --git a/crypto/src/cms/OriginatorInfoGenerator.cs b/src/BouncyCastle/cms/OriginatorInfoGenerator.cs similarity index 100% rename from crypto/src/cms/OriginatorInfoGenerator.cs rename to src/BouncyCastle/cms/OriginatorInfoGenerator.cs diff --git a/crypto/src/cms/OriginatorInformation.cs b/src/BouncyCastle/cms/OriginatorInformation.cs similarity index 100% rename from crypto/src/cms/OriginatorInformation.cs rename to src/BouncyCastle/cms/OriginatorInformation.cs diff --git a/crypto/src/cms/PKCS5Scheme2PBEKey.cs b/src/BouncyCastle/cms/PKCS5Scheme2PBEKey.cs similarity index 100% rename from crypto/src/cms/PKCS5Scheme2PBEKey.cs rename to src/BouncyCastle/cms/PKCS5Scheme2PBEKey.cs diff --git a/crypto/src/cms/PKCS5Scheme2UTF8PBEKey.cs b/src/BouncyCastle/cms/PKCS5Scheme2UTF8PBEKey.cs similarity index 100% rename from crypto/src/cms/PKCS5Scheme2UTF8PBEKey.cs rename to src/BouncyCastle/cms/PKCS5Scheme2UTF8PBEKey.cs diff --git a/crypto/src/cms/PasswordRecipientInfoGenerator.cs b/src/BouncyCastle/cms/PasswordRecipientInfoGenerator.cs similarity index 100% rename from crypto/src/cms/PasswordRecipientInfoGenerator.cs rename to src/BouncyCastle/cms/PasswordRecipientInfoGenerator.cs diff --git a/crypto/src/cms/PasswordRecipientInformation.cs b/src/BouncyCastle/cms/PasswordRecipientInformation.cs similarity index 100% rename from crypto/src/cms/PasswordRecipientInformation.cs rename to src/BouncyCastle/cms/PasswordRecipientInformation.cs diff --git a/crypto/src/cms/RecipientId.cs b/src/BouncyCastle/cms/RecipientId.cs similarity index 100% rename from crypto/src/cms/RecipientId.cs rename to src/BouncyCastle/cms/RecipientId.cs diff --git a/crypto/src/cms/RecipientInfoGenerator.cs b/src/BouncyCastle/cms/RecipientInfoGenerator.cs similarity index 100% rename from crypto/src/cms/RecipientInfoGenerator.cs rename to src/BouncyCastle/cms/RecipientInfoGenerator.cs diff --git a/crypto/src/cms/RecipientInformation.cs b/src/BouncyCastle/cms/RecipientInformation.cs similarity index 100% rename from crypto/src/cms/RecipientInformation.cs rename to src/BouncyCastle/cms/RecipientInformation.cs diff --git a/crypto/src/cms/RecipientInformationStore.cs b/src/BouncyCastle/cms/RecipientInformationStore.cs similarity index 100% rename from crypto/src/cms/RecipientInformationStore.cs rename to src/BouncyCastle/cms/RecipientInformationStore.cs diff --git a/crypto/src/cms/SignerId.cs b/src/BouncyCastle/cms/SignerId.cs similarity index 100% rename from crypto/src/cms/SignerId.cs rename to src/BouncyCastle/cms/SignerId.cs diff --git a/crypto/src/cms/SignerInfoGenerator.cs b/src/BouncyCastle/cms/SignerInfoGenerator.cs similarity index 100% rename from crypto/src/cms/SignerInfoGenerator.cs rename to src/BouncyCastle/cms/SignerInfoGenerator.cs diff --git a/crypto/src/cms/SignerInformation.cs b/src/BouncyCastle/cms/SignerInformation.cs similarity index 100% rename from crypto/src/cms/SignerInformation.cs rename to src/BouncyCastle/cms/SignerInformation.cs diff --git a/crypto/src/cms/SignerInformationStore.cs b/src/BouncyCastle/cms/SignerInformationStore.cs similarity index 100% rename from crypto/src/cms/SignerInformationStore.cs rename to src/BouncyCastle/cms/SignerInformationStore.cs diff --git a/crypto/src/cms/SimpleAttributeTableGenerator.cs b/src/BouncyCastle/cms/SimpleAttributeTableGenerator.cs similarity index 100% rename from crypto/src/cms/SimpleAttributeTableGenerator.cs rename to src/BouncyCastle/cms/SimpleAttributeTableGenerator.cs diff --git a/crypto/src/crypto/AsymmetricCipherKeyPair.cs b/src/BouncyCastle/crypto/AsymmetricCipherKeyPair.cs similarity index 100% rename from crypto/src/crypto/AsymmetricCipherKeyPair.cs rename to src/BouncyCastle/crypto/AsymmetricCipherKeyPair.cs diff --git a/crypto/src/crypto/AsymmetricKeyParameter.cs b/src/BouncyCastle/crypto/AsymmetricKeyParameter.cs similarity index 100% rename from crypto/src/crypto/AsymmetricKeyParameter.cs rename to src/BouncyCastle/crypto/AsymmetricKeyParameter.cs diff --git a/crypto/src/crypto/BufferedAeadBlockCipher.cs b/src/BouncyCastle/crypto/BufferedAeadBlockCipher.cs similarity index 100% rename from crypto/src/crypto/BufferedAeadBlockCipher.cs rename to src/BouncyCastle/crypto/BufferedAeadBlockCipher.cs diff --git a/crypto/src/crypto/BufferedAsymmetricBlockCipher.cs b/src/BouncyCastle/crypto/BufferedAsymmetricBlockCipher.cs similarity index 100% rename from crypto/src/crypto/BufferedAsymmetricBlockCipher.cs rename to src/BouncyCastle/crypto/BufferedAsymmetricBlockCipher.cs diff --git a/crypto/src/crypto/BufferedBlockCipher.cs b/src/BouncyCastle/crypto/BufferedBlockCipher.cs similarity index 100% rename from crypto/src/crypto/BufferedBlockCipher.cs rename to src/BouncyCastle/crypto/BufferedBlockCipher.cs diff --git a/crypto/src/crypto/BufferedCipherBase.cs b/src/BouncyCastle/crypto/BufferedCipherBase.cs similarity index 100% rename from crypto/src/crypto/BufferedCipherBase.cs rename to src/BouncyCastle/crypto/BufferedCipherBase.cs diff --git a/crypto/src/crypto/BufferedIesCipher.cs b/src/BouncyCastle/crypto/BufferedIesCipher.cs similarity index 100% rename from crypto/src/crypto/BufferedIesCipher.cs rename to src/BouncyCastle/crypto/BufferedIesCipher.cs diff --git a/crypto/src/crypto/BufferedStreamCipher.cs b/src/BouncyCastle/crypto/BufferedStreamCipher.cs similarity index 100% rename from crypto/src/crypto/BufferedStreamCipher.cs rename to src/BouncyCastle/crypto/BufferedStreamCipher.cs diff --git a/crypto/src/crypto/Check.cs b/src/BouncyCastle/crypto/Check.cs similarity index 100% rename from crypto/src/crypto/Check.cs rename to src/BouncyCastle/crypto/Check.cs diff --git a/crypto/src/crypto/CipherKeyGenerator.cs b/src/BouncyCastle/crypto/CipherKeyGenerator.cs similarity index 100% rename from crypto/src/crypto/CipherKeyGenerator.cs rename to src/BouncyCastle/crypto/CipherKeyGenerator.cs diff --git a/crypto/src/crypto/CryptoException.cs b/src/BouncyCastle/crypto/CryptoException.cs similarity index 100% rename from crypto/src/crypto/CryptoException.cs rename to src/BouncyCastle/crypto/CryptoException.cs diff --git a/crypto/src/crypto/DataLengthException.cs b/src/BouncyCastle/crypto/DataLengthException.cs similarity index 100% rename from crypto/src/crypto/DataLengthException.cs rename to src/BouncyCastle/crypto/DataLengthException.cs diff --git a/crypto/src/crypto/IAsymmetricBlockCipher.cs b/src/BouncyCastle/crypto/IAsymmetricBlockCipher.cs similarity index 100% rename from crypto/src/crypto/IAsymmetricBlockCipher.cs rename to src/BouncyCastle/crypto/IAsymmetricBlockCipher.cs diff --git a/crypto/src/crypto/IAsymmetricCipherKeyPairGenerator.cs b/src/BouncyCastle/crypto/IAsymmetricCipherKeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/IAsymmetricCipherKeyPairGenerator.cs rename to src/BouncyCastle/crypto/IAsymmetricCipherKeyPairGenerator.cs diff --git a/crypto/src/crypto/IBasicAgreement.cs b/src/BouncyCastle/crypto/IBasicAgreement.cs similarity index 100% rename from crypto/src/crypto/IBasicAgreement.cs rename to src/BouncyCastle/crypto/IBasicAgreement.cs diff --git a/crypto/src/crypto/IBlockCipher.cs b/src/BouncyCastle/crypto/IBlockCipher.cs similarity index 100% rename from crypto/src/crypto/IBlockCipher.cs rename to src/BouncyCastle/crypto/IBlockCipher.cs diff --git a/crypto/src/crypto/IBlockResult.cs b/src/BouncyCastle/crypto/IBlockResult.cs similarity index 100% rename from crypto/src/crypto/IBlockResult.cs rename to src/BouncyCastle/crypto/IBlockResult.cs diff --git a/crypto/src/crypto/IBufferedCipher.cs b/src/BouncyCastle/crypto/IBufferedCipher.cs similarity index 100% rename from crypto/src/crypto/IBufferedCipher.cs rename to src/BouncyCastle/crypto/IBufferedCipher.cs diff --git a/crypto/src/crypto/ICipherParameters.cs b/src/BouncyCastle/crypto/ICipherParameters.cs similarity index 100% rename from crypto/src/crypto/ICipherParameters.cs rename to src/BouncyCastle/crypto/ICipherParameters.cs diff --git a/crypto/src/crypto/IDSA.cs b/src/BouncyCastle/crypto/IDSA.cs similarity index 100% rename from crypto/src/crypto/IDSA.cs rename to src/BouncyCastle/crypto/IDSA.cs diff --git a/crypto/src/crypto/IDerivationFunction.cs b/src/BouncyCastle/crypto/IDerivationFunction.cs similarity index 100% rename from crypto/src/crypto/IDerivationFunction.cs rename to src/BouncyCastle/crypto/IDerivationFunction.cs diff --git a/crypto/src/crypto/IDerivationParameters.cs b/src/BouncyCastle/crypto/IDerivationParameters.cs similarity index 100% rename from crypto/src/crypto/IDerivationParameters.cs rename to src/BouncyCastle/crypto/IDerivationParameters.cs diff --git a/crypto/src/crypto/IDigest.cs b/src/BouncyCastle/crypto/IDigest.cs similarity index 100% rename from crypto/src/crypto/IDigest.cs rename to src/BouncyCastle/crypto/IDigest.cs diff --git a/crypto/src/crypto/IDsaExt.cs b/src/BouncyCastle/crypto/IDsaExt.cs similarity index 100% rename from crypto/src/crypto/IDsaExt.cs rename to src/BouncyCastle/crypto/IDsaExt.cs diff --git a/crypto/src/crypto/IEntropySource.cs b/src/BouncyCastle/crypto/IEntropySource.cs similarity index 100% rename from crypto/src/crypto/IEntropySource.cs rename to src/BouncyCastle/crypto/IEntropySource.cs diff --git a/crypto/src/crypto/IEntropySourceProvider.cs b/src/BouncyCastle/crypto/IEntropySourceProvider.cs similarity index 100% rename from crypto/src/crypto/IEntropySourceProvider.cs rename to src/BouncyCastle/crypto/IEntropySourceProvider.cs diff --git a/crypto/src/crypto/IMac.cs b/src/BouncyCastle/crypto/IMac.cs similarity index 100% rename from crypto/src/crypto/IMac.cs rename to src/BouncyCastle/crypto/IMac.cs diff --git a/crypto/src/crypto/IRawAgreement.cs b/src/BouncyCastle/crypto/IRawAgreement.cs similarity index 100% rename from crypto/src/crypto/IRawAgreement.cs rename to src/BouncyCastle/crypto/IRawAgreement.cs diff --git a/crypto/src/crypto/IRsa.cs b/src/BouncyCastle/crypto/IRsa.cs similarity index 100% rename from crypto/src/crypto/IRsa.cs rename to src/BouncyCastle/crypto/IRsa.cs diff --git a/crypto/src/crypto/ISignatureFactory.cs b/src/BouncyCastle/crypto/ISignatureFactory.cs similarity index 100% rename from crypto/src/crypto/ISignatureFactory.cs rename to src/BouncyCastle/crypto/ISignatureFactory.cs diff --git a/crypto/src/crypto/ISigner.cs b/src/BouncyCastle/crypto/ISigner.cs similarity index 100% rename from crypto/src/crypto/ISigner.cs rename to src/BouncyCastle/crypto/ISigner.cs diff --git a/crypto/src/crypto/ISignerWithRecovery.cs b/src/BouncyCastle/crypto/ISignerWithRecovery.cs similarity index 100% rename from crypto/src/crypto/ISignerWithRecovery.cs rename to src/BouncyCastle/crypto/ISignerWithRecovery.cs diff --git a/crypto/src/crypto/IStreamCalculator.cs b/src/BouncyCastle/crypto/IStreamCalculator.cs similarity index 100% rename from crypto/src/crypto/IStreamCalculator.cs rename to src/BouncyCastle/crypto/IStreamCalculator.cs diff --git a/crypto/src/crypto/IStreamCipher.cs b/src/BouncyCastle/crypto/IStreamCipher.cs similarity index 100% rename from crypto/src/crypto/IStreamCipher.cs rename to src/BouncyCastle/crypto/IStreamCipher.cs diff --git a/crypto/src/crypto/IVerifier.cs b/src/BouncyCastle/crypto/IVerifier.cs similarity index 100% rename from crypto/src/crypto/IVerifier.cs rename to src/BouncyCastle/crypto/IVerifier.cs diff --git a/crypto/src/crypto/IVerifierFactory.cs b/src/BouncyCastle/crypto/IVerifierFactory.cs similarity index 100% rename from crypto/src/crypto/IVerifierFactory.cs rename to src/BouncyCastle/crypto/IVerifierFactory.cs diff --git a/crypto/src/crypto/IVerifierFactoryProvider.cs b/src/BouncyCastle/crypto/IVerifierFactoryProvider.cs similarity index 100% rename from crypto/src/crypto/IVerifierFactoryProvider.cs rename to src/BouncyCastle/crypto/IVerifierFactoryProvider.cs diff --git a/crypto/src/crypto/IWrapper.cs b/src/BouncyCastle/crypto/IWrapper.cs similarity index 100% rename from crypto/src/crypto/IWrapper.cs rename to src/BouncyCastle/crypto/IWrapper.cs diff --git a/crypto/src/crypto/IXof.cs b/src/BouncyCastle/crypto/IXof.cs similarity index 100% rename from crypto/src/crypto/IXof.cs rename to src/BouncyCastle/crypto/IXof.cs diff --git a/crypto/src/crypto/InvalidCipherTextException.cs b/src/BouncyCastle/crypto/InvalidCipherTextException.cs similarity index 100% rename from crypto/src/crypto/InvalidCipherTextException.cs rename to src/BouncyCastle/crypto/InvalidCipherTextException.cs diff --git a/crypto/src/crypto/KeyGenerationParameters.cs b/src/BouncyCastle/crypto/KeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/KeyGenerationParameters.cs rename to src/BouncyCastle/crypto/KeyGenerationParameters.cs diff --git a/crypto/src/crypto/MaxBytesExceededException.cs b/src/BouncyCastle/crypto/MaxBytesExceededException.cs similarity index 100% rename from crypto/src/crypto/MaxBytesExceededException.cs rename to src/BouncyCastle/crypto/MaxBytesExceededException.cs diff --git a/crypto/src/crypto/OutputLengthException.cs b/src/BouncyCastle/crypto/OutputLengthException.cs similarity index 100% rename from crypto/src/crypto/OutputLengthException.cs rename to src/BouncyCastle/crypto/OutputLengthException.cs diff --git a/crypto/src/crypto/PbeParametersGenerator.cs b/src/BouncyCastle/crypto/PbeParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/PbeParametersGenerator.cs rename to src/BouncyCastle/crypto/PbeParametersGenerator.cs diff --git a/crypto/src/crypto/StreamBlockCipher.cs b/src/BouncyCastle/crypto/StreamBlockCipher.cs similarity index 100% rename from crypto/src/crypto/StreamBlockCipher.cs rename to src/BouncyCastle/crypto/StreamBlockCipher.cs diff --git a/crypto/src/crypto/agreement/DHAgreement.cs b/src/BouncyCastle/crypto/agreement/DHAgreement.cs similarity index 100% rename from crypto/src/crypto/agreement/DHAgreement.cs rename to src/BouncyCastle/crypto/agreement/DHAgreement.cs diff --git a/crypto/src/crypto/agreement/DHBasicAgreement.cs b/src/BouncyCastle/crypto/agreement/DHBasicAgreement.cs similarity index 100% rename from crypto/src/crypto/agreement/DHBasicAgreement.cs rename to src/BouncyCastle/crypto/agreement/DHBasicAgreement.cs diff --git a/crypto/src/crypto/agreement/DHStandardGroups.cs b/src/BouncyCastle/crypto/agreement/DHStandardGroups.cs similarity index 100% rename from crypto/src/crypto/agreement/DHStandardGroups.cs rename to src/BouncyCastle/crypto/agreement/DHStandardGroups.cs diff --git a/crypto/src/crypto/agreement/ECDHBasicAgreement.cs b/src/BouncyCastle/crypto/agreement/ECDHBasicAgreement.cs similarity index 100% rename from crypto/src/crypto/agreement/ECDHBasicAgreement.cs rename to src/BouncyCastle/crypto/agreement/ECDHBasicAgreement.cs diff --git a/crypto/src/crypto/agreement/ECDHCBasicAgreement.cs b/src/BouncyCastle/crypto/agreement/ECDHCBasicAgreement.cs similarity index 100% rename from crypto/src/crypto/agreement/ECDHCBasicAgreement.cs rename to src/BouncyCastle/crypto/agreement/ECDHCBasicAgreement.cs diff --git a/crypto/src/crypto/agreement/ECDHWithKdfBasicAgreement.cs b/src/BouncyCastle/crypto/agreement/ECDHWithKdfBasicAgreement.cs similarity index 100% rename from crypto/src/crypto/agreement/ECDHWithKdfBasicAgreement.cs rename to src/BouncyCastle/crypto/agreement/ECDHWithKdfBasicAgreement.cs diff --git a/crypto/src/crypto/agreement/ECMqvBasicAgreement.cs b/src/BouncyCastle/crypto/agreement/ECMqvBasicAgreement.cs similarity index 100% rename from crypto/src/crypto/agreement/ECMqvBasicAgreement.cs rename to src/BouncyCastle/crypto/agreement/ECMqvBasicAgreement.cs diff --git a/crypto/src/crypto/agreement/ECMqvWithKdfBasicAgreement.cs b/src/BouncyCastle/crypto/agreement/ECMqvWithKdfBasicAgreement.cs similarity index 100% rename from crypto/src/crypto/agreement/ECMqvWithKdfBasicAgreement.cs rename to src/BouncyCastle/crypto/agreement/ECMqvWithKdfBasicAgreement.cs diff --git a/crypto/src/crypto/agreement/SM2KeyExchange.cs b/src/BouncyCastle/crypto/agreement/SM2KeyExchange.cs similarity index 100% rename from crypto/src/crypto/agreement/SM2KeyExchange.cs rename to src/BouncyCastle/crypto/agreement/SM2KeyExchange.cs diff --git a/crypto/src/crypto/agreement/X25519Agreement.cs b/src/BouncyCastle/crypto/agreement/X25519Agreement.cs similarity index 100% rename from crypto/src/crypto/agreement/X25519Agreement.cs rename to src/BouncyCastle/crypto/agreement/X25519Agreement.cs diff --git a/crypto/src/crypto/agreement/X448Agreement.cs b/src/BouncyCastle/crypto/agreement/X448Agreement.cs similarity index 100% rename from crypto/src/crypto/agreement/X448Agreement.cs rename to src/BouncyCastle/crypto/agreement/X448Agreement.cs diff --git a/crypto/src/crypto/agreement/jpake/JPakeParticipant.cs b/src/BouncyCastle/crypto/agreement/jpake/JPakeParticipant.cs old mode 100755 new mode 100644 similarity index 100% rename from crypto/src/crypto/agreement/jpake/JPakeParticipant.cs rename to src/BouncyCastle/crypto/agreement/jpake/JPakeParticipant.cs diff --git a/crypto/src/crypto/agreement/jpake/JPakePrimeOrderGroup.cs b/src/BouncyCastle/crypto/agreement/jpake/JPakePrimeOrderGroup.cs old mode 100755 new mode 100644 similarity index 100% rename from crypto/src/crypto/agreement/jpake/JPakePrimeOrderGroup.cs rename to src/BouncyCastle/crypto/agreement/jpake/JPakePrimeOrderGroup.cs diff --git a/crypto/src/crypto/agreement/jpake/JPakePrimeOrderGroups.cs b/src/BouncyCastle/crypto/agreement/jpake/JPakePrimeOrderGroups.cs old mode 100755 new mode 100644 similarity index 100% rename from crypto/src/crypto/agreement/jpake/JPakePrimeOrderGroups.cs rename to src/BouncyCastle/crypto/agreement/jpake/JPakePrimeOrderGroups.cs diff --git a/crypto/src/crypto/agreement/jpake/JPakeRound1Payload.cs b/src/BouncyCastle/crypto/agreement/jpake/JPakeRound1Payload.cs old mode 100755 new mode 100644 similarity index 100% rename from crypto/src/crypto/agreement/jpake/JPakeRound1Payload.cs rename to src/BouncyCastle/crypto/agreement/jpake/JPakeRound1Payload.cs diff --git a/crypto/src/crypto/agreement/jpake/JPakeRound2Payload.cs b/src/BouncyCastle/crypto/agreement/jpake/JPakeRound2Payload.cs old mode 100755 new mode 100644 similarity index 100% rename from crypto/src/crypto/agreement/jpake/JPakeRound2Payload.cs rename to src/BouncyCastle/crypto/agreement/jpake/JPakeRound2Payload.cs diff --git a/crypto/src/crypto/agreement/jpake/JPakeRound3Payload.cs b/src/BouncyCastle/crypto/agreement/jpake/JPakeRound3Payload.cs old mode 100755 new mode 100644 similarity index 100% rename from crypto/src/crypto/agreement/jpake/JPakeRound3Payload.cs rename to src/BouncyCastle/crypto/agreement/jpake/JPakeRound3Payload.cs diff --git a/crypto/src/crypto/agreement/jpake/JPakeUtilities.cs b/src/BouncyCastle/crypto/agreement/jpake/JPakeUtilities.cs similarity index 100% rename from crypto/src/crypto/agreement/jpake/JPakeUtilities.cs rename to src/BouncyCastle/crypto/agreement/jpake/JPakeUtilities.cs diff --git a/crypto/src/crypto/agreement/kdf/ConcatenationKdfGenerator.cs b/src/BouncyCastle/crypto/agreement/kdf/ConcatenationKdfGenerator.cs similarity index 100% rename from crypto/src/crypto/agreement/kdf/ConcatenationKdfGenerator.cs rename to src/BouncyCastle/crypto/agreement/kdf/ConcatenationKdfGenerator.cs diff --git a/crypto/src/crypto/agreement/kdf/DHKdfParameters.cs b/src/BouncyCastle/crypto/agreement/kdf/DHKdfParameters.cs similarity index 100% rename from crypto/src/crypto/agreement/kdf/DHKdfParameters.cs rename to src/BouncyCastle/crypto/agreement/kdf/DHKdfParameters.cs diff --git a/crypto/src/crypto/agreement/kdf/DHKekGenerator.cs b/src/BouncyCastle/crypto/agreement/kdf/DHKekGenerator.cs similarity index 100% rename from crypto/src/crypto/agreement/kdf/DHKekGenerator.cs rename to src/BouncyCastle/crypto/agreement/kdf/DHKekGenerator.cs diff --git a/crypto/src/crypto/agreement/kdf/ECDHKekGenerator.cs b/src/BouncyCastle/crypto/agreement/kdf/ECDHKekGenerator.cs similarity index 100% rename from crypto/src/crypto/agreement/kdf/ECDHKekGenerator.cs rename to src/BouncyCastle/crypto/agreement/kdf/ECDHKekGenerator.cs diff --git a/crypto/src/crypto/agreement/srp/SRP6Client.cs b/src/BouncyCastle/crypto/agreement/srp/SRP6Client.cs similarity index 100% rename from crypto/src/crypto/agreement/srp/SRP6Client.cs rename to src/BouncyCastle/crypto/agreement/srp/SRP6Client.cs diff --git a/crypto/src/crypto/agreement/srp/SRP6Server.cs b/src/BouncyCastle/crypto/agreement/srp/SRP6Server.cs similarity index 100% rename from crypto/src/crypto/agreement/srp/SRP6Server.cs rename to src/BouncyCastle/crypto/agreement/srp/SRP6Server.cs diff --git a/crypto/src/crypto/agreement/srp/SRP6StandardGroups.cs b/src/BouncyCastle/crypto/agreement/srp/SRP6StandardGroups.cs similarity index 100% rename from crypto/src/crypto/agreement/srp/SRP6StandardGroups.cs rename to src/BouncyCastle/crypto/agreement/srp/SRP6StandardGroups.cs diff --git a/crypto/src/crypto/agreement/srp/SRP6Utilities.cs b/src/BouncyCastle/crypto/agreement/srp/SRP6Utilities.cs similarity index 100% rename from crypto/src/crypto/agreement/srp/SRP6Utilities.cs rename to src/BouncyCastle/crypto/agreement/srp/SRP6Utilities.cs diff --git a/crypto/src/crypto/agreement/srp/SRP6VerifierGenerator.cs b/src/BouncyCastle/crypto/agreement/srp/SRP6VerifierGenerator.cs similarity index 100% rename from crypto/src/crypto/agreement/srp/SRP6VerifierGenerator.cs rename to src/BouncyCastle/crypto/agreement/srp/SRP6VerifierGenerator.cs diff --git a/crypto/src/crypto/digests/Blake2bDigest.cs b/src/BouncyCastle/crypto/digests/Blake2bDigest.cs similarity index 100% rename from crypto/src/crypto/digests/Blake2bDigest.cs rename to src/BouncyCastle/crypto/digests/Blake2bDigest.cs diff --git a/crypto/src/crypto/digests/Blake2sDigest.cs b/src/BouncyCastle/crypto/digests/Blake2sDigest.cs similarity index 100% rename from crypto/src/crypto/digests/Blake2sDigest.cs rename to src/BouncyCastle/crypto/digests/Blake2sDigest.cs diff --git a/crypto/src/crypto/digests/DSTU7564Digest.cs b/src/BouncyCastle/crypto/digests/DSTU7564Digest.cs similarity index 100% rename from crypto/src/crypto/digests/DSTU7564Digest.cs rename to src/BouncyCastle/crypto/digests/DSTU7564Digest.cs diff --git a/crypto/src/crypto/digests/GOST3411Digest.cs b/src/BouncyCastle/crypto/digests/GOST3411Digest.cs similarity index 100% rename from crypto/src/crypto/digests/GOST3411Digest.cs rename to src/BouncyCastle/crypto/digests/GOST3411Digest.cs diff --git a/crypto/src/crypto/digests/GOST3411_2012Digest.cs b/src/BouncyCastle/crypto/digests/GOST3411_2012Digest.cs similarity index 100% rename from crypto/src/crypto/digests/GOST3411_2012Digest.cs rename to src/BouncyCastle/crypto/digests/GOST3411_2012Digest.cs diff --git a/crypto/src/crypto/digests/GOST3411_2012_256Digest.cs b/src/BouncyCastle/crypto/digests/GOST3411_2012_256Digest.cs similarity index 100% rename from crypto/src/crypto/digests/GOST3411_2012_256Digest.cs rename to src/BouncyCastle/crypto/digests/GOST3411_2012_256Digest.cs diff --git a/crypto/src/crypto/digests/GOST3411_2012_512Digest.cs b/src/BouncyCastle/crypto/digests/GOST3411_2012_512Digest.cs similarity index 100% rename from crypto/src/crypto/digests/GOST3411_2012_512Digest.cs rename to src/BouncyCastle/crypto/digests/GOST3411_2012_512Digest.cs diff --git a/crypto/src/crypto/digests/GeneralDigest.cs b/src/BouncyCastle/crypto/digests/GeneralDigest.cs similarity index 100% rename from crypto/src/crypto/digests/GeneralDigest.cs rename to src/BouncyCastle/crypto/digests/GeneralDigest.cs diff --git a/crypto/src/crypto/digests/KeccakDigest.cs b/src/BouncyCastle/crypto/digests/KeccakDigest.cs similarity index 100% rename from crypto/src/crypto/digests/KeccakDigest.cs rename to src/BouncyCastle/crypto/digests/KeccakDigest.cs diff --git a/crypto/src/crypto/digests/LongDigest.cs b/src/BouncyCastle/crypto/digests/LongDigest.cs similarity index 100% rename from crypto/src/crypto/digests/LongDigest.cs rename to src/BouncyCastle/crypto/digests/LongDigest.cs diff --git a/crypto/src/crypto/digests/MD2Digest.cs b/src/BouncyCastle/crypto/digests/MD2Digest.cs similarity index 100% rename from crypto/src/crypto/digests/MD2Digest.cs rename to src/BouncyCastle/crypto/digests/MD2Digest.cs diff --git a/crypto/src/crypto/digests/MD4Digest.cs b/src/BouncyCastle/crypto/digests/MD4Digest.cs similarity index 100% rename from crypto/src/crypto/digests/MD4Digest.cs rename to src/BouncyCastle/crypto/digests/MD4Digest.cs diff --git a/crypto/src/crypto/digests/MD5Digest.cs b/src/BouncyCastle/crypto/digests/MD5Digest.cs similarity index 100% rename from crypto/src/crypto/digests/MD5Digest.cs rename to src/BouncyCastle/crypto/digests/MD5Digest.cs diff --git a/crypto/src/crypto/digests/NonMemoableDigest.cs b/src/BouncyCastle/crypto/digests/NonMemoableDigest.cs similarity index 100% rename from crypto/src/crypto/digests/NonMemoableDigest.cs rename to src/BouncyCastle/crypto/digests/NonMemoableDigest.cs diff --git a/crypto/src/crypto/digests/NullDigest.cs b/src/BouncyCastle/crypto/digests/NullDigest.cs similarity index 100% rename from crypto/src/crypto/digests/NullDigest.cs rename to src/BouncyCastle/crypto/digests/NullDigest.cs diff --git a/crypto/src/crypto/digests/RipeMD128Digest.cs b/src/BouncyCastle/crypto/digests/RipeMD128Digest.cs similarity index 100% rename from crypto/src/crypto/digests/RipeMD128Digest.cs rename to src/BouncyCastle/crypto/digests/RipeMD128Digest.cs diff --git a/crypto/src/crypto/digests/RipeMD160Digest.cs b/src/BouncyCastle/crypto/digests/RipeMD160Digest.cs similarity index 100% rename from crypto/src/crypto/digests/RipeMD160Digest.cs rename to src/BouncyCastle/crypto/digests/RipeMD160Digest.cs diff --git a/crypto/src/crypto/digests/RipeMD256Digest.cs b/src/BouncyCastle/crypto/digests/RipeMD256Digest.cs similarity index 100% rename from crypto/src/crypto/digests/RipeMD256Digest.cs rename to src/BouncyCastle/crypto/digests/RipeMD256Digest.cs diff --git a/crypto/src/crypto/digests/RipeMD320Digest.cs b/src/BouncyCastle/crypto/digests/RipeMD320Digest.cs similarity index 100% rename from crypto/src/crypto/digests/RipeMD320Digest.cs rename to src/BouncyCastle/crypto/digests/RipeMD320Digest.cs diff --git a/crypto/src/crypto/digests/SHA3Digest.cs b/src/BouncyCastle/crypto/digests/SHA3Digest.cs similarity index 100% rename from crypto/src/crypto/digests/SHA3Digest.cs rename to src/BouncyCastle/crypto/digests/SHA3Digest.cs diff --git a/crypto/src/crypto/digests/SM3Digest.cs b/src/BouncyCastle/crypto/digests/SM3Digest.cs similarity index 100% rename from crypto/src/crypto/digests/SM3Digest.cs rename to src/BouncyCastle/crypto/digests/SM3Digest.cs diff --git a/crypto/src/crypto/digests/Sha1Digest.cs b/src/BouncyCastle/crypto/digests/Sha1Digest.cs similarity index 100% rename from crypto/src/crypto/digests/Sha1Digest.cs rename to src/BouncyCastle/crypto/digests/Sha1Digest.cs diff --git a/crypto/src/crypto/digests/Sha224Digest.cs b/src/BouncyCastle/crypto/digests/Sha224Digest.cs similarity index 100% rename from crypto/src/crypto/digests/Sha224Digest.cs rename to src/BouncyCastle/crypto/digests/Sha224Digest.cs diff --git a/crypto/src/crypto/digests/Sha256Digest.cs b/src/BouncyCastle/crypto/digests/Sha256Digest.cs similarity index 100% rename from crypto/src/crypto/digests/Sha256Digest.cs rename to src/BouncyCastle/crypto/digests/Sha256Digest.cs diff --git a/crypto/src/crypto/digests/Sha384Digest.cs b/src/BouncyCastle/crypto/digests/Sha384Digest.cs similarity index 100% rename from crypto/src/crypto/digests/Sha384Digest.cs rename to src/BouncyCastle/crypto/digests/Sha384Digest.cs diff --git a/crypto/src/crypto/digests/Sha512Digest.cs b/src/BouncyCastle/crypto/digests/Sha512Digest.cs similarity index 100% rename from crypto/src/crypto/digests/Sha512Digest.cs rename to src/BouncyCastle/crypto/digests/Sha512Digest.cs diff --git a/crypto/src/crypto/digests/Sha512tDigest.cs b/src/BouncyCastle/crypto/digests/Sha512tDigest.cs similarity index 100% rename from crypto/src/crypto/digests/Sha512tDigest.cs rename to src/BouncyCastle/crypto/digests/Sha512tDigest.cs diff --git a/crypto/src/crypto/digests/ShakeDigest.cs b/src/BouncyCastle/crypto/digests/ShakeDigest.cs similarity index 100% rename from crypto/src/crypto/digests/ShakeDigest.cs rename to src/BouncyCastle/crypto/digests/ShakeDigest.cs diff --git a/crypto/src/crypto/digests/ShortenedDigest.cs b/src/BouncyCastle/crypto/digests/ShortenedDigest.cs similarity index 100% rename from crypto/src/crypto/digests/ShortenedDigest.cs rename to src/BouncyCastle/crypto/digests/ShortenedDigest.cs diff --git a/crypto/src/crypto/digests/SkeinDigest.cs b/src/BouncyCastle/crypto/digests/SkeinDigest.cs similarity index 100% rename from crypto/src/crypto/digests/SkeinDigest.cs rename to src/BouncyCastle/crypto/digests/SkeinDigest.cs diff --git a/crypto/src/crypto/digests/SkeinEngine.cs b/src/BouncyCastle/crypto/digests/SkeinEngine.cs similarity index 100% rename from crypto/src/crypto/digests/SkeinEngine.cs rename to src/BouncyCastle/crypto/digests/SkeinEngine.cs diff --git a/crypto/src/crypto/digests/TigerDigest.cs b/src/BouncyCastle/crypto/digests/TigerDigest.cs similarity index 100% rename from crypto/src/crypto/digests/TigerDigest.cs rename to src/BouncyCastle/crypto/digests/TigerDigest.cs diff --git a/crypto/src/crypto/digests/WhirlpoolDigest.cs b/src/BouncyCastle/crypto/digests/WhirlpoolDigest.cs similarity index 100% rename from crypto/src/crypto/digests/WhirlpoolDigest.cs rename to src/BouncyCastle/crypto/digests/WhirlpoolDigest.cs diff --git a/crypto/src/crypto/ec/CustomNamedCurves.cs b/src/BouncyCastle/crypto/ec/CustomNamedCurves.cs similarity index 100% rename from crypto/src/crypto/ec/CustomNamedCurves.cs rename to src/BouncyCastle/crypto/ec/CustomNamedCurves.cs diff --git a/crypto/src/crypto/encodings/ISO9796d1Encoding.cs b/src/BouncyCastle/crypto/encodings/ISO9796d1Encoding.cs similarity index 100% rename from crypto/src/crypto/encodings/ISO9796d1Encoding.cs rename to src/BouncyCastle/crypto/encodings/ISO9796d1Encoding.cs diff --git a/crypto/src/crypto/encodings/OaepEncoding.cs b/src/BouncyCastle/crypto/encodings/OaepEncoding.cs similarity index 100% rename from crypto/src/crypto/encodings/OaepEncoding.cs rename to src/BouncyCastle/crypto/encodings/OaepEncoding.cs diff --git a/crypto/src/crypto/encodings/Pkcs1Encoding.cs b/src/BouncyCastle/crypto/encodings/Pkcs1Encoding.cs similarity index 100% rename from crypto/src/crypto/encodings/Pkcs1Encoding.cs rename to src/BouncyCastle/crypto/encodings/Pkcs1Encoding.cs diff --git a/crypto/src/crypto/engines/AesEngine.cs b/src/BouncyCastle/crypto/engines/AesEngine.cs similarity index 100% rename from crypto/src/crypto/engines/AesEngine.cs rename to src/BouncyCastle/crypto/engines/AesEngine.cs diff --git a/crypto/src/crypto/engines/AesFastEngine.cs b/src/BouncyCastle/crypto/engines/AesFastEngine.cs similarity index 100% rename from crypto/src/crypto/engines/AesFastEngine.cs rename to src/BouncyCastle/crypto/engines/AesFastEngine.cs diff --git a/crypto/src/crypto/engines/AesLightEngine.cs b/src/BouncyCastle/crypto/engines/AesLightEngine.cs similarity index 100% rename from crypto/src/crypto/engines/AesLightEngine.cs rename to src/BouncyCastle/crypto/engines/AesLightEngine.cs diff --git a/crypto/src/crypto/engines/AesWrapEngine.cs b/src/BouncyCastle/crypto/engines/AesWrapEngine.cs similarity index 100% rename from crypto/src/crypto/engines/AesWrapEngine.cs rename to src/BouncyCastle/crypto/engines/AesWrapEngine.cs diff --git a/crypto/src/crypto/engines/BlowfishEngine.cs b/src/BouncyCastle/crypto/engines/BlowfishEngine.cs similarity index 100% rename from crypto/src/crypto/engines/BlowfishEngine.cs rename to src/BouncyCastle/crypto/engines/BlowfishEngine.cs diff --git a/crypto/src/crypto/engines/CamelliaEngine.cs b/src/BouncyCastle/crypto/engines/CamelliaEngine.cs similarity index 100% rename from crypto/src/crypto/engines/CamelliaEngine.cs rename to src/BouncyCastle/crypto/engines/CamelliaEngine.cs diff --git a/crypto/src/crypto/engines/CamelliaLightEngine.cs b/src/BouncyCastle/crypto/engines/CamelliaLightEngine.cs similarity index 100% rename from crypto/src/crypto/engines/CamelliaLightEngine.cs rename to src/BouncyCastle/crypto/engines/CamelliaLightEngine.cs diff --git a/crypto/src/crypto/engines/CamelliaWrapEngine.cs b/src/BouncyCastle/crypto/engines/CamelliaWrapEngine.cs similarity index 100% rename from crypto/src/crypto/engines/CamelliaWrapEngine.cs rename to src/BouncyCastle/crypto/engines/CamelliaWrapEngine.cs diff --git a/crypto/src/crypto/engines/Cast5Engine.cs b/src/BouncyCastle/crypto/engines/Cast5Engine.cs similarity index 100% rename from crypto/src/crypto/engines/Cast5Engine.cs rename to src/BouncyCastle/crypto/engines/Cast5Engine.cs diff --git a/crypto/src/crypto/engines/Cast6Engine.cs b/src/BouncyCastle/crypto/engines/Cast6Engine.cs similarity index 100% rename from crypto/src/crypto/engines/Cast6Engine.cs rename to src/BouncyCastle/crypto/engines/Cast6Engine.cs diff --git a/crypto/src/crypto/engines/ChaCha7539Engine.cs b/src/BouncyCastle/crypto/engines/ChaCha7539Engine.cs similarity index 100% rename from crypto/src/crypto/engines/ChaCha7539Engine.cs rename to src/BouncyCastle/crypto/engines/ChaCha7539Engine.cs diff --git a/crypto/src/crypto/engines/ChaChaEngine.cs b/src/BouncyCastle/crypto/engines/ChaChaEngine.cs similarity index 100% rename from crypto/src/crypto/engines/ChaChaEngine.cs rename to src/BouncyCastle/crypto/engines/ChaChaEngine.cs diff --git a/crypto/src/crypto/engines/DesEdeEngine.cs b/src/BouncyCastle/crypto/engines/DesEdeEngine.cs similarity index 100% rename from crypto/src/crypto/engines/DesEdeEngine.cs rename to src/BouncyCastle/crypto/engines/DesEdeEngine.cs diff --git a/crypto/src/crypto/engines/DesEdeWrapEngine.cs b/src/BouncyCastle/crypto/engines/DesEdeWrapEngine.cs similarity index 100% rename from crypto/src/crypto/engines/DesEdeWrapEngine.cs rename to src/BouncyCastle/crypto/engines/DesEdeWrapEngine.cs diff --git a/crypto/src/crypto/engines/DesEngine.cs b/src/BouncyCastle/crypto/engines/DesEngine.cs similarity index 100% rename from crypto/src/crypto/engines/DesEngine.cs rename to src/BouncyCastle/crypto/engines/DesEngine.cs diff --git a/crypto/src/crypto/engines/Dstu7624Engine.cs b/src/BouncyCastle/crypto/engines/Dstu7624Engine.cs similarity index 100% rename from crypto/src/crypto/engines/Dstu7624Engine.cs rename to src/BouncyCastle/crypto/engines/Dstu7624Engine.cs diff --git a/crypto/src/crypto/engines/Dstu7624WrapEngine.cs b/src/BouncyCastle/crypto/engines/Dstu7624WrapEngine.cs similarity index 100% rename from crypto/src/crypto/engines/Dstu7624WrapEngine.cs rename to src/BouncyCastle/crypto/engines/Dstu7624WrapEngine.cs diff --git a/crypto/src/crypto/engines/ElGamalEngine.cs b/src/BouncyCastle/crypto/engines/ElGamalEngine.cs similarity index 100% rename from crypto/src/crypto/engines/ElGamalEngine.cs rename to src/BouncyCastle/crypto/engines/ElGamalEngine.cs diff --git a/crypto/src/crypto/engines/GOST28147Engine.cs b/src/BouncyCastle/crypto/engines/GOST28147Engine.cs similarity index 100% rename from crypto/src/crypto/engines/GOST28147Engine.cs rename to src/BouncyCastle/crypto/engines/GOST28147Engine.cs diff --git a/crypto/src/crypto/engines/HC128Engine.cs b/src/BouncyCastle/crypto/engines/HC128Engine.cs similarity index 100% rename from crypto/src/crypto/engines/HC128Engine.cs rename to src/BouncyCastle/crypto/engines/HC128Engine.cs diff --git a/crypto/src/crypto/engines/HC256Engine.cs b/src/BouncyCastle/crypto/engines/HC256Engine.cs similarity index 100% rename from crypto/src/crypto/engines/HC256Engine.cs rename to src/BouncyCastle/crypto/engines/HC256Engine.cs diff --git a/crypto/src/crypto/engines/ISAACEngine.cs b/src/BouncyCastle/crypto/engines/ISAACEngine.cs similarity index 100% rename from crypto/src/crypto/engines/ISAACEngine.cs rename to src/BouncyCastle/crypto/engines/ISAACEngine.cs diff --git a/crypto/src/crypto/engines/IdeaEngine.cs b/src/BouncyCastle/crypto/engines/IdeaEngine.cs similarity index 100% rename from crypto/src/crypto/engines/IdeaEngine.cs rename to src/BouncyCastle/crypto/engines/IdeaEngine.cs diff --git a/crypto/src/crypto/engines/IesEngine.cs b/src/BouncyCastle/crypto/engines/IesEngine.cs similarity index 100% rename from crypto/src/crypto/engines/IesEngine.cs rename to src/BouncyCastle/crypto/engines/IesEngine.cs diff --git a/crypto/src/crypto/engines/NaccacheSternEngine.cs b/src/BouncyCastle/crypto/engines/NaccacheSternEngine.cs similarity index 100% rename from crypto/src/crypto/engines/NaccacheSternEngine.cs rename to src/BouncyCastle/crypto/engines/NaccacheSternEngine.cs diff --git a/crypto/src/crypto/engines/NoekeonEngine.cs b/src/BouncyCastle/crypto/engines/NoekeonEngine.cs similarity index 100% rename from crypto/src/crypto/engines/NoekeonEngine.cs rename to src/BouncyCastle/crypto/engines/NoekeonEngine.cs diff --git a/crypto/src/crypto/engines/NullEngine.cs b/src/BouncyCastle/crypto/engines/NullEngine.cs similarity index 100% rename from crypto/src/crypto/engines/NullEngine.cs rename to src/BouncyCastle/crypto/engines/NullEngine.cs diff --git a/crypto/src/crypto/engines/RC2Engine.cs b/src/BouncyCastle/crypto/engines/RC2Engine.cs similarity index 100% rename from crypto/src/crypto/engines/RC2Engine.cs rename to src/BouncyCastle/crypto/engines/RC2Engine.cs diff --git a/crypto/src/crypto/engines/RC2WrapEngine.cs b/src/BouncyCastle/crypto/engines/RC2WrapEngine.cs similarity index 100% rename from crypto/src/crypto/engines/RC2WrapEngine.cs rename to src/BouncyCastle/crypto/engines/RC2WrapEngine.cs diff --git a/crypto/src/crypto/engines/RC4Engine.cs b/src/BouncyCastle/crypto/engines/RC4Engine.cs similarity index 100% rename from crypto/src/crypto/engines/RC4Engine.cs rename to src/BouncyCastle/crypto/engines/RC4Engine.cs diff --git a/crypto/src/crypto/engines/RC532Engine.cs b/src/BouncyCastle/crypto/engines/RC532Engine.cs similarity index 100% rename from crypto/src/crypto/engines/RC532Engine.cs rename to src/BouncyCastle/crypto/engines/RC532Engine.cs diff --git a/crypto/src/crypto/engines/RC564Engine.cs b/src/BouncyCastle/crypto/engines/RC564Engine.cs similarity index 100% rename from crypto/src/crypto/engines/RC564Engine.cs rename to src/BouncyCastle/crypto/engines/RC564Engine.cs diff --git a/crypto/src/crypto/engines/RC6Engine.cs b/src/BouncyCastle/crypto/engines/RC6Engine.cs similarity index 100% rename from crypto/src/crypto/engines/RC6Engine.cs rename to src/BouncyCastle/crypto/engines/RC6Engine.cs diff --git a/crypto/src/crypto/engines/RFC3211WrapEngine.cs b/src/BouncyCastle/crypto/engines/RFC3211WrapEngine.cs similarity index 100% rename from crypto/src/crypto/engines/RFC3211WrapEngine.cs rename to src/BouncyCastle/crypto/engines/RFC3211WrapEngine.cs diff --git a/crypto/src/crypto/engines/RFC3394WrapEngine.cs b/src/BouncyCastle/crypto/engines/RFC3394WrapEngine.cs similarity index 100% rename from crypto/src/crypto/engines/RFC3394WrapEngine.cs rename to src/BouncyCastle/crypto/engines/RFC3394WrapEngine.cs diff --git a/crypto/src/crypto/engines/RSABlindedEngine.cs b/src/BouncyCastle/crypto/engines/RSABlindedEngine.cs similarity index 100% rename from crypto/src/crypto/engines/RSABlindedEngine.cs rename to src/BouncyCastle/crypto/engines/RSABlindedEngine.cs diff --git a/crypto/src/crypto/engines/RSABlindingEngine.cs b/src/BouncyCastle/crypto/engines/RSABlindingEngine.cs similarity index 100% rename from crypto/src/crypto/engines/RSABlindingEngine.cs rename to src/BouncyCastle/crypto/engines/RSABlindingEngine.cs diff --git a/crypto/src/crypto/engines/RSACoreEngine.cs b/src/BouncyCastle/crypto/engines/RSACoreEngine.cs similarity index 100% rename from crypto/src/crypto/engines/RSACoreEngine.cs rename to src/BouncyCastle/crypto/engines/RSACoreEngine.cs diff --git a/crypto/src/crypto/engines/RijndaelEngine.cs b/src/BouncyCastle/crypto/engines/RijndaelEngine.cs similarity index 100% rename from crypto/src/crypto/engines/RijndaelEngine.cs rename to src/BouncyCastle/crypto/engines/RijndaelEngine.cs diff --git a/crypto/src/crypto/engines/RsaEngine.cs b/src/BouncyCastle/crypto/engines/RsaEngine.cs similarity index 100% rename from crypto/src/crypto/engines/RsaEngine.cs rename to src/BouncyCastle/crypto/engines/RsaEngine.cs diff --git a/crypto/src/crypto/engines/SEEDEngine.cs b/src/BouncyCastle/crypto/engines/SEEDEngine.cs similarity index 100% rename from crypto/src/crypto/engines/SEEDEngine.cs rename to src/BouncyCastle/crypto/engines/SEEDEngine.cs diff --git a/crypto/src/crypto/engines/SEEDWrapEngine.cs b/src/BouncyCastle/crypto/engines/SEEDWrapEngine.cs similarity index 100% rename from crypto/src/crypto/engines/SEEDWrapEngine.cs rename to src/BouncyCastle/crypto/engines/SEEDWrapEngine.cs diff --git a/crypto/src/crypto/engines/SM2Engine.cs b/src/BouncyCastle/crypto/engines/SM2Engine.cs similarity index 100% rename from crypto/src/crypto/engines/SM2Engine.cs rename to src/BouncyCastle/crypto/engines/SM2Engine.cs diff --git a/crypto/src/crypto/engines/SM4Engine.cs b/src/BouncyCastle/crypto/engines/SM4Engine.cs similarity index 100% rename from crypto/src/crypto/engines/SM4Engine.cs rename to src/BouncyCastle/crypto/engines/SM4Engine.cs diff --git a/crypto/src/crypto/engines/Salsa20Engine.cs b/src/BouncyCastle/crypto/engines/Salsa20Engine.cs similarity index 100% rename from crypto/src/crypto/engines/Salsa20Engine.cs rename to src/BouncyCastle/crypto/engines/Salsa20Engine.cs diff --git a/crypto/src/crypto/engines/SerpentEngine.cs b/src/BouncyCastle/crypto/engines/SerpentEngine.cs similarity index 100% rename from crypto/src/crypto/engines/SerpentEngine.cs rename to src/BouncyCastle/crypto/engines/SerpentEngine.cs diff --git a/crypto/src/crypto/engines/SerpentEngineBase.cs b/src/BouncyCastle/crypto/engines/SerpentEngineBase.cs similarity index 100% rename from crypto/src/crypto/engines/SerpentEngineBase.cs rename to src/BouncyCastle/crypto/engines/SerpentEngineBase.cs diff --git a/crypto/src/crypto/engines/SkipjackEngine.cs b/src/BouncyCastle/crypto/engines/SkipjackEngine.cs similarity index 100% rename from crypto/src/crypto/engines/SkipjackEngine.cs rename to src/BouncyCastle/crypto/engines/SkipjackEngine.cs diff --git a/crypto/src/crypto/engines/TEAEngine.cs b/src/BouncyCastle/crypto/engines/TEAEngine.cs similarity index 100% rename from crypto/src/crypto/engines/TEAEngine.cs rename to src/BouncyCastle/crypto/engines/TEAEngine.cs diff --git a/crypto/src/crypto/engines/ThreefishEngine.cs b/src/BouncyCastle/crypto/engines/ThreefishEngine.cs similarity index 100% rename from crypto/src/crypto/engines/ThreefishEngine.cs rename to src/BouncyCastle/crypto/engines/ThreefishEngine.cs diff --git a/crypto/src/crypto/engines/TnepresEngine.cs b/src/BouncyCastle/crypto/engines/TnepresEngine.cs similarity index 100% rename from crypto/src/crypto/engines/TnepresEngine.cs rename to src/BouncyCastle/crypto/engines/TnepresEngine.cs diff --git a/crypto/src/crypto/engines/TwofishEngine.cs b/src/BouncyCastle/crypto/engines/TwofishEngine.cs similarity index 100% rename from crypto/src/crypto/engines/TwofishEngine.cs rename to src/BouncyCastle/crypto/engines/TwofishEngine.cs diff --git a/crypto/src/crypto/engines/VMPCEngine.cs b/src/BouncyCastle/crypto/engines/VMPCEngine.cs similarity index 100% rename from crypto/src/crypto/engines/VMPCEngine.cs rename to src/BouncyCastle/crypto/engines/VMPCEngine.cs diff --git a/crypto/src/crypto/engines/VMPCKSA3Engine.cs b/src/BouncyCastle/crypto/engines/VMPCKSA3Engine.cs similarity index 100% rename from crypto/src/crypto/engines/VMPCKSA3Engine.cs rename to src/BouncyCastle/crypto/engines/VMPCKSA3Engine.cs diff --git a/crypto/src/crypto/engines/XSalsa20Engine.cs b/src/BouncyCastle/crypto/engines/XSalsa20Engine.cs similarity index 100% rename from crypto/src/crypto/engines/XSalsa20Engine.cs rename to src/BouncyCastle/crypto/engines/XSalsa20Engine.cs diff --git a/crypto/src/crypto/engines/XTEAEngine.cs b/src/BouncyCastle/crypto/engines/XTEAEngine.cs similarity index 100% rename from crypto/src/crypto/engines/XTEAEngine.cs rename to src/BouncyCastle/crypto/engines/XTEAEngine.cs diff --git a/crypto/src/crypto/generators/BCrypt.cs b/src/BouncyCastle/crypto/generators/BCrypt.cs similarity index 100% rename from crypto/src/crypto/generators/BCrypt.cs rename to src/BouncyCastle/crypto/generators/BCrypt.cs diff --git a/crypto/src/crypto/generators/BaseKdfBytesGenerator.cs b/src/BouncyCastle/crypto/generators/BaseKdfBytesGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/BaseKdfBytesGenerator.cs rename to src/BouncyCastle/crypto/generators/BaseKdfBytesGenerator.cs diff --git a/crypto/src/crypto/generators/DHBasicKeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/DHBasicKeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/DHBasicKeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/DHBasicKeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/DHKeyGeneratorHelper.cs b/src/BouncyCastle/crypto/generators/DHKeyGeneratorHelper.cs similarity index 100% rename from crypto/src/crypto/generators/DHKeyGeneratorHelper.cs rename to src/BouncyCastle/crypto/generators/DHKeyGeneratorHelper.cs diff --git a/crypto/src/crypto/generators/DHKeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/DHKeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/DHKeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/DHKeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/DHParametersGenerator.cs b/src/BouncyCastle/crypto/generators/DHParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/DHParametersGenerator.cs rename to src/BouncyCastle/crypto/generators/DHParametersGenerator.cs diff --git a/crypto/src/crypto/generators/DHParametersHelper.cs b/src/BouncyCastle/crypto/generators/DHParametersHelper.cs similarity index 100% rename from crypto/src/crypto/generators/DHParametersHelper.cs rename to src/BouncyCastle/crypto/generators/DHParametersHelper.cs diff --git a/crypto/src/crypto/generators/DesEdeKeyGenerator.cs b/src/BouncyCastle/crypto/generators/DesEdeKeyGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/DesEdeKeyGenerator.cs rename to src/BouncyCastle/crypto/generators/DesEdeKeyGenerator.cs diff --git a/crypto/src/crypto/generators/DesKeyGenerator.cs b/src/BouncyCastle/crypto/generators/DesKeyGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/DesKeyGenerator.cs rename to src/BouncyCastle/crypto/generators/DesKeyGenerator.cs diff --git a/crypto/src/crypto/generators/DsaKeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/DsaKeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/DsaKeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/DsaKeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/DsaParametersGenerator.cs b/src/BouncyCastle/crypto/generators/DsaParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/DsaParametersGenerator.cs rename to src/BouncyCastle/crypto/generators/DsaParametersGenerator.cs diff --git a/crypto/src/crypto/generators/ECKeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/ECKeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/ECKeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/ECKeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/Ed25519KeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/Ed25519KeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Ed25519KeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/Ed25519KeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/Ed448KeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/Ed448KeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Ed448KeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/Ed448KeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/ElGamalKeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/ElGamalKeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/ElGamalKeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/ElGamalKeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/ElGamalParametersGenerator.cs b/src/BouncyCastle/crypto/generators/ElGamalParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/ElGamalParametersGenerator.cs rename to src/BouncyCastle/crypto/generators/ElGamalParametersGenerator.cs diff --git a/crypto/src/crypto/generators/GOST3410KeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/GOST3410KeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/GOST3410KeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/GOST3410KeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/GOST3410ParametersGenerator.cs b/src/BouncyCastle/crypto/generators/GOST3410ParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/GOST3410ParametersGenerator.cs rename to src/BouncyCastle/crypto/generators/GOST3410ParametersGenerator.cs diff --git a/crypto/src/crypto/generators/HKDFBytesGenerator.cs b/src/BouncyCastle/crypto/generators/HKDFBytesGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/HKDFBytesGenerator.cs rename to src/BouncyCastle/crypto/generators/HKDFBytesGenerator.cs diff --git a/crypto/src/crypto/generators/Kdf1BytesGenerator.cs b/src/BouncyCastle/crypto/generators/Kdf1BytesGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Kdf1BytesGenerator.cs rename to src/BouncyCastle/crypto/generators/Kdf1BytesGenerator.cs diff --git a/crypto/src/crypto/generators/Kdf2BytesGenerator.cs b/src/BouncyCastle/crypto/generators/Kdf2BytesGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Kdf2BytesGenerator.cs rename to src/BouncyCastle/crypto/generators/Kdf2BytesGenerator.cs diff --git a/crypto/src/crypto/generators/Mgf1BytesGenerator.cs b/src/BouncyCastle/crypto/generators/Mgf1BytesGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Mgf1BytesGenerator.cs rename to src/BouncyCastle/crypto/generators/Mgf1BytesGenerator.cs diff --git a/crypto/src/crypto/generators/NaccacheSternKeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/NaccacheSternKeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/NaccacheSternKeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/NaccacheSternKeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/OpenBsdBCrypt.cs b/src/BouncyCastle/crypto/generators/OpenBsdBCrypt.cs similarity index 100% rename from crypto/src/crypto/generators/OpenBsdBCrypt.cs rename to src/BouncyCastle/crypto/generators/OpenBsdBCrypt.cs diff --git a/crypto/src/crypto/generators/OpenSSLPBEParametersGenerator.cs b/src/BouncyCastle/crypto/generators/OpenSSLPBEParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/OpenSSLPBEParametersGenerator.cs rename to src/BouncyCastle/crypto/generators/OpenSSLPBEParametersGenerator.cs diff --git a/crypto/src/crypto/generators/Pkcs12ParametersGenerator.cs b/src/BouncyCastle/crypto/generators/Pkcs12ParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Pkcs12ParametersGenerator.cs rename to src/BouncyCastle/crypto/generators/Pkcs12ParametersGenerator.cs diff --git a/crypto/src/crypto/generators/Pkcs5S1ParametersGenerator.cs b/src/BouncyCastle/crypto/generators/Pkcs5S1ParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Pkcs5S1ParametersGenerator.cs rename to src/BouncyCastle/crypto/generators/Pkcs5S1ParametersGenerator.cs diff --git a/crypto/src/crypto/generators/Pkcs5S2ParametersGenerator.cs b/src/BouncyCastle/crypto/generators/Pkcs5S2ParametersGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Pkcs5S2ParametersGenerator.cs rename to src/BouncyCastle/crypto/generators/Pkcs5S2ParametersGenerator.cs diff --git a/crypto/src/crypto/generators/Poly1305KeyGenerator.cs b/src/BouncyCastle/crypto/generators/Poly1305KeyGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/Poly1305KeyGenerator.cs rename to src/BouncyCastle/crypto/generators/Poly1305KeyGenerator.cs diff --git a/crypto/src/crypto/generators/RSABlindingFactorGenerator.cs b/src/BouncyCastle/crypto/generators/RSABlindingFactorGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/RSABlindingFactorGenerator.cs rename to src/BouncyCastle/crypto/generators/RSABlindingFactorGenerator.cs diff --git a/crypto/src/crypto/generators/RsaKeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/RsaKeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/RsaKeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/RsaKeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/SCrypt.cs b/src/BouncyCastle/crypto/generators/SCrypt.cs similarity index 100% rename from crypto/src/crypto/generators/SCrypt.cs rename to src/BouncyCastle/crypto/generators/SCrypt.cs diff --git a/crypto/src/crypto/generators/X25519KeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/X25519KeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/X25519KeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/X25519KeyPairGenerator.cs diff --git a/crypto/src/crypto/generators/X448KeyPairGenerator.cs b/src/BouncyCastle/crypto/generators/X448KeyPairGenerator.cs similarity index 100% rename from crypto/src/crypto/generators/X448KeyPairGenerator.cs rename to src/BouncyCastle/crypto/generators/X448KeyPairGenerator.cs diff --git a/crypto/src/crypto/io/CipherStream.cs b/src/BouncyCastle/crypto/io/CipherStream.cs similarity index 100% rename from crypto/src/crypto/io/CipherStream.cs rename to src/BouncyCastle/crypto/io/CipherStream.cs diff --git a/crypto/src/crypto/io/DigestSink.cs b/src/BouncyCastle/crypto/io/DigestSink.cs similarity index 100% rename from crypto/src/crypto/io/DigestSink.cs rename to src/BouncyCastle/crypto/io/DigestSink.cs diff --git a/crypto/src/crypto/io/DigestStream.cs b/src/BouncyCastle/crypto/io/DigestStream.cs similarity index 100% rename from crypto/src/crypto/io/DigestStream.cs rename to src/BouncyCastle/crypto/io/DigestStream.cs diff --git a/crypto/src/crypto/io/MacSink.cs b/src/BouncyCastle/crypto/io/MacSink.cs similarity index 100% rename from crypto/src/crypto/io/MacSink.cs rename to src/BouncyCastle/crypto/io/MacSink.cs diff --git a/crypto/src/crypto/io/MacStream.cs b/src/BouncyCastle/crypto/io/MacStream.cs similarity index 100% rename from crypto/src/crypto/io/MacStream.cs rename to src/BouncyCastle/crypto/io/MacStream.cs diff --git a/crypto/src/crypto/io/SignerSink.cs b/src/BouncyCastle/crypto/io/SignerSink.cs similarity index 100% rename from crypto/src/crypto/io/SignerSink.cs rename to src/BouncyCastle/crypto/io/SignerSink.cs diff --git a/crypto/src/crypto/io/SignerStream.cs b/src/BouncyCastle/crypto/io/SignerStream.cs similarity index 100% rename from crypto/src/crypto/io/SignerStream.cs rename to src/BouncyCastle/crypto/io/SignerStream.cs diff --git a/crypto/src/crypto/macs/CMac.cs b/src/BouncyCastle/crypto/macs/CMac.cs similarity index 100% rename from crypto/src/crypto/macs/CMac.cs rename to src/BouncyCastle/crypto/macs/CMac.cs diff --git a/crypto/src/crypto/macs/CbcBlockCipherMac.cs b/src/BouncyCastle/crypto/macs/CbcBlockCipherMac.cs similarity index 100% rename from crypto/src/crypto/macs/CbcBlockCipherMac.cs rename to src/BouncyCastle/crypto/macs/CbcBlockCipherMac.cs diff --git a/crypto/src/crypto/macs/CfbBlockCipherMac.cs b/src/BouncyCastle/crypto/macs/CfbBlockCipherMac.cs similarity index 100% rename from crypto/src/crypto/macs/CfbBlockCipherMac.cs rename to src/BouncyCastle/crypto/macs/CfbBlockCipherMac.cs diff --git a/crypto/src/crypto/macs/DSTU7564Mac.cs b/src/BouncyCastle/crypto/macs/DSTU7564Mac.cs similarity index 100% rename from crypto/src/crypto/macs/DSTU7564Mac.cs rename to src/BouncyCastle/crypto/macs/DSTU7564Mac.cs diff --git a/crypto/src/crypto/macs/DSTU7624Mac.cs b/src/BouncyCastle/crypto/macs/DSTU7624Mac.cs similarity index 100% rename from crypto/src/crypto/macs/DSTU7624Mac.cs rename to src/BouncyCastle/crypto/macs/DSTU7624Mac.cs diff --git a/crypto/src/crypto/macs/GMac.cs b/src/BouncyCastle/crypto/macs/GMac.cs similarity index 100% rename from crypto/src/crypto/macs/GMac.cs rename to src/BouncyCastle/crypto/macs/GMac.cs diff --git a/crypto/src/crypto/macs/GOST28147Mac.cs b/src/BouncyCastle/crypto/macs/GOST28147Mac.cs similarity index 100% rename from crypto/src/crypto/macs/GOST28147Mac.cs rename to src/BouncyCastle/crypto/macs/GOST28147Mac.cs diff --git a/crypto/src/crypto/macs/HMac.cs b/src/BouncyCastle/crypto/macs/HMac.cs similarity index 100% rename from crypto/src/crypto/macs/HMac.cs rename to src/BouncyCastle/crypto/macs/HMac.cs diff --git a/crypto/src/crypto/macs/ISO9797Alg3Mac.cs b/src/BouncyCastle/crypto/macs/ISO9797Alg3Mac.cs similarity index 100% rename from crypto/src/crypto/macs/ISO9797Alg3Mac.cs rename to src/BouncyCastle/crypto/macs/ISO9797Alg3Mac.cs diff --git a/crypto/src/crypto/macs/Poly1305.cs b/src/BouncyCastle/crypto/macs/Poly1305.cs similarity index 100% rename from crypto/src/crypto/macs/Poly1305.cs rename to src/BouncyCastle/crypto/macs/Poly1305.cs diff --git a/crypto/src/crypto/macs/SipHash.cs b/src/BouncyCastle/crypto/macs/SipHash.cs similarity index 100% rename from crypto/src/crypto/macs/SipHash.cs rename to src/BouncyCastle/crypto/macs/SipHash.cs diff --git a/crypto/src/crypto/macs/SkeinMac.cs b/src/BouncyCastle/crypto/macs/SkeinMac.cs similarity index 100% rename from crypto/src/crypto/macs/SkeinMac.cs rename to src/BouncyCastle/crypto/macs/SkeinMac.cs diff --git a/crypto/src/crypto/macs/VMPCMac.cs b/src/BouncyCastle/crypto/macs/VMPCMac.cs similarity index 100% rename from crypto/src/crypto/macs/VMPCMac.cs rename to src/BouncyCastle/crypto/macs/VMPCMac.cs diff --git a/crypto/src/crypto/modes/CbcBlockCipher.cs b/src/BouncyCastle/crypto/modes/CbcBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/CbcBlockCipher.cs rename to src/BouncyCastle/crypto/modes/CbcBlockCipher.cs diff --git a/crypto/src/crypto/modes/CcmBlockCipher.cs b/src/BouncyCastle/crypto/modes/CcmBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/CcmBlockCipher.cs rename to src/BouncyCastle/crypto/modes/CcmBlockCipher.cs diff --git a/crypto/src/crypto/modes/CfbBlockCipher.cs b/src/BouncyCastle/crypto/modes/CfbBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/CfbBlockCipher.cs rename to src/BouncyCastle/crypto/modes/CfbBlockCipher.cs diff --git a/crypto/src/crypto/modes/CtsBlockCipher.cs b/src/BouncyCastle/crypto/modes/CtsBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/CtsBlockCipher.cs rename to src/BouncyCastle/crypto/modes/CtsBlockCipher.cs diff --git a/crypto/src/crypto/modes/EAXBlockCipher.cs b/src/BouncyCastle/crypto/modes/EAXBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/EAXBlockCipher.cs rename to src/BouncyCastle/crypto/modes/EAXBlockCipher.cs diff --git a/crypto/src/crypto/modes/GCMBlockCipher.cs b/src/BouncyCastle/crypto/modes/GCMBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/GCMBlockCipher.cs rename to src/BouncyCastle/crypto/modes/GCMBlockCipher.cs diff --git a/crypto/src/crypto/modes/GOFBBlockCipher.cs b/src/BouncyCastle/crypto/modes/GOFBBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/GOFBBlockCipher.cs rename to src/BouncyCastle/crypto/modes/GOFBBlockCipher.cs diff --git a/crypto/src/crypto/modes/IAeadBlockCipher.cs b/src/BouncyCastle/crypto/modes/IAeadBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/IAeadBlockCipher.cs rename to src/BouncyCastle/crypto/modes/IAeadBlockCipher.cs diff --git a/crypto/src/crypto/modes/KCcmBlockCipher.cs b/src/BouncyCastle/crypto/modes/KCcmBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/KCcmBlockCipher.cs rename to src/BouncyCastle/crypto/modes/KCcmBlockCipher.cs diff --git a/crypto/src/crypto/modes/KCtrBlockCipher.cs b/src/BouncyCastle/crypto/modes/KCtrBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/KCtrBlockCipher.cs rename to src/BouncyCastle/crypto/modes/KCtrBlockCipher.cs diff --git a/crypto/src/crypto/modes/OCBBlockCipher.cs b/src/BouncyCastle/crypto/modes/OCBBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/OCBBlockCipher.cs rename to src/BouncyCastle/crypto/modes/OCBBlockCipher.cs diff --git a/crypto/src/crypto/modes/OfbBlockCipher.cs b/src/BouncyCastle/crypto/modes/OfbBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/OfbBlockCipher.cs rename to src/BouncyCastle/crypto/modes/OfbBlockCipher.cs diff --git a/crypto/src/crypto/modes/OpenPgpCfbBlockCipher.cs b/src/BouncyCastle/crypto/modes/OpenPgpCfbBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/OpenPgpCfbBlockCipher.cs rename to src/BouncyCastle/crypto/modes/OpenPgpCfbBlockCipher.cs diff --git a/crypto/src/crypto/modes/SicBlockCipher.cs b/src/BouncyCastle/crypto/modes/SicBlockCipher.cs similarity index 100% rename from crypto/src/crypto/modes/SicBlockCipher.cs rename to src/BouncyCastle/crypto/modes/SicBlockCipher.cs diff --git a/crypto/src/crypto/modes/gcm/BasicGcmExponentiator.cs b/src/BouncyCastle/crypto/modes/gcm/BasicGcmExponentiator.cs similarity index 100% rename from crypto/src/crypto/modes/gcm/BasicGcmExponentiator.cs rename to src/BouncyCastle/crypto/modes/gcm/BasicGcmExponentiator.cs diff --git a/crypto/src/crypto/modes/gcm/BasicGcmMultiplier.cs b/src/BouncyCastle/crypto/modes/gcm/BasicGcmMultiplier.cs similarity index 100% rename from crypto/src/crypto/modes/gcm/BasicGcmMultiplier.cs rename to src/BouncyCastle/crypto/modes/gcm/BasicGcmMultiplier.cs diff --git a/crypto/src/crypto/modes/gcm/GcmUtilities.cs b/src/BouncyCastle/crypto/modes/gcm/GcmUtilities.cs similarity index 100% rename from crypto/src/crypto/modes/gcm/GcmUtilities.cs rename to src/BouncyCastle/crypto/modes/gcm/GcmUtilities.cs diff --git a/crypto/src/crypto/modes/gcm/IGcmExponentiator.cs b/src/BouncyCastle/crypto/modes/gcm/IGcmExponentiator.cs similarity index 100% rename from crypto/src/crypto/modes/gcm/IGcmExponentiator.cs rename to src/BouncyCastle/crypto/modes/gcm/IGcmExponentiator.cs diff --git a/crypto/src/crypto/modes/gcm/IGcmMultiplier.cs b/src/BouncyCastle/crypto/modes/gcm/IGcmMultiplier.cs similarity index 100% rename from crypto/src/crypto/modes/gcm/IGcmMultiplier.cs rename to src/BouncyCastle/crypto/modes/gcm/IGcmMultiplier.cs diff --git a/crypto/src/crypto/modes/gcm/Tables1kGcmExponentiator.cs b/src/BouncyCastle/crypto/modes/gcm/Tables1kGcmExponentiator.cs similarity index 100% rename from crypto/src/crypto/modes/gcm/Tables1kGcmExponentiator.cs rename to src/BouncyCastle/crypto/modes/gcm/Tables1kGcmExponentiator.cs diff --git a/crypto/src/crypto/modes/gcm/Tables64kGcmMultiplier.cs b/src/BouncyCastle/crypto/modes/gcm/Tables64kGcmMultiplier.cs similarity index 100% rename from crypto/src/crypto/modes/gcm/Tables64kGcmMultiplier.cs rename to src/BouncyCastle/crypto/modes/gcm/Tables64kGcmMultiplier.cs diff --git a/crypto/src/crypto/modes/gcm/Tables8kGcmMultiplier.cs b/src/BouncyCastle/crypto/modes/gcm/Tables8kGcmMultiplier.cs similarity index 100% rename from crypto/src/crypto/modes/gcm/Tables8kGcmMultiplier.cs rename to src/BouncyCastle/crypto/modes/gcm/Tables8kGcmMultiplier.cs diff --git a/crypto/src/crypto/operators/Asn1Signature.cs b/src/BouncyCastle/crypto/operators/Asn1Signature.cs similarity index 100% rename from crypto/src/crypto/operators/Asn1Signature.cs rename to src/BouncyCastle/crypto/operators/Asn1Signature.cs diff --git a/crypto/src/crypto/operators/DefaultSignatureCalculator.cs b/src/BouncyCastle/crypto/operators/DefaultSignatureCalculator.cs similarity index 100% rename from crypto/src/crypto/operators/DefaultSignatureCalculator.cs rename to src/BouncyCastle/crypto/operators/DefaultSignatureCalculator.cs diff --git a/crypto/src/crypto/operators/DefaultSignatureResult.cs b/src/BouncyCastle/crypto/operators/DefaultSignatureResult.cs similarity index 100% rename from crypto/src/crypto/operators/DefaultSignatureResult.cs rename to src/BouncyCastle/crypto/operators/DefaultSignatureResult.cs diff --git a/crypto/src/crypto/operators/DefaultVerifierCalculator.cs b/src/BouncyCastle/crypto/operators/DefaultVerifierCalculator.cs similarity index 100% rename from crypto/src/crypto/operators/DefaultVerifierCalculator.cs rename to src/BouncyCastle/crypto/operators/DefaultVerifierCalculator.cs diff --git a/crypto/src/crypto/operators/DefaultVerifierResult.cs b/src/BouncyCastle/crypto/operators/DefaultVerifierResult.cs similarity index 100% rename from crypto/src/crypto/operators/DefaultVerifierResult.cs rename to src/BouncyCastle/crypto/operators/DefaultVerifierResult.cs diff --git a/crypto/src/crypto/paddings/BlockCipherPadding.cs b/src/BouncyCastle/crypto/paddings/BlockCipherPadding.cs similarity index 100% rename from crypto/src/crypto/paddings/BlockCipherPadding.cs rename to src/BouncyCastle/crypto/paddings/BlockCipherPadding.cs diff --git a/crypto/src/crypto/paddings/ISO10126d2Padding.cs b/src/BouncyCastle/crypto/paddings/ISO10126d2Padding.cs similarity index 100% rename from crypto/src/crypto/paddings/ISO10126d2Padding.cs rename to src/BouncyCastle/crypto/paddings/ISO10126d2Padding.cs diff --git a/crypto/src/crypto/paddings/ISO7816d4Padding.cs b/src/BouncyCastle/crypto/paddings/ISO7816d4Padding.cs similarity index 100% rename from crypto/src/crypto/paddings/ISO7816d4Padding.cs rename to src/BouncyCastle/crypto/paddings/ISO7816d4Padding.cs diff --git a/crypto/src/crypto/paddings/PaddedBufferedBlockCipher.cs b/src/BouncyCastle/crypto/paddings/PaddedBufferedBlockCipher.cs similarity index 100% rename from crypto/src/crypto/paddings/PaddedBufferedBlockCipher.cs rename to src/BouncyCastle/crypto/paddings/PaddedBufferedBlockCipher.cs diff --git a/crypto/src/crypto/paddings/Pkcs7Padding.cs b/src/BouncyCastle/crypto/paddings/Pkcs7Padding.cs similarity index 100% rename from crypto/src/crypto/paddings/Pkcs7Padding.cs rename to src/BouncyCastle/crypto/paddings/Pkcs7Padding.cs diff --git a/crypto/src/crypto/paddings/TbcPadding.cs b/src/BouncyCastle/crypto/paddings/TbcPadding.cs similarity index 100% rename from crypto/src/crypto/paddings/TbcPadding.cs rename to src/BouncyCastle/crypto/paddings/TbcPadding.cs diff --git a/crypto/src/crypto/paddings/X923Padding.cs b/src/BouncyCastle/crypto/paddings/X923Padding.cs similarity index 100% rename from crypto/src/crypto/paddings/X923Padding.cs rename to src/BouncyCastle/crypto/paddings/X923Padding.cs diff --git a/crypto/src/crypto/paddings/ZeroBytePadding.cs b/src/BouncyCastle/crypto/paddings/ZeroBytePadding.cs similarity index 100% rename from crypto/src/crypto/paddings/ZeroBytePadding.cs rename to src/BouncyCastle/crypto/paddings/ZeroBytePadding.cs diff --git a/crypto/src/crypto/parameters/AEADParameters.cs b/src/BouncyCastle/crypto/parameters/AEADParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/AEADParameters.cs rename to src/BouncyCastle/crypto/parameters/AEADParameters.cs diff --git a/crypto/src/crypto/parameters/CcmParameters.cs b/src/BouncyCastle/crypto/parameters/CcmParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/CcmParameters.cs rename to src/BouncyCastle/crypto/parameters/CcmParameters.cs diff --git a/crypto/src/crypto/parameters/DHKeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/DHKeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DHKeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/DHKeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/DHKeyParameters.cs b/src/BouncyCastle/crypto/parameters/DHKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DHKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/DHKeyParameters.cs diff --git a/crypto/src/crypto/parameters/DHParameters.cs b/src/BouncyCastle/crypto/parameters/DHParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DHParameters.cs rename to src/BouncyCastle/crypto/parameters/DHParameters.cs diff --git a/crypto/src/crypto/parameters/DHPrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/DHPrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DHPrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/DHPrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/DHPublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/DHPublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DHPublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/DHPublicKeyParameters.cs diff --git a/crypto/src/crypto/parameters/DHValidationParameters.cs b/src/BouncyCastle/crypto/parameters/DHValidationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DHValidationParameters.cs rename to src/BouncyCastle/crypto/parameters/DHValidationParameters.cs diff --git a/crypto/src/crypto/parameters/DSAParameterGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/DSAParameterGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DSAParameterGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/DSAParameterGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/DesEdeParameters.cs b/src/BouncyCastle/crypto/parameters/DesEdeParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DesEdeParameters.cs rename to src/BouncyCastle/crypto/parameters/DesEdeParameters.cs diff --git a/crypto/src/crypto/parameters/DesParameters.cs b/src/BouncyCastle/crypto/parameters/DesParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DesParameters.cs rename to src/BouncyCastle/crypto/parameters/DesParameters.cs diff --git a/crypto/src/crypto/parameters/DsaKeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/DsaKeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DsaKeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/DsaKeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/DsaKeyParameters.cs b/src/BouncyCastle/crypto/parameters/DsaKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DsaKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/DsaKeyParameters.cs diff --git a/crypto/src/crypto/parameters/DsaParameters.cs b/src/BouncyCastle/crypto/parameters/DsaParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DsaParameters.cs rename to src/BouncyCastle/crypto/parameters/DsaParameters.cs diff --git a/crypto/src/crypto/parameters/DsaPrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/DsaPrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DsaPrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/DsaPrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/DsaPublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/DsaPublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DsaPublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/DsaPublicKeyParameters.cs diff --git a/crypto/src/crypto/parameters/DsaValidationParameters.cs b/src/BouncyCastle/crypto/parameters/DsaValidationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/DsaValidationParameters.cs rename to src/BouncyCastle/crypto/parameters/DsaValidationParameters.cs diff --git a/crypto/src/crypto/parameters/ECDomainParameters.cs b/src/BouncyCastle/crypto/parameters/ECDomainParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ECDomainParameters.cs rename to src/BouncyCastle/crypto/parameters/ECDomainParameters.cs diff --git a/crypto/src/crypto/parameters/ECKeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/ECKeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ECKeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/ECKeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/ECKeyParameters.cs b/src/BouncyCastle/crypto/parameters/ECKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ECKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/ECKeyParameters.cs diff --git a/crypto/src/crypto/parameters/ECPrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/ECPrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ECPrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/ECPrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/ECPublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/ECPublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ECPublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/ECPublicKeyParameters.cs diff --git a/crypto/src/crypto/parameters/Ed25519KeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/Ed25519KeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/Ed25519KeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/Ed25519KeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/Ed25519PrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/Ed25519PrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/Ed25519PrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/Ed25519PrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/Ed25519PublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/Ed25519PublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/Ed25519PublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/Ed25519PublicKeyParameters.cs diff --git a/crypto/src/crypto/parameters/Ed448KeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/Ed448KeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/Ed448KeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/Ed448KeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/Ed448PrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/Ed448PrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/Ed448PrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/Ed448PrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/Ed448PublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/Ed448PublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/Ed448PublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/Ed448PublicKeyParameters.cs diff --git a/crypto/src/crypto/parameters/ElGamalKeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/ElGamalKeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ElGamalKeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/ElGamalKeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/ElGamalKeyParameters.cs b/src/BouncyCastle/crypto/parameters/ElGamalKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ElGamalKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/ElGamalKeyParameters.cs diff --git a/crypto/src/crypto/parameters/ElGamalParameters.cs b/src/BouncyCastle/crypto/parameters/ElGamalParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ElGamalParameters.cs rename to src/BouncyCastle/crypto/parameters/ElGamalParameters.cs diff --git a/crypto/src/crypto/parameters/ElGamalPrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/ElGamalPrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ElGamalPrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/ElGamalPrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/ElGamalPublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/ElGamalPublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ElGamalPublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/ElGamalPublicKeyParameters.cs diff --git a/crypto/src/crypto/parameters/GOST3410KeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/GOST3410KeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/GOST3410KeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/GOST3410KeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/GOST3410KeyParameters.cs b/src/BouncyCastle/crypto/parameters/GOST3410KeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/GOST3410KeyParameters.cs rename to src/BouncyCastle/crypto/parameters/GOST3410KeyParameters.cs diff --git a/crypto/src/crypto/parameters/GOST3410Parameters.cs b/src/BouncyCastle/crypto/parameters/GOST3410Parameters.cs similarity index 100% rename from crypto/src/crypto/parameters/GOST3410Parameters.cs rename to src/BouncyCastle/crypto/parameters/GOST3410Parameters.cs diff --git a/crypto/src/crypto/parameters/GOST3410PrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/GOST3410PrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/GOST3410PrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/GOST3410PrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/GOST3410PublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/GOST3410PublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/GOST3410PublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/GOST3410PublicKeyParameters.cs diff --git a/crypto/src/crypto/parameters/GOST3410ValidationParameters.cs b/src/BouncyCastle/crypto/parameters/GOST3410ValidationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/GOST3410ValidationParameters.cs rename to src/BouncyCastle/crypto/parameters/GOST3410ValidationParameters.cs diff --git a/crypto/src/crypto/parameters/HKDFParameters.cs b/src/BouncyCastle/crypto/parameters/HKDFParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/HKDFParameters.cs rename to src/BouncyCastle/crypto/parameters/HKDFParameters.cs diff --git a/crypto/src/crypto/parameters/ISO18033KDFParameters.cs b/src/BouncyCastle/crypto/parameters/ISO18033KDFParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/ISO18033KDFParameters.cs rename to src/BouncyCastle/crypto/parameters/ISO18033KDFParameters.cs diff --git a/crypto/src/crypto/parameters/IesParameters.cs b/src/BouncyCastle/crypto/parameters/IesParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/IesParameters.cs rename to src/BouncyCastle/crypto/parameters/IesParameters.cs diff --git a/crypto/src/crypto/parameters/IesWithCipherParameters.cs b/src/BouncyCastle/crypto/parameters/IesWithCipherParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/IesWithCipherParameters.cs rename to src/BouncyCastle/crypto/parameters/IesWithCipherParameters.cs diff --git a/crypto/src/crypto/parameters/KdfParameters.cs b/src/BouncyCastle/crypto/parameters/KdfParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/KdfParameters.cs rename to src/BouncyCastle/crypto/parameters/KdfParameters.cs diff --git a/crypto/src/crypto/parameters/KeyParameter.cs b/src/BouncyCastle/crypto/parameters/KeyParameter.cs similarity index 100% rename from crypto/src/crypto/parameters/KeyParameter.cs rename to src/BouncyCastle/crypto/parameters/KeyParameter.cs diff --git a/crypto/src/crypto/parameters/MgfParameters.cs b/src/BouncyCastle/crypto/parameters/MgfParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/MgfParameters.cs rename to src/BouncyCastle/crypto/parameters/MgfParameters.cs diff --git a/crypto/src/crypto/parameters/MqvPrivateParameters.cs b/src/BouncyCastle/crypto/parameters/MqvPrivateParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/MqvPrivateParameters.cs rename to src/BouncyCastle/crypto/parameters/MqvPrivateParameters.cs diff --git a/crypto/src/crypto/parameters/MqvPublicParameters.cs b/src/BouncyCastle/crypto/parameters/MqvPublicParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/MqvPublicParameters.cs rename to src/BouncyCastle/crypto/parameters/MqvPublicParameters.cs diff --git a/crypto/src/crypto/parameters/NaccacheSternKeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/NaccacheSternKeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/NaccacheSternKeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/NaccacheSternKeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/NaccacheSternKeyParameters.cs b/src/BouncyCastle/crypto/parameters/NaccacheSternKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/NaccacheSternKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/NaccacheSternKeyParameters.cs diff --git a/crypto/src/crypto/parameters/NaccacheSternPrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/NaccacheSternPrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/NaccacheSternPrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/NaccacheSternPrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/ParametersWithID.cs b/src/BouncyCastle/crypto/parameters/ParametersWithID.cs similarity index 100% rename from crypto/src/crypto/parameters/ParametersWithID.cs rename to src/BouncyCastle/crypto/parameters/ParametersWithID.cs diff --git a/crypto/src/crypto/parameters/ParametersWithIV.cs b/src/BouncyCastle/crypto/parameters/ParametersWithIV.cs similarity index 100% rename from crypto/src/crypto/parameters/ParametersWithIV.cs rename to src/BouncyCastle/crypto/parameters/ParametersWithIV.cs diff --git a/crypto/src/crypto/parameters/ParametersWithRandom.cs b/src/BouncyCastle/crypto/parameters/ParametersWithRandom.cs similarity index 100% rename from crypto/src/crypto/parameters/ParametersWithRandom.cs rename to src/BouncyCastle/crypto/parameters/ParametersWithRandom.cs diff --git a/crypto/src/crypto/parameters/ParametersWithSBox.cs b/src/BouncyCastle/crypto/parameters/ParametersWithSBox.cs similarity index 100% rename from crypto/src/crypto/parameters/ParametersWithSBox.cs rename to src/BouncyCastle/crypto/parameters/ParametersWithSBox.cs diff --git a/crypto/src/crypto/parameters/ParametersWithSalt.cs b/src/BouncyCastle/crypto/parameters/ParametersWithSalt.cs similarity index 100% rename from crypto/src/crypto/parameters/ParametersWithSalt.cs rename to src/BouncyCastle/crypto/parameters/ParametersWithSalt.cs diff --git a/crypto/src/crypto/parameters/RC2Parameters.cs b/src/BouncyCastle/crypto/parameters/RC2Parameters.cs similarity index 100% rename from crypto/src/crypto/parameters/RC2Parameters.cs rename to src/BouncyCastle/crypto/parameters/RC2Parameters.cs diff --git a/crypto/src/crypto/parameters/RC5Parameters.cs b/src/BouncyCastle/crypto/parameters/RC5Parameters.cs similarity index 100% rename from crypto/src/crypto/parameters/RC5Parameters.cs rename to src/BouncyCastle/crypto/parameters/RC5Parameters.cs diff --git a/crypto/src/crypto/parameters/RSABlindingParameters.cs b/src/BouncyCastle/crypto/parameters/RSABlindingParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/RSABlindingParameters.cs rename to src/BouncyCastle/crypto/parameters/RSABlindingParameters.cs diff --git a/crypto/src/crypto/parameters/RsaKeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/RsaKeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/RsaKeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/RsaKeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/RsaKeyParameters.cs b/src/BouncyCastle/crypto/parameters/RsaKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/RsaKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/RsaKeyParameters.cs diff --git a/crypto/src/crypto/parameters/RsaPrivateCrtKeyParameters.cs b/src/BouncyCastle/crypto/parameters/RsaPrivateCrtKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/RsaPrivateCrtKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/RsaPrivateCrtKeyParameters.cs diff --git a/crypto/src/crypto/parameters/SM2KeyExchangePrivateParameters.cs b/src/BouncyCastle/crypto/parameters/SM2KeyExchangePrivateParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/SM2KeyExchangePrivateParameters.cs rename to src/BouncyCastle/crypto/parameters/SM2KeyExchangePrivateParameters.cs diff --git a/crypto/src/crypto/parameters/SM2KeyExchangePublicParameters.cs b/src/BouncyCastle/crypto/parameters/SM2KeyExchangePublicParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/SM2KeyExchangePublicParameters.cs rename to src/BouncyCastle/crypto/parameters/SM2KeyExchangePublicParameters.cs diff --git a/crypto/src/crypto/parameters/SkeinParameters.cs b/src/BouncyCastle/crypto/parameters/SkeinParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/SkeinParameters.cs rename to src/BouncyCastle/crypto/parameters/SkeinParameters.cs diff --git a/crypto/src/crypto/parameters/Srp6GroupParameters.cs b/src/BouncyCastle/crypto/parameters/Srp6GroupParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/Srp6GroupParameters.cs rename to src/BouncyCastle/crypto/parameters/Srp6GroupParameters.cs diff --git a/crypto/src/crypto/parameters/TweakableBlockCipherParameters.cs b/src/BouncyCastle/crypto/parameters/TweakableBlockCipherParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/TweakableBlockCipherParameters.cs rename to src/BouncyCastle/crypto/parameters/TweakableBlockCipherParameters.cs diff --git a/crypto/src/crypto/parameters/X25519KeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/X25519KeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/X25519KeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/X25519KeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/X25519PrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/X25519PrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/X25519PrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/X25519PrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/X25519PublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/X25519PublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/X25519PublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/X25519PublicKeyParameters.cs diff --git a/crypto/src/crypto/parameters/X448KeyGenerationParameters.cs b/src/BouncyCastle/crypto/parameters/X448KeyGenerationParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/X448KeyGenerationParameters.cs rename to src/BouncyCastle/crypto/parameters/X448KeyGenerationParameters.cs diff --git a/crypto/src/crypto/parameters/X448PrivateKeyParameters.cs b/src/BouncyCastle/crypto/parameters/X448PrivateKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/X448PrivateKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/X448PrivateKeyParameters.cs diff --git a/crypto/src/crypto/parameters/X448PublicKeyParameters.cs b/src/BouncyCastle/crypto/parameters/X448PublicKeyParameters.cs similarity index 100% rename from crypto/src/crypto/parameters/X448PublicKeyParameters.cs rename to src/BouncyCastle/crypto/parameters/X448PublicKeyParameters.cs diff --git a/crypto/src/crypto/prng/BasicEntropySourceProvider.cs b/src/BouncyCastle/crypto/prng/BasicEntropySourceProvider.cs similarity index 100% rename from crypto/src/crypto/prng/BasicEntropySourceProvider.cs rename to src/BouncyCastle/crypto/prng/BasicEntropySourceProvider.cs diff --git a/crypto/src/crypto/prng/CryptoApiEntropySourceProvider.cs b/src/BouncyCastle/crypto/prng/CryptoApiEntropySourceProvider.cs similarity index 100% rename from crypto/src/crypto/prng/CryptoApiEntropySourceProvider.cs rename to src/BouncyCastle/crypto/prng/CryptoApiEntropySourceProvider.cs diff --git a/crypto/src/crypto/prng/CryptoApiRandomGenerator.cs b/src/BouncyCastle/crypto/prng/CryptoApiRandomGenerator.cs similarity index 100% rename from crypto/src/crypto/prng/CryptoApiRandomGenerator.cs rename to src/BouncyCastle/crypto/prng/CryptoApiRandomGenerator.cs diff --git a/crypto/src/crypto/prng/DigestRandomGenerator.cs b/src/BouncyCastle/crypto/prng/DigestRandomGenerator.cs similarity index 100% rename from crypto/src/crypto/prng/DigestRandomGenerator.cs rename to src/BouncyCastle/crypto/prng/DigestRandomGenerator.cs diff --git a/crypto/src/crypto/prng/EntropyUtilities.cs b/src/BouncyCastle/crypto/prng/EntropyUtilities.cs similarity index 100% rename from crypto/src/crypto/prng/EntropyUtilities.cs rename to src/BouncyCastle/crypto/prng/EntropyUtilities.cs diff --git a/crypto/src/crypto/prng/IDrbgProvider.cs b/src/BouncyCastle/crypto/prng/IDrbgProvider.cs similarity index 100% rename from crypto/src/crypto/prng/IDrbgProvider.cs rename to src/BouncyCastle/crypto/prng/IDrbgProvider.cs diff --git a/crypto/src/crypto/prng/IRandomGenerator.cs b/src/BouncyCastle/crypto/prng/IRandomGenerator.cs similarity index 100% rename from crypto/src/crypto/prng/IRandomGenerator.cs rename to src/BouncyCastle/crypto/prng/IRandomGenerator.cs diff --git a/crypto/src/crypto/prng/ReversedWindowGenerator.cs b/src/BouncyCastle/crypto/prng/ReversedWindowGenerator.cs similarity index 100% rename from crypto/src/crypto/prng/ReversedWindowGenerator.cs rename to src/BouncyCastle/crypto/prng/ReversedWindowGenerator.cs diff --git a/crypto/src/crypto/prng/SP800SecureRandom.cs b/src/BouncyCastle/crypto/prng/SP800SecureRandom.cs similarity index 100% rename from crypto/src/crypto/prng/SP800SecureRandom.cs rename to src/BouncyCastle/crypto/prng/SP800SecureRandom.cs diff --git a/crypto/src/crypto/prng/SP800SecureRandomBuilder.cs b/src/BouncyCastle/crypto/prng/SP800SecureRandomBuilder.cs similarity index 100% rename from crypto/src/crypto/prng/SP800SecureRandomBuilder.cs rename to src/BouncyCastle/crypto/prng/SP800SecureRandomBuilder.cs diff --git a/crypto/src/crypto/prng/ThreadedSeedGenerator.cs b/src/BouncyCastle/crypto/prng/ThreadedSeedGenerator.cs similarity index 100% rename from crypto/src/crypto/prng/ThreadedSeedGenerator.cs rename to src/BouncyCastle/crypto/prng/ThreadedSeedGenerator.cs diff --git a/crypto/src/crypto/prng/VMPCRandomGenerator.cs b/src/BouncyCastle/crypto/prng/VMPCRandomGenerator.cs similarity index 100% rename from crypto/src/crypto/prng/VMPCRandomGenerator.cs rename to src/BouncyCastle/crypto/prng/VMPCRandomGenerator.cs diff --git a/crypto/src/crypto/prng/X931Rng.cs b/src/BouncyCastle/crypto/prng/X931Rng.cs similarity index 100% rename from crypto/src/crypto/prng/X931Rng.cs rename to src/BouncyCastle/crypto/prng/X931Rng.cs diff --git a/crypto/src/crypto/prng/X931SecureRandom.cs b/src/BouncyCastle/crypto/prng/X931SecureRandom.cs similarity index 100% rename from crypto/src/crypto/prng/X931SecureRandom.cs rename to src/BouncyCastle/crypto/prng/X931SecureRandom.cs diff --git a/crypto/src/crypto/prng/X931SecureRandomBuilder.cs b/src/BouncyCastle/crypto/prng/X931SecureRandomBuilder.cs similarity index 100% rename from crypto/src/crypto/prng/X931SecureRandomBuilder.cs rename to src/BouncyCastle/crypto/prng/X931SecureRandomBuilder.cs diff --git a/crypto/src/crypto/prng/drbg/CtrSP800Drbg.cs b/src/BouncyCastle/crypto/prng/drbg/CtrSP800Drbg.cs similarity index 100% rename from crypto/src/crypto/prng/drbg/CtrSP800Drbg.cs rename to src/BouncyCastle/crypto/prng/drbg/CtrSP800Drbg.cs diff --git a/crypto/src/crypto/prng/drbg/DrbgUtilities.cs b/src/BouncyCastle/crypto/prng/drbg/DrbgUtilities.cs similarity index 100% rename from crypto/src/crypto/prng/drbg/DrbgUtilities.cs rename to src/BouncyCastle/crypto/prng/drbg/DrbgUtilities.cs diff --git a/crypto/src/crypto/prng/drbg/HMacSP800Drbg.cs b/src/BouncyCastle/crypto/prng/drbg/HMacSP800Drbg.cs similarity index 100% rename from crypto/src/crypto/prng/drbg/HMacSP800Drbg.cs rename to src/BouncyCastle/crypto/prng/drbg/HMacSP800Drbg.cs diff --git a/crypto/src/crypto/prng/drbg/HashSP800Drbg.cs b/src/BouncyCastle/crypto/prng/drbg/HashSP800Drbg.cs similarity index 100% rename from crypto/src/crypto/prng/drbg/HashSP800Drbg.cs rename to src/BouncyCastle/crypto/prng/drbg/HashSP800Drbg.cs diff --git a/crypto/src/crypto/prng/drbg/ISP80090Drbg.cs b/src/BouncyCastle/crypto/prng/drbg/ISP80090Drbg.cs similarity index 100% rename from crypto/src/crypto/prng/drbg/ISP80090Drbg.cs rename to src/BouncyCastle/crypto/prng/drbg/ISP80090Drbg.cs diff --git a/crypto/src/crypto/signers/DsaDigestSigner.cs b/src/BouncyCastle/crypto/signers/DsaDigestSigner.cs similarity index 100% rename from crypto/src/crypto/signers/DsaDigestSigner.cs rename to src/BouncyCastle/crypto/signers/DsaDigestSigner.cs diff --git a/crypto/src/crypto/signers/DsaSigner.cs b/src/BouncyCastle/crypto/signers/DsaSigner.cs similarity index 100% rename from crypto/src/crypto/signers/DsaSigner.cs rename to src/BouncyCastle/crypto/signers/DsaSigner.cs diff --git a/crypto/src/crypto/signers/ECDsaSigner.cs b/src/BouncyCastle/crypto/signers/ECDsaSigner.cs similarity index 100% rename from crypto/src/crypto/signers/ECDsaSigner.cs rename to src/BouncyCastle/crypto/signers/ECDsaSigner.cs diff --git a/crypto/src/crypto/signers/ECGOST3410Signer.cs b/src/BouncyCastle/crypto/signers/ECGOST3410Signer.cs similarity index 100% rename from crypto/src/crypto/signers/ECGOST3410Signer.cs rename to src/BouncyCastle/crypto/signers/ECGOST3410Signer.cs diff --git a/crypto/src/crypto/signers/ECNRSigner.cs b/src/BouncyCastle/crypto/signers/ECNRSigner.cs similarity index 100% rename from crypto/src/crypto/signers/ECNRSigner.cs rename to src/BouncyCastle/crypto/signers/ECNRSigner.cs diff --git a/crypto/src/crypto/signers/Ed25519Signer.cs b/src/BouncyCastle/crypto/signers/Ed25519Signer.cs similarity index 100% rename from crypto/src/crypto/signers/Ed25519Signer.cs rename to src/BouncyCastle/crypto/signers/Ed25519Signer.cs diff --git a/crypto/src/crypto/signers/Ed25519ctxSigner.cs b/src/BouncyCastle/crypto/signers/Ed25519ctxSigner.cs similarity index 100% rename from crypto/src/crypto/signers/Ed25519ctxSigner.cs rename to src/BouncyCastle/crypto/signers/Ed25519ctxSigner.cs diff --git a/crypto/src/crypto/signers/Ed25519phSigner.cs b/src/BouncyCastle/crypto/signers/Ed25519phSigner.cs similarity index 100% rename from crypto/src/crypto/signers/Ed25519phSigner.cs rename to src/BouncyCastle/crypto/signers/Ed25519phSigner.cs diff --git a/crypto/src/crypto/signers/Ed448Signer.cs b/src/BouncyCastle/crypto/signers/Ed448Signer.cs similarity index 100% rename from crypto/src/crypto/signers/Ed448Signer.cs rename to src/BouncyCastle/crypto/signers/Ed448Signer.cs diff --git a/crypto/src/crypto/signers/Ed448phSigner.cs b/src/BouncyCastle/crypto/signers/Ed448phSigner.cs similarity index 100% rename from crypto/src/crypto/signers/Ed448phSigner.cs rename to src/BouncyCastle/crypto/signers/Ed448phSigner.cs diff --git a/crypto/src/crypto/signers/GOST3410DigestSigner.cs b/src/BouncyCastle/crypto/signers/GOST3410DigestSigner.cs similarity index 100% rename from crypto/src/crypto/signers/GOST3410DigestSigner.cs rename to src/BouncyCastle/crypto/signers/GOST3410DigestSigner.cs diff --git a/crypto/src/crypto/signers/GOST3410Signer.cs b/src/BouncyCastle/crypto/signers/GOST3410Signer.cs similarity index 100% rename from crypto/src/crypto/signers/GOST3410Signer.cs rename to src/BouncyCastle/crypto/signers/GOST3410Signer.cs diff --git a/crypto/src/crypto/signers/GenericSigner.cs b/src/BouncyCastle/crypto/signers/GenericSigner.cs similarity index 100% rename from crypto/src/crypto/signers/GenericSigner.cs rename to src/BouncyCastle/crypto/signers/GenericSigner.cs diff --git a/crypto/src/crypto/signers/HMacDsaKCalculator.cs b/src/BouncyCastle/crypto/signers/HMacDsaKCalculator.cs similarity index 100% rename from crypto/src/crypto/signers/HMacDsaKCalculator.cs rename to src/BouncyCastle/crypto/signers/HMacDsaKCalculator.cs diff --git a/crypto/src/crypto/signers/IDsaEncoding.cs b/src/BouncyCastle/crypto/signers/IDsaEncoding.cs similarity index 100% rename from crypto/src/crypto/signers/IDsaEncoding.cs rename to src/BouncyCastle/crypto/signers/IDsaEncoding.cs diff --git a/crypto/src/crypto/signers/IDsaKCalculator.cs b/src/BouncyCastle/crypto/signers/IDsaKCalculator.cs similarity index 100% rename from crypto/src/crypto/signers/IDsaKCalculator.cs rename to src/BouncyCastle/crypto/signers/IDsaKCalculator.cs diff --git a/crypto/src/crypto/signers/Iso9796d2PssSigner.cs b/src/BouncyCastle/crypto/signers/Iso9796d2PssSigner.cs similarity index 100% rename from crypto/src/crypto/signers/Iso9796d2PssSigner.cs rename to src/BouncyCastle/crypto/signers/Iso9796d2PssSigner.cs diff --git a/crypto/src/crypto/signers/Iso9796d2Signer.cs b/src/BouncyCastle/crypto/signers/Iso9796d2Signer.cs similarity index 100% rename from crypto/src/crypto/signers/Iso9796d2Signer.cs rename to src/BouncyCastle/crypto/signers/Iso9796d2Signer.cs diff --git a/crypto/src/crypto/signers/IsoTrailers.cs b/src/BouncyCastle/crypto/signers/IsoTrailers.cs similarity index 100% rename from crypto/src/crypto/signers/IsoTrailers.cs rename to src/BouncyCastle/crypto/signers/IsoTrailers.cs diff --git a/crypto/src/crypto/signers/PlainDsaEncoding.cs b/src/BouncyCastle/crypto/signers/PlainDsaEncoding.cs similarity index 100% rename from crypto/src/crypto/signers/PlainDsaEncoding.cs rename to src/BouncyCastle/crypto/signers/PlainDsaEncoding.cs diff --git a/crypto/src/crypto/signers/PssSigner.cs b/src/BouncyCastle/crypto/signers/PssSigner.cs similarity index 100% rename from crypto/src/crypto/signers/PssSigner.cs rename to src/BouncyCastle/crypto/signers/PssSigner.cs diff --git a/crypto/src/crypto/signers/RandomDsaKCalculator.cs b/src/BouncyCastle/crypto/signers/RandomDsaKCalculator.cs similarity index 100% rename from crypto/src/crypto/signers/RandomDsaKCalculator.cs rename to src/BouncyCastle/crypto/signers/RandomDsaKCalculator.cs diff --git a/crypto/src/crypto/signers/RsaDigestSigner.cs b/src/BouncyCastle/crypto/signers/RsaDigestSigner.cs similarity index 100% rename from crypto/src/crypto/signers/RsaDigestSigner.cs rename to src/BouncyCastle/crypto/signers/RsaDigestSigner.cs diff --git a/crypto/src/crypto/signers/SM2Signer.cs b/src/BouncyCastle/crypto/signers/SM2Signer.cs similarity index 100% rename from crypto/src/crypto/signers/SM2Signer.cs rename to src/BouncyCastle/crypto/signers/SM2Signer.cs diff --git a/crypto/src/crypto/signers/StandardDsaEncoding.cs b/src/BouncyCastle/crypto/signers/StandardDsaEncoding.cs similarity index 100% rename from crypto/src/crypto/signers/StandardDsaEncoding.cs rename to src/BouncyCastle/crypto/signers/StandardDsaEncoding.cs diff --git a/crypto/src/crypto/signers/X931Signer.cs b/src/BouncyCastle/crypto/signers/X931Signer.cs similarity index 100% rename from crypto/src/crypto/signers/X931Signer.cs rename to src/BouncyCastle/crypto/signers/X931Signer.cs diff --git a/crypto/src/crypto/tls/AbstractTlsAgreementCredentials.cs b/src/BouncyCastle/crypto/tls/AbstractTlsAgreementCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsAgreementCredentials.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsAgreementCredentials.cs diff --git a/crypto/src/crypto/tls/AbstractTlsCipherFactory.cs b/src/BouncyCastle/crypto/tls/AbstractTlsCipherFactory.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsCipherFactory.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsCipherFactory.cs diff --git a/crypto/src/crypto/tls/AbstractTlsClient.cs b/src/BouncyCastle/crypto/tls/AbstractTlsClient.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsClient.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsClient.cs diff --git a/crypto/src/crypto/tls/AbstractTlsContext.cs b/src/BouncyCastle/crypto/tls/AbstractTlsContext.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsContext.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsContext.cs diff --git a/crypto/src/crypto/tls/AbstractTlsCredentials.cs b/src/BouncyCastle/crypto/tls/AbstractTlsCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsCredentials.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsCredentials.cs diff --git a/crypto/src/crypto/tls/AbstractTlsEncryptionCredentials.cs b/src/BouncyCastle/crypto/tls/AbstractTlsEncryptionCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsEncryptionCredentials.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsEncryptionCredentials.cs diff --git a/crypto/src/crypto/tls/AbstractTlsKeyExchange.cs b/src/BouncyCastle/crypto/tls/AbstractTlsKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsKeyExchange.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsKeyExchange.cs diff --git a/crypto/src/crypto/tls/AbstractTlsPeer.cs b/src/BouncyCastle/crypto/tls/AbstractTlsPeer.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsPeer.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsPeer.cs diff --git a/crypto/src/crypto/tls/AbstractTlsServer.cs b/src/BouncyCastle/crypto/tls/AbstractTlsServer.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsServer.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsServer.cs diff --git a/crypto/src/crypto/tls/AbstractTlsSigner.cs b/src/BouncyCastle/crypto/tls/AbstractTlsSigner.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsSigner.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsSigner.cs diff --git a/crypto/src/crypto/tls/AbstractTlsSignerCredentials.cs b/src/BouncyCastle/crypto/tls/AbstractTlsSignerCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/AbstractTlsSignerCredentials.cs rename to src/BouncyCastle/crypto/tls/AbstractTlsSignerCredentials.cs diff --git a/crypto/src/crypto/tls/AlertDescription.cs b/src/BouncyCastle/crypto/tls/AlertDescription.cs similarity index 100% rename from crypto/src/crypto/tls/AlertDescription.cs rename to src/BouncyCastle/crypto/tls/AlertDescription.cs diff --git a/crypto/src/crypto/tls/AlertLevel.cs b/src/BouncyCastle/crypto/tls/AlertLevel.cs similarity index 100% rename from crypto/src/crypto/tls/AlertLevel.cs rename to src/BouncyCastle/crypto/tls/AlertLevel.cs diff --git a/crypto/src/crypto/tls/BasicTlsPskIdentity.cs b/src/BouncyCastle/crypto/tls/BasicTlsPskIdentity.cs similarity index 100% rename from crypto/src/crypto/tls/BasicTlsPskIdentity.cs rename to src/BouncyCastle/crypto/tls/BasicTlsPskIdentity.cs diff --git a/crypto/src/crypto/tls/BulkCipherAlgorithm.cs b/src/BouncyCastle/crypto/tls/BulkCipherAlgorithm.cs similarity index 100% rename from crypto/src/crypto/tls/BulkCipherAlgorithm.cs rename to src/BouncyCastle/crypto/tls/BulkCipherAlgorithm.cs diff --git a/crypto/src/crypto/tls/ByteQueue.cs b/src/BouncyCastle/crypto/tls/ByteQueue.cs similarity index 100% rename from crypto/src/crypto/tls/ByteQueue.cs rename to src/BouncyCastle/crypto/tls/ByteQueue.cs diff --git a/crypto/src/crypto/tls/ByteQueueStream.cs b/src/BouncyCastle/crypto/tls/ByteQueueStream.cs similarity index 100% rename from crypto/src/crypto/tls/ByteQueueStream.cs rename to src/BouncyCastle/crypto/tls/ByteQueueStream.cs diff --git a/crypto/src/crypto/tls/CertChainType.cs b/src/BouncyCastle/crypto/tls/CertChainType.cs similarity index 100% rename from crypto/src/crypto/tls/CertChainType.cs rename to src/BouncyCastle/crypto/tls/CertChainType.cs diff --git a/crypto/src/crypto/tls/Certificate.cs b/src/BouncyCastle/crypto/tls/Certificate.cs similarity index 100% rename from crypto/src/crypto/tls/Certificate.cs rename to src/BouncyCastle/crypto/tls/Certificate.cs diff --git a/crypto/src/crypto/tls/CertificateRequest.cs b/src/BouncyCastle/crypto/tls/CertificateRequest.cs similarity index 100% rename from crypto/src/crypto/tls/CertificateRequest.cs rename to src/BouncyCastle/crypto/tls/CertificateRequest.cs diff --git a/crypto/src/crypto/tls/CertificateStatus.cs b/src/BouncyCastle/crypto/tls/CertificateStatus.cs similarity index 100% rename from crypto/src/crypto/tls/CertificateStatus.cs rename to src/BouncyCastle/crypto/tls/CertificateStatus.cs diff --git a/crypto/src/crypto/tls/CertificateStatusRequest.cs b/src/BouncyCastle/crypto/tls/CertificateStatusRequest.cs similarity index 100% rename from crypto/src/crypto/tls/CertificateStatusRequest.cs rename to src/BouncyCastle/crypto/tls/CertificateStatusRequest.cs diff --git a/crypto/src/crypto/tls/CertificateStatusType.cs b/src/BouncyCastle/crypto/tls/CertificateStatusType.cs similarity index 100% rename from crypto/src/crypto/tls/CertificateStatusType.cs rename to src/BouncyCastle/crypto/tls/CertificateStatusType.cs diff --git a/crypto/src/crypto/tls/CertificateType.cs b/src/BouncyCastle/crypto/tls/CertificateType.cs similarity index 100% rename from crypto/src/crypto/tls/CertificateType.cs rename to src/BouncyCastle/crypto/tls/CertificateType.cs diff --git a/crypto/src/crypto/tls/CertificateUrl.cs b/src/BouncyCastle/crypto/tls/CertificateUrl.cs similarity index 100% rename from crypto/src/crypto/tls/CertificateUrl.cs rename to src/BouncyCastle/crypto/tls/CertificateUrl.cs diff --git a/crypto/src/crypto/tls/Chacha20Poly1305.cs b/src/BouncyCastle/crypto/tls/Chacha20Poly1305.cs similarity index 100% rename from crypto/src/crypto/tls/Chacha20Poly1305.cs rename to src/BouncyCastle/crypto/tls/Chacha20Poly1305.cs diff --git a/crypto/src/crypto/tls/ChangeCipherSpec.cs b/src/BouncyCastle/crypto/tls/ChangeCipherSpec.cs similarity index 100% rename from crypto/src/crypto/tls/ChangeCipherSpec.cs rename to src/BouncyCastle/crypto/tls/ChangeCipherSpec.cs diff --git a/crypto/src/crypto/tls/CipherSuite.cs b/src/BouncyCastle/crypto/tls/CipherSuite.cs similarity index 100% rename from crypto/src/crypto/tls/CipherSuite.cs rename to src/BouncyCastle/crypto/tls/CipherSuite.cs diff --git a/crypto/src/crypto/tls/CipherType.cs b/src/BouncyCastle/crypto/tls/CipherType.cs similarity index 100% rename from crypto/src/crypto/tls/CipherType.cs rename to src/BouncyCastle/crypto/tls/CipherType.cs diff --git a/crypto/src/crypto/tls/ClientAuthenticationType.cs b/src/BouncyCastle/crypto/tls/ClientAuthenticationType.cs similarity index 100% rename from crypto/src/crypto/tls/ClientAuthenticationType.cs rename to src/BouncyCastle/crypto/tls/ClientAuthenticationType.cs diff --git a/crypto/src/crypto/tls/ClientCertificateType.cs b/src/BouncyCastle/crypto/tls/ClientCertificateType.cs similarity index 100% rename from crypto/src/crypto/tls/ClientCertificateType.cs rename to src/BouncyCastle/crypto/tls/ClientCertificateType.cs diff --git a/crypto/src/crypto/tls/CombinedHash.cs b/src/BouncyCastle/crypto/tls/CombinedHash.cs similarity index 100% rename from crypto/src/crypto/tls/CombinedHash.cs rename to src/BouncyCastle/crypto/tls/CombinedHash.cs diff --git a/crypto/src/crypto/tls/CompressionMethod.cs b/src/BouncyCastle/crypto/tls/CompressionMethod.cs similarity index 100% rename from crypto/src/crypto/tls/CompressionMethod.cs rename to src/BouncyCastle/crypto/tls/CompressionMethod.cs diff --git a/crypto/src/crypto/tls/ConnectionEnd.cs b/src/BouncyCastle/crypto/tls/ConnectionEnd.cs similarity index 100% rename from crypto/src/crypto/tls/ConnectionEnd.cs rename to src/BouncyCastle/crypto/tls/ConnectionEnd.cs diff --git a/crypto/src/crypto/tls/ContentType.cs b/src/BouncyCastle/crypto/tls/ContentType.cs similarity index 100% rename from crypto/src/crypto/tls/ContentType.cs rename to src/BouncyCastle/crypto/tls/ContentType.cs diff --git a/crypto/src/crypto/tls/DatagramTransport.cs b/src/BouncyCastle/crypto/tls/DatagramTransport.cs similarity index 100% rename from crypto/src/crypto/tls/DatagramTransport.cs rename to src/BouncyCastle/crypto/tls/DatagramTransport.cs diff --git a/crypto/src/crypto/tls/DefaultTlsAgreementCredentials.cs b/src/BouncyCastle/crypto/tls/DefaultTlsAgreementCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/DefaultTlsAgreementCredentials.cs rename to src/BouncyCastle/crypto/tls/DefaultTlsAgreementCredentials.cs diff --git a/crypto/src/crypto/tls/DefaultTlsCipherFactory.cs b/src/BouncyCastle/crypto/tls/DefaultTlsCipherFactory.cs similarity index 100% rename from crypto/src/crypto/tls/DefaultTlsCipherFactory.cs rename to src/BouncyCastle/crypto/tls/DefaultTlsCipherFactory.cs diff --git a/crypto/src/crypto/tls/DefaultTlsClient.cs b/src/BouncyCastle/crypto/tls/DefaultTlsClient.cs similarity index 100% rename from crypto/src/crypto/tls/DefaultTlsClient.cs rename to src/BouncyCastle/crypto/tls/DefaultTlsClient.cs diff --git a/crypto/src/crypto/tls/DefaultTlsDHVerifier.cs b/src/BouncyCastle/crypto/tls/DefaultTlsDHVerifier.cs similarity index 100% rename from crypto/src/crypto/tls/DefaultTlsDHVerifier.cs rename to src/BouncyCastle/crypto/tls/DefaultTlsDHVerifier.cs diff --git a/crypto/src/crypto/tls/DefaultTlsEncryptionCredentials.cs b/src/BouncyCastle/crypto/tls/DefaultTlsEncryptionCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/DefaultTlsEncryptionCredentials.cs rename to src/BouncyCastle/crypto/tls/DefaultTlsEncryptionCredentials.cs diff --git a/crypto/src/crypto/tls/DefaultTlsServer.cs b/src/BouncyCastle/crypto/tls/DefaultTlsServer.cs similarity index 100% rename from crypto/src/crypto/tls/DefaultTlsServer.cs rename to src/BouncyCastle/crypto/tls/DefaultTlsServer.cs diff --git a/crypto/src/crypto/tls/DefaultTlsSignerCredentials.cs b/src/BouncyCastle/crypto/tls/DefaultTlsSignerCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/DefaultTlsSignerCredentials.cs rename to src/BouncyCastle/crypto/tls/DefaultTlsSignerCredentials.cs diff --git a/crypto/src/crypto/tls/DefaultTlsSrpGroupVerifier.cs b/src/BouncyCastle/crypto/tls/DefaultTlsSrpGroupVerifier.cs similarity index 100% rename from crypto/src/crypto/tls/DefaultTlsSrpGroupVerifier.cs rename to src/BouncyCastle/crypto/tls/DefaultTlsSrpGroupVerifier.cs diff --git a/crypto/src/crypto/tls/DeferredHash.cs b/src/BouncyCastle/crypto/tls/DeferredHash.cs similarity index 100% rename from crypto/src/crypto/tls/DeferredHash.cs rename to src/BouncyCastle/crypto/tls/DeferredHash.cs diff --git a/crypto/src/crypto/tls/DigestInputBuffer.cs b/src/BouncyCastle/crypto/tls/DigestInputBuffer.cs similarity index 100% rename from crypto/src/crypto/tls/DigestInputBuffer.cs rename to src/BouncyCastle/crypto/tls/DigestInputBuffer.cs diff --git a/crypto/src/crypto/tls/DigitallySigned.cs b/src/BouncyCastle/crypto/tls/DigitallySigned.cs similarity index 100% rename from crypto/src/crypto/tls/DigitallySigned.cs rename to src/BouncyCastle/crypto/tls/DigitallySigned.cs diff --git a/crypto/src/crypto/tls/DtlsClientProtocol.cs b/src/BouncyCastle/crypto/tls/DtlsClientProtocol.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsClientProtocol.cs rename to src/BouncyCastle/crypto/tls/DtlsClientProtocol.cs diff --git a/crypto/src/crypto/tls/DtlsEpoch.cs b/src/BouncyCastle/crypto/tls/DtlsEpoch.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsEpoch.cs rename to src/BouncyCastle/crypto/tls/DtlsEpoch.cs diff --git a/crypto/src/crypto/tls/DtlsHandshakeRetransmit.cs b/src/BouncyCastle/crypto/tls/DtlsHandshakeRetransmit.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsHandshakeRetransmit.cs rename to src/BouncyCastle/crypto/tls/DtlsHandshakeRetransmit.cs diff --git a/crypto/src/crypto/tls/DtlsProtocol.cs b/src/BouncyCastle/crypto/tls/DtlsProtocol.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsProtocol.cs rename to src/BouncyCastle/crypto/tls/DtlsProtocol.cs diff --git a/crypto/src/crypto/tls/DtlsReassembler.cs b/src/BouncyCastle/crypto/tls/DtlsReassembler.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsReassembler.cs rename to src/BouncyCastle/crypto/tls/DtlsReassembler.cs diff --git a/crypto/src/crypto/tls/DtlsRecordLayer.cs b/src/BouncyCastle/crypto/tls/DtlsRecordLayer.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsRecordLayer.cs rename to src/BouncyCastle/crypto/tls/DtlsRecordLayer.cs diff --git a/crypto/src/crypto/tls/DtlsReliableHandshake.cs b/src/BouncyCastle/crypto/tls/DtlsReliableHandshake.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsReliableHandshake.cs rename to src/BouncyCastle/crypto/tls/DtlsReliableHandshake.cs diff --git a/crypto/src/crypto/tls/DtlsReplayWindow.cs b/src/BouncyCastle/crypto/tls/DtlsReplayWindow.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsReplayWindow.cs rename to src/BouncyCastle/crypto/tls/DtlsReplayWindow.cs diff --git a/crypto/src/crypto/tls/DtlsServerProtocol.cs b/src/BouncyCastle/crypto/tls/DtlsServerProtocol.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsServerProtocol.cs rename to src/BouncyCastle/crypto/tls/DtlsServerProtocol.cs diff --git a/crypto/src/crypto/tls/DtlsTransport.cs b/src/BouncyCastle/crypto/tls/DtlsTransport.cs similarity index 100% rename from crypto/src/crypto/tls/DtlsTransport.cs rename to src/BouncyCastle/crypto/tls/DtlsTransport.cs diff --git a/crypto/src/crypto/tls/ECBasisType.cs b/src/BouncyCastle/crypto/tls/ECBasisType.cs similarity index 100% rename from crypto/src/crypto/tls/ECBasisType.cs rename to src/BouncyCastle/crypto/tls/ECBasisType.cs diff --git a/crypto/src/crypto/tls/ECCurveType.cs b/src/BouncyCastle/crypto/tls/ECCurveType.cs similarity index 100% rename from crypto/src/crypto/tls/ECCurveType.cs rename to src/BouncyCastle/crypto/tls/ECCurveType.cs diff --git a/crypto/src/crypto/tls/ECPointFormat.cs b/src/BouncyCastle/crypto/tls/ECPointFormat.cs similarity index 100% rename from crypto/src/crypto/tls/ECPointFormat.cs rename to src/BouncyCastle/crypto/tls/ECPointFormat.cs diff --git a/crypto/src/crypto/tls/EncryptionAlgorithm.cs b/src/BouncyCastle/crypto/tls/EncryptionAlgorithm.cs similarity index 100% rename from crypto/src/crypto/tls/EncryptionAlgorithm.cs rename to src/BouncyCastle/crypto/tls/EncryptionAlgorithm.cs diff --git a/crypto/src/crypto/tls/ExporterLabel.cs b/src/BouncyCastle/crypto/tls/ExporterLabel.cs similarity index 100% rename from crypto/src/crypto/tls/ExporterLabel.cs rename to src/BouncyCastle/crypto/tls/ExporterLabel.cs diff --git a/crypto/src/crypto/tls/ExtensionType.cs b/src/BouncyCastle/crypto/tls/ExtensionType.cs similarity index 100% rename from crypto/src/crypto/tls/ExtensionType.cs rename to src/BouncyCastle/crypto/tls/ExtensionType.cs diff --git a/crypto/src/crypto/tls/FiniteFieldDheGroup.cs b/src/BouncyCastle/crypto/tls/FiniteFieldDheGroup.cs similarity index 100% rename from crypto/src/crypto/tls/FiniteFieldDheGroup.cs rename to src/BouncyCastle/crypto/tls/FiniteFieldDheGroup.cs diff --git a/crypto/src/crypto/tls/HandshakeType.cs b/src/BouncyCastle/crypto/tls/HandshakeType.cs similarity index 100% rename from crypto/src/crypto/tls/HandshakeType.cs rename to src/BouncyCastle/crypto/tls/HandshakeType.cs diff --git a/crypto/src/crypto/tls/HashAlgorithm.cs b/src/BouncyCastle/crypto/tls/HashAlgorithm.cs similarity index 100% rename from crypto/src/crypto/tls/HashAlgorithm.cs rename to src/BouncyCastle/crypto/tls/HashAlgorithm.cs diff --git a/crypto/src/crypto/tls/HeartbeatExtension.cs b/src/BouncyCastle/crypto/tls/HeartbeatExtension.cs similarity index 100% rename from crypto/src/crypto/tls/HeartbeatExtension.cs rename to src/BouncyCastle/crypto/tls/HeartbeatExtension.cs diff --git a/crypto/src/crypto/tls/HeartbeatMessage.cs b/src/BouncyCastle/crypto/tls/HeartbeatMessage.cs similarity index 100% rename from crypto/src/crypto/tls/HeartbeatMessage.cs rename to src/BouncyCastle/crypto/tls/HeartbeatMessage.cs diff --git a/crypto/src/crypto/tls/HeartbeatMessageType.cs b/src/BouncyCastle/crypto/tls/HeartbeatMessageType.cs similarity index 100% rename from crypto/src/crypto/tls/HeartbeatMessageType.cs rename to src/BouncyCastle/crypto/tls/HeartbeatMessageType.cs diff --git a/crypto/src/crypto/tls/HeartbeatMode.cs b/src/BouncyCastle/crypto/tls/HeartbeatMode.cs similarity index 100% rename from crypto/src/crypto/tls/HeartbeatMode.cs rename to src/BouncyCastle/crypto/tls/HeartbeatMode.cs diff --git a/crypto/src/crypto/tls/KeyExchangeAlgorithm.cs b/src/BouncyCastle/crypto/tls/KeyExchangeAlgorithm.cs similarity index 100% rename from crypto/src/crypto/tls/KeyExchangeAlgorithm.cs rename to src/BouncyCastle/crypto/tls/KeyExchangeAlgorithm.cs diff --git a/crypto/src/crypto/tls/MacAlgorithm.cs b/src/BouncyCastle/crypto/tls/MacAlgorithm.cs similarity index 100% rename from crypto/src/crypto/tls/MacAlgorithm.cs rename to src/BouncyCastle/crypto/tls/MacAlgorithm.cs diff --git a/crypto/src/crypto/tls/MaxFragmentLength.cs b/src/BouncyCastle/crypto/tls/MaxFragmentLength.cs similarity index 100% rename from crypto/src/crypto/tls/MaxFragmentLength.cs rename to src/BouncyCastle/crypto/tls/MaxFragmentLength.cs diff --git a/crypto/src/crypto/tls/NameType.cs b/src/BouncyCastle/crypto/tls/NameType.cs similarity index 100% rename from crypto/src/crypto/tls/NameType.cs rename to src/BouncyCastle/crypto/tls/NameType.cs diff --git a/crypto/src/crypto/tls/NamedCurve.cs b/src/BouncyCastle/crypto/tls/NamedCurve.cs similarity index 100% rename from crypto/src/crypto/tls/NamedCurve.cs rename to src/BouncyCastle/crypto/tls/NamedCurve.cs diff --git a/crypto/src/crypto/tls/NewSessionTicket.cs b/src/BouncyCastle/crypto/tls/NewSessionTicket.cs similarity index 100% rename from crypto/src/crypto/tls/NewSessionTicket.cs rename to src/BouncyCastle/crypto/tls/NewSessionTicket.cs diff --git a/crypto/src/crypto/tls/OcspStatusRequest.cs b/src/BouncyCastle/crypto/tls/OcspStatusRequest.cs similarity index 100% rename from crypto/src/crypto/tls/OcspStatusRequest.cs rename to src/BouncyCastle/crypto/tls/OcspStatusRequest.cs diff --git a/crypto/src/crypto/tls/PrfAlgorithm.cs b/src/BouncyCastle/crypto/tls/PrfAlgorithm.cs similarity index 100% rename from crypto/src/crypto/tls/PrfAlgorithm.cs rename to src/BouncyCastle/crypto/tls/PrfAlgorithm.cs diff --git a/crypto/src/crypto/tls/ProtocolVersion.cs b/src/BouncyCastle/crypto/tls/ProtocolVersion.cs similarity index 100% rename from crypto/src/crypto/tls/ProtocolVersion.cs rename to src/BouncyCastle/crypto/tls/ProtocolVersion.cs diff --git a/crypto/src/crypto/tls/PskTlsClient.cs b/src/BouncyCastle/crypto/tls/PskTlsClient.cs similarity index 100% rename from crypto/src/crypto/tls/PskTlsClient.cs rename to src/BouncyCastle/crypto/tls/PskTlsClient.cs diff --git a/crypto/src/crypto/tls/PskTlsServer.cs b/src/BouncyCastle/crypto/tls/PskTlsServer.cs similarity index 100% rename from crypto/src/crypto/tls/PskTlsServer.cs rename to src/BouncyCastle/crypto/tls/PskTlsServer.cs diff --git a/crypto/src/crypto/tls/RecordStream.cs b/src/BouncyCastle/crypto/tls/RecordStream.cs similarity index 100% rename from crypto/src/crypto/tls/RecordStream.cs rename to src/BouncyCastle/crypto/tls/RecordStream.cs diff --git a/crypto/src/crypto/tls/SecurityParameters.cs b/src/BouncyCastle/crypto/tls/SecurityParameters.cs similarity index 100% rename from crypto/src/crypto/tls/SecurityParameters.cs rename to src/BouncyCastle/crypto/tls/SecurityParameters.cs diff --git a/crypto/src/crypto/tls/ServerName.cs b/src/BouncyCastle/crypto/tls/ServerName.cs similarity index 100% rename from crypto/src/crypto/tls/ServerName.cs rename to src/BouncyCastle/crypto/tls/ServerName.cs diff --git a/crypto/src/crypto/tls/ServerNameList.cs b/src/BouncyCastle/crypto/tls/ServerNameList.cs similarity index 100% rename from crypto/src/crypto/tls/ServerNameList.cs rename to src/BouncyCastle/crypto/tls/ServerNameList.cs diff --git a/crypto/src/crypto/tls/ServerOnlyTlsAuthentication.cs b/src/BouncyCastle/crypto/tls/ServerOnlyTlsAuthentication.cs similarity index 100% rename from crypto/src/crypto/tls/ServerOnlyTlsAuthentication.cs rename to src/BouncyCastle/crypto/tls/ServerOnlyTlsAuthentication.cs diff --git a/crypto/src/crypto/tls/ServerSrpParams.cs b/src/BouncyCastle/crypto/tls/ServerSrpParams.cs similarity index 100% rename from crypto/src/crypto/tls/ServerSrpParams.cs rename to src/BouncyCastle/crypto/tls/ServerSrpParams.cs diff --git a/crypto/src/crypto/tls/SessionParameters.cs b/src/BouncyCastle/crypto/tls/SessionParameters.cs similarity index 100% rename from crypto/src/crypto/tls/SessionParameters.cs rename to src/BouncyCastle/crypto/tls/SessionParameters.cs diff --git a/crypto/src/crypto/tls/SignatureAlgorithm.cs b/src/BouncyCastle/crypto/tls/SignatureAlgorithm.cs similarity index 100% rename from crypto/src/crypto/tls/SignatureAlgorithm.cs rename to src/BouncyCastle/crypto/tls/SignatureAlgorithm.cs diff --git a/crypto/src/crypto/tls/SignatureAndHashAlgorithm.cs b/src/BouncyCastle/crypto/tls/SignatureAndHashAlgorithm.cs similarity index 100% rename from crypto/src/crypto/tls/SignatureAndHashAlgorithm.cs rename to src/BouncyCastle/crypto/tls/SignatureAndHashAlgorithm.cs diff --git a/crypto/src/crypto/tls/SignerInputBuffer.cs b/src/BouncyCastle/crypto/tls/SignerInputBuffer.cs similarity index 100% rename from crypto/src/crypto/tls/SignerInputBuffer.cs rename to src/BouncyCastle/crypto/tls/SignerInputBuffer.cs diff --git a/crypto/src/crypto/tls/SimulatedTlsSrpIdentityManager.cs b/src/BouncyCastle/crypto/tls/SimulatedTlsSrpIdentityManager.cs similarity index 100% rename from crypto/src/crypto/tls/SimulatedTlsSrpIdentityManager.cs rename to src/BouncyCastle/crypto/tls/SimulatedTlsSrpIdentityManager.cs diff --git a/crypto/src/crypto/tls/SrpTlsClient.cs b/src/BouncyCastle/crypto/tls/SrpTlsClient.cs similarity index 100% rename from crypto/src/crypto/tls/SrpTlsClient.cs rename to src/BouncyCastle/crypto/tls/SrpTlsClient.cs diff --git a/crypto/src/crypto/tls/SrpTlsServer.cs b/src/BouncyCastle/crypto/tls/SrpTlsServer.cs similarity index 100% rename from crypto/src/crypto/tls/SrpTlsServer.cs rename to src/BouncyCastle/crypto/tls/SrpTlsServer.cs diff --git a/crypto/src/crypto/tls/SrtpProtectionProfile.cs b/src/BouncyCastle/crypto/tls/SrtpProtectionProfile.cs similarity index 100% rename from crypto/src/crypto/tls/SrtpProtectionProfile.cs rename to src/BouncyCastle/crypto/tls/SrtpProtectionProfile.cs diff --git a/crypto/src/crypto/tls/Ssl3Mac.cs b/src/BouncyCastle/crypto/tls/Ssl3Mac.cs similarity index 100% rename from crypto/src/crypto/tls/Ssl3Mac.cs rename to src/BouncyCastle/crypto/tls/Ssl3Mac.cs diff --git a/crypto/src/crypto/tls/SupplementalDataEntry.cs b/src/BouncyCastle/crypto/tls/SupplementalDataEntry.cs similarity index 100% rename from crypto/src/crypto/tls/SupplementalDataEntry.cs rename to src/BouncyCastle/crypto/tls/SupplementalDataEntry.cs diff --git a/crypto/src/crypto/tls/SupplementalDataType.cs b/src/BouncyCastle/crypto/tls/SupplementalDataType.cs similarity index 100% rename from crypto/src/crypto/tls/SupplementalDataType.cs rename to src/BouncyCastle/crypto/tls/SupplementalDataType.cs diff --git a/crypto/src/crypto/tls/TlsAeadCipher.cs b/src/BouncyCastle/crypto/tls/TlsAeadCipher.cs similarity index 100% rename from crypto/src/crypto/tls/TlsAeadCipher.cs rename to src/BouncyCastle/crypto/tls/TlsAeadCipher.cs diff --git a/crypto/src/crypto/tls/TlsAgreementCredentials.cs b/src/BouncyCastle/crypto/tls/TlsAgreementCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/TlsAgreementCredentials.cs rename to src/BouncyCastle/crypto/tls/TlsAgreementCredentials.cs diff --git a/crypto/src/crypto/tls/TlsAuthentication.cs b/src/BouncyCastle/crypto/tls/TlsAuthentication.cs similarity index 100% rename from crypto/src/crypto/tls/TlsAuthentication.cs rename to src/BouncyCastle/crypto/tls/TlsAuthentication.cs diff --git a/crypto/src/crypto/tls/TlsBlockCipher.cs b/src/BouncyCastle/crypto/tls/TlsBlockCipher.cs similarity index 100% rename from crypto/src/crypto/tls/TlsBlockCipher.cs rename to src/BouncyCastle/crypto/tls/TlsBlockCipher.cs diff --git a/crypto/src/crypto/tls/TlsCipher.cs b/src/BouncyCastle/crypto/tls/TlsCipher.cs similarity index 100% rename from crypto/src/crypto/tls/TlsCipher.cs rename to src/BouncyCastle/crypto/tls/TlsCipher.cs diff --git a/crypto/src/crypto/tls/TlsCipherFactory.cs b/src/BouncyCastle/crypto/tls/TlsCipherFactory.cs similarity index 100% rename from crypto/src/crypto/tls/TlsCipherFactory.cs rename to src/BouncyCastle/crypto/tls/TlsCipherFactory.cs diff --git a/crypto/src/crypto/tls/TlsClient.cs b/src/BouncyCastle/crypto/tls/TlsClient.cs similarity index 100% rename from crypto/src/crypto/tls/TlsClient.cs rename to src/BouncyCastle/crypto/tls/TlsClient.cs diff --git a/crypto/src/crypto/tls/TlsClientContext.cs b/src/BouncyCastle/crypto/tls/TlsClientContext.cs similarity index 100% rename from crypto/src/crypto/tls/TlsClientContext.cs rename to src/BouncyCastle/crypto/tls/TlsClientContext.cs diff --git a/crypto/src/crypto/tls/TlsClientContextImpl.cs b/src/BouncyCastle/crypto/tls/TlsClientContextImpl.cs similarity index 100% rename from crypto/src/crypto/tls/TlsClientContextImpl.cs rename to src/BouncyCastle/crypto/tls/TlsClientContextImpl.cs diff --git a/crypto/src/crypto/tls/TlsClientProtocol.cs b/src/BouncyCastle/crypto/tls/TlsClientProtocol.cs similarity index 100% rename from crypto/src/crypto/tls/TlsClientProtocol.cs rename to src/BouncyCastle/crypto/tls/TlsClientProtocol.cs diff --git a/crypto/src/crypto/tls/TlsCompression.cs b/src/BouncyCastle/crypto/tls/TlsCompression.cs similarity index 100% rename from crypto/src/crypto/tls/TlsCompression.cs rename to src/BouncyCastle/crypto/tls/TlsCompression.cs diff --git a/crypto/src/crypto/tls/TlsContext.cs b/src/BouncyCastle/crypto/tls/TlsContext.cs similarity index 100% rename from crypto/src/crypto/tls/TlsContext.cs rename to src/BouncyCastle/crypto/tls/TlsContext.cs diff --git a/crypto/src/crypto/tls/TlsCredentials.cs b/src/BouncyCastle/crypto/tls/TlsCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/TlsCredentials.cs rename to src/BouncyCastle/crypto/tls/TlsCredentials.cs diff --git a/crypto/src/crypto/tls/TlsDHKeyExchange.cs b/src/BouncyCastle/crypto/tls/TlsDHKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/TlsDHKeyExchange.cs rename to src/BouncyCastle/crypto/tls/TlsDHKeyExchange.cs diff --git a/crypto/src/crypto/tls/TlsDHUtilities.cs b/src/BouncyCastle/crypto/tls/TlsDHUtilities.cs similarity index 100% rename from crypto/src/crypto/tls/TlsDHUtilities.cs rename to src/BouncyCastle/crypto/tls/TlsDHUtilities.cs diff --git a/crypto/src/crypto/tls/TlsDHVerifier.cs b/src/BouncyCastle/crypto/tls/TlsDHVerifier.cs similarity index 100% rename from crypto/src/crypto/tls/TlsDHVerifier.cs rename to src/BouncyCastle/crypto/tls/TlsDHVerifier.cs diff --git a/crypto/src/crypto/tls/TlsDeflateCompression.cs b/src/BouncyCastle/crypto/tls/TlsDeflateCompression.cs similarity index 100% rename from crypto/src/crypto/tls/TlsDeflateCompression.cs rename to src/BouncyCastle/crypto/tls/TlsDeflateCompression.cs diff --git a/crypto/src/crypto/tls/TlsDheKeyExchange.cs b/src/BouncyCastle/crypto/tls/TlsDheKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/TlsDheKeyExchange.cs rename to src/BouncyCastle/crypto/tls/TlsDheKeyExchange.cs diff --git a/crypto/src/crypto/tls/TlsDsaSigner.cs b/src/BouncyCastle/crypto/tls/TlsDsaSigner.cs similarity index 100% rename from crypto/src/crypto/tls/TlsDsaSigner.cs rename to src/BouncyCastle/crypto/tls/TlsDsaSigner.cs diff --git a/crypto/src/crypto/tls/TlsDssSigner.cs b/src/BouncyCastle/crypto/tls/TlsDssSigner.cs similarity index 100% rename from crypto/src/crypto/tls/TlsDssSigner.cs rename to src/BouncyCastle/crypto/tls/TlsDssSigner.cs diff --git a/crypto/src/crypto/tls/TlsECDHKeyExchange.cs b/src/BouncyCastle/crypto/tls/TlsECDHKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/TlsECDHKeyExchange.cs rename to src/BouncyCastle/crypto/tls/TlsECDHKeyExchange.cs diff --git a/crypto/src/crypto/tls/TlsECDheKeyExchange.cs b/src/BouncyCastle/crypto/tls/TlsECDheKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/TlsECDheKeyExchange.cs rename to src/BouncyCastle/crypto/tls/TlsECDheKeyExchange.cs diff --git a/crypto/src/crypto/tls/TlsECDsaSigner.cs b/src/BouncyCastle/crypto/tls/TlsECDsaSigner.cs similarity index 100% rename from crypto/src/crypto/tls/TlsECDsaSigner.cs rename to src/BouncyCastle/crypto/tls/TlsECDsaSigner.cs diff --git a/crypto/src/crypto/tls/TlsEccUtilities.cs b/src/BouncyCastle/crypto/tls/TlsEccUtilities.cs similarity index 100% rename from crypto/src/crypto/tls/TlsEccUtilities.cs rename to src/BouncyCastle/crypto/tls/TlsEccUtilities.cs diff --git a/crypto/src/crypto/tls/TlsEncryptionCredentials.cs b/src/BouncyCastle/crypto/tls/TlsEncryptionCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/TlsEncryptionCredentials.cs rename to src/BouncyCastle/crypto/tls/TlsEncryptionCredentials.cs diff --git a/crypto/src/crypto/tls/TlsException.cs b/src/BouncyCastle/crypto/tls/TlsException.cs similarity index 100% rename from crypto/src/crypto/tls/TlsException.cs rename to src/BouncyCastle/crypto/tls/TlsException.cs diff --git a/crypto/src/crypto/tls/TlsExtensionsUtilities.cs b/src/BouncyCastle/crypto/tls/TlsExtensionsUtilities.cs similarity index 100% rename from crypto/src/crypto/tls/TlsExtensionsUtilities.cs rename to src/BouncyCastle/crypto/tls/TlsExtensionsUtilities.cs diff --git a/crypto/src/crypto/tls/TlsFatalAlert.cs b/src/BouncyCastle/crypto/tls/TlsFatalAlert.cs similarity index 100% rename from crypto/src/crypto/tls/TlsFatalAlert.cs rename to src/BouncyCastle/crypto/tls/TlsFatalAlert.cs diff --git a/crypto/src/crypto/tls/TlsFatalAlertReceived.cs b/src/BouncyCastle/crypto/tls/TlsFatalAlertReceived.cs similarity index 100% rename from crypto/src/crypto/tls/TlsFatalAlertReceived.cs rename to src/BouncyCastle/crypto/tls/TlsFatalAlertReceived.cs diff --git a/crypto/src/crypto/tls/TlsHandshakeHash.cs b/src/BouncyCastle/crypto/tls/TlsHandshakeHash.cs similarity index 100% rename from crypto/src/crypto/tls/TlsHandshakeHash.cs rename to src/BouncyCastle/crypto/tls/TlsHandshakeHash.cs diff --git a/crypto/src/crypto/tls/TlsKeyExchange.cs b/src/BouncyCastle/crypto/tls/TlsKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/TlsKeyExchange.cs rename to src/BouncyCastle/crypto/tls/TlsKeyExchange.cs diff --git a/crypto/src/crypto/tls/TlsMac.cs b/src/BouncyCastle/crypto/tls/TlsMac.cs similarity index 100% rename from crypto/src/crypto/tls/TlsMac.cs rename to src/BouncyCastle/crypto/tls/TlsMac.cs diff --git a/crypto/src/crypto/tls/TlsNoCloseNotifyException.cs b/src/BouncyCastle/crypto/tls/TlsNoCloseNotifyException.cs similarity index 100% rename from crypto/src/crypto/tls/TlsNoCloseNotifyException.cs rename to src/BouncyCastle/crypto/tls/TlsNoCloseNotifyException.cs diff --git a/crypto/src/crypto/tls/TlsNullCipher.cs b/src/BouncyCastle/crypto/tls/TlsNullCipher.cs similarity index 100% rename from crypto/src/crypto/tls/TlsNullCipher.cs rename to src/BouncyCastle/crypto/tls/TlsNullCipher.cs diff --git a/crypto/src/crypto/tls/TlsNullCompression.cs b/src/BouncyCastle/crypto/tls/TlsNullCompression.cs similarity index 100% rename from crypto/src/crypto/tls/TlsNullCompression.cs rename to src/BouncyCastle/crypto/tls/TlsNullCompression.cs diff --git a/crypto/src/crypto/tls/TlsPeer.cs b/src/BouncyCastle/crypto/tls/TlsPeer.cs similarity index 100% rename from crypto/src/crypto/tls/TlsPeer.cs rename to src/BouncyCastle/crypto/tls/TlsPeer.cs diff --git a/crypto/src/crypto/tls/TlsProtocol.cs b/src/BouncyCastle/crypto/tls/TlsProtocol.cs similarity index 100% rename from crypto/src/crypto/tls/TlsProtocol.cs rename to src/BouncyCastle/crypto/tls/TlsProtocol.cs diff --git a/crypto/src/crypto/tls/TlsProtocolHandler.cs b/src/BouncyCastle/crypto/tls/TlsProtocolHandler.cs similarity index 100% rename from crypto/src/crypto/tls/TlsProtocolHandler.cs rename to src/BouncyCastle/crypto/tls/TlsProtocolHandler.cs diff --git a/crypto/src/crypto/tls/TlsPskIdentity.cs b/src/BouncyCastle/crypto/tls/TlsPskIdentity.cs similarity index 100% rename from crypto/src/crypto/tls/TlsPskIdentity.cs rename to src/BouncyCastle/crypto/tls/TlsPskIdentity.cs diff --git a/crypto/src/crypto/tls/TlsPskIdentityManager.cs b/src/BouncyCastle/crypto/tls/TlsPskIdentityManager.cs similarity index 100% rename from crypto/src/crypto/tls/TlsPskIdentityManager.cs rename to src/BouncyCastle/crypto/tls/TlsPskIdentityManager.cs diff --git a/crypto/src/crypto/tls/TlsPskKeyExchange.cs b/src/BouncyCastle/crypto/tls/TlsPskKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/TlsPskKeyExchange.cs rename to src/BouncyCastle/crypto/tls/TlsPskKeyExchange.cs diff --git a/crypto/src/crypto/tls/TlsRsaKeyExchange.cs b/src/BouncyCastle/crypto/tls/TlsRsaKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/TlsRsaKeyExchange.cs rename to src/BouncyCastle/crypto/tls/TlsRsaKeyExchange.cs diff --git a/crypto/src/crypto/tls/TlsRsaSigner.cs b/src/BouncyCastle/crypto/tls/TlsRsaSigner.cs similarity index 100% rename from crypto/src/crypto/tls/TlsRsaSigner.cs rename to src/BouncyCastle/crypto/tls/TlsRsaSigner.cs diff --git a/crypto/src/crypto/tls/TlsRsaUtilities.cs b/src/BouncyCastle/crypto/tls/TlsRsaUtilities.cs similarity index 100% rename from crypto/src/crypto/tls/TlsRsaUtilities.cs rename to src/BouncyCastle/crypto/tls/TlsRsaUtilities.cs diff --git a/crypto/src/crypto/tls/TlsServer.cs b/src/BouncyCastle/crypto/tls/TlsServer.cs similarity index 100% rename from crypto/src/crypto/tls/TlsServer.cs rename to src/BouncyCastle/crypto/tls/TlsServer.cs diff --git a/crypto/src/crypto/tls/TlsServerContext.cs b/src/BouncyCastle/crypto/tls/TlsServerContext.cs similarity index 100% rename from crypto/src/crypto/tls/TlsServerContext.cs rename to src/BouncyCastle/crypto/tls/TlsServerContext.cs diff --git a/crypto/src/crypto/tls/TlsServerContextImpl.cs b/src/BouncyCastle/crypto/tls/TlsServerContextImpl.cs similarity index 100% rename from crypto/src/crypto/tls/TlsServerContextImpl.cs rename to src/BouncyCastle/crypto/tls/TlsServerContextImpl.cs diff --git a/crypto/src/crypto/tls/TlsServerProtocol.cs b/src/BouncyCastle/crypto/tls/TlsServerProtocol.cs similarity index 100% rename from crypto/src/crypto/tls/TlsServerProtocol.cs rename to src/BouncyCastle/crypto/tls/TlsServerProtocol.cs diff --git a/crypto/src/crypto/tls/TlsSession.cs b/src/BouncyCastle/crypto/tls/TlsSession.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSession.cs rename to src/BouncyCastle/crypto/tls/TlsSession.cs diff --git a/crypto/src/crypto/tls/TlsSessionImpl.cs b/src/BouncyCastle/crypto/tls/TlsSessionImpl.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSessionImpl.cs rename to src/BouncyCastle/crypto/tls/TlsSessionImpl.cs diff --git a/crypto/src/crypto/tls/TlsSigner.cs b/src/BouncyCastle/crypto/tls/TlsSigner.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSigner.cs rename to src/BouncyCastle/crypto/tls/TlsSigner.cs diff --git a/crypto/src/crypto/tls/TlsSignerCredentials.cs b/src/BouncyCastle/crypto/tls/TlsSignerCredentials.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSignerCredentials.cs rename to src/BouncyCastle/crypto/tls/TlsSignerCredentials.cs diff --git a/crypto/src/crypto/tls/TlsSrpGroupVerifier.cs b/src/BouncyCastle/crypto/tls/TlsSrpGroupVerifier.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSrpGroupVerifier.cs rename to src/BouncyCastle/crypto/tls/TlsSrpGroupVerifier.cs diff --git a/crypto/src/crypto/tls/TlsSrpIdentityManager.cs b/src/BouncyCastle/crypto/tls/TlsSrpIdentityManager.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSrpIdentityManager.cs rename to src/BouncyCastle/crypto/tls/TlsSrpIdentityManager.cs diff --git a/crypto/src/crypto/tls/TlsSrpKeyExchange.cs b/src/BouncyCastle/crypto/tls/TlsSrpKeyExchange.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSrpKeyExchange.cs rename to src/BouncyCastle/crypto/tls/TlsSrpKeyExchange.cs diff --git a/crypto/src/crypto/tls/TlsSrpLoginParameters.cs b/src/BouncyCastle/crypto/tls/TlsSrpLoginParameters.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSrpLoginParameters.cs rename to src/BouncyCastle/crypto/tls/TlsSrpLoginParameters.cs diff --git a/crypto/src/crypto/tls/TlsSrpUtilities.cs b/src/BouncyCastle/crypto/tls/TlsSrpUtilities.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSrpUtilities.cs rename to src/BouncyCastle/crypto/tls/TlsSrpUtilities.cs diff --git a/crypto/src/crypto/tls/TlsSrtpUtilities.cs b/src/BouncyCastle/crypto/tls/TlsSrtpUtilities.cs similarity index 100% rename from crypto/src/crypto/tls/TlsSrtpUtilities.cs rename to src/BouncyCastle/crypto/tls/TlsSrtpUtilities.cs diff --git a/crypto/src/crypto/tls/TlsStream.cs b/src/BouncyCastle/crypto/tls/TlsStream.cs similarity index 100% rename from crypto/src/crypto/tls/TlsStream.cs rename to src/BouncyCastle/crypto/tls/TlsStream.cs diff --git a/crypto/src/crypto/tls/TlsStreamCipher.cs b/src/BouncyCastle/crypto/tls/TlsStreamCipher.cs similarity index 100% rename from crypto/src/crypto/tls/TlsStreamCipher.cs rename to src/BouncyCastle/crypto/tls/TlsStreamCipher.cs diff --git a/crypto/src/crypto/tls/TlsUtilities.cs b/src/BouncyCastle/crypto/tls/TlsUtilities.cs similarity index 100% rename from crypto/src/crypto/tls/TlsUtilities.cs rename to src/BouncyCastle/crypto/tls/TlsUtilities.cs diff --git a/crypto/src/crypto/tls/UrlAndHash.cs b/src/BouncyCastle/crypto/tls/UrlAndHash.cs similarity index 100% rename from crypto/src/crypto/tls/UrlAndHash.cs rename to src/BouncyCastle/crypto/tls/UrlAndHash.cs diff --git a/crypto/src/crypto/tls/UseSrtpData.cs b/src/BouncyCastle/crypto/tls/UseSrtpData.cs similarity index 100% rename from crypto/src/crypto/tls/UseSrtpData.cs rename to src/BouncyCastle/crypto/tls/UseSrtpData.cs diff --git a/crypto/src/crypto/tls/UserMappingType.cs b/src/BouncyCastle/crypto/tls/UserMappingType.cs similarity index 100% rename from crypto/src/crypto/tls/UserMappingType.cs rename to src/BouncyCastle/crypto/tls/UserMappingType.cs diff --git a/crypto/src/crypto/util/Pack.cs b/src/BouncyCastle/crypto/util/Pack.cs similarity index 100% rename from crypto/src/crypto/util/Pack.cs rename to src/BouncyCastle/crypto/util/Pack.cs diff --git a/crypto/src/math/BigInteger.cs b/src/BouncyCastle/math/BigInteger.cs similarity index 100% rename from crypto/src/math/BigInteger.cs rename to src/BouncyCastle/math/BigInteger.cs diff --git a/crypto/src/math/Primes.cs b/src/BouncyCastle/math/Primes.cs similarity index 100% rename from crypto/src/math/Primes.cs rename to src/BouncyCastle/math/Primes.cs diff --git a/crypto/src/math/ec/ECAlgorithms.cs b/src/BouncyCastle/math/ec/ECAlgorithms.cs similarity index 100% rename from crypto/src/math/ec/ECAlgorithms.cs rename to src/BouncyCastle/math/ec/ECAlgorithms.cs diff --git a/crypto/src/math/ec/ECCurve.cs b/src/BouncyCastle/math/ec/ECCurve.cs similarity index 100% rename from crypto/src/math/ec/ECCurve.cs rename to src/BouncyCastle/math/ec/ECCurve.cs diff --git a/crypto/src/math/ec/ECFieldElement.cs b/src/BouncyCastle/math/ec/ECFieldElement.cs similarity index 100% rename from crypto/src/math/ec/ECFieldElement.cs rename to src/BouncyCastle/math/ec/ECFieldElement.cs diff --git a/crypto/src/math/ec/ECLookupTable.cs b/src/BouncyCastle/math/ec/ECLookupTable.cs similarity index 100% rename from crypto/src/math/ec/ECLookupTable.cs rename to src/BouncyCastle/math/ec/ECLookupTable.cs diff --git a/crypto/src/math/ec/ECPoint.cs b/src/BouncyCastle/math/ec/ECPoint.cs similarity index 100% rename from crypto/src/math/ec/ECPoint.cs rename to src/BouncyCastle/math/ec/ECPoint.cs diff --git a/crypto/src/math/ec/ECPointMap.cs b/src/BouncyCastle/math/ec/ECPointMap.cs similarity index 100% rename from crypto/src/math/ec/ECPointMap.cs rename to src/BouncyCastle/math/ec/ECPointMap.cs diff --git a/crypto/src/math/ec/LongArray.cs b/src/BouncyCastle/math/ec/LongArray.cs similarity index 100% rename from crypto/src/math/ec/LongArray.cs rename to src/BouncyCastle/math/ec/LongArray.cs diff --git a/crypto/src/math/ec/ScaleXPointMap.cs b/src/BouncyCastle/math/ec/ScaleXPointMap.cs similarity index 100% rename from crypto/src/math/ec/ScaleXPointMap.cs rename to src/BouncyCastle/math/ec/ScaleXPointMap.cs diff --git a/crypto/src/math/ec/ScaleYPointMap.cs b/src/BouncyCastle/math/ec/ScaleYPointMap.cs similarity index 100% rename from crypto/src/math/ec/ScaleYPointMap.cs rename to src/BouncyCastle/math/ec/ScaleYPointMap.cs diff --git a/crypto/src/math/ec/SimpleLookupTable.cs b/src/BouncyCastle/math/ec/SimpleLookupTable.cs similarity index 100% rename from crypto/src/math/ec/SimpleLookupTable.cs rename to src/BouncyCastle/math/ec/SimpleLookupTable.cs diff --git a/crypto/src/math/ec/abc/SimpleBigDecimal.cs b/src/BouncyCastle/math/ec/abc/SimpleBigDecimal.cs similarity index 100% rename from crypto/src/math/ec/abc/SimpleBigDecimal.cs rename to src/BouncyCastle/math/ec/abc/SimpleBigDecimal.cs diff --git a/crypto/src/math/ec/abc/Tnaf.cs b/src/BouncyCastle/math/ec/abc/Tnaf.cs similarity index 100% rename from crypto/src/math/ec/abc/Tnaf.cs rename to src/BouncyCastle/math/ec/abc/Tnaf.cs diff --git a/crypto/src/math/ec/abc/ZTauElement.cs b/src/BouncyCastle/math/ec/abc/ZTauElement.cs similarity index 100% rename from crypto/src/math/ec/abc/ZTauElement.cs rename to src/BouncyCastle/math/ec/abc/ZTauElement.cs diff --git a/crypto/src/math/ec/custom/djb/Curve25519.cs b/src/BouncyCastle/math/ec/custom/djb/Curve25519.cs similarity index 100% rename from crypto/src/math/ec/custom/djb/Curve25519.cs rename to src/BouncyCastle/math/ec/custom/djb/Curve25519.cs diff --git a/crypto/src/math/ec/custom/djb/Curve25519Field.cs b/src/BouncyCastle/math/ec/custom/djb/Curve25519Field.cs similarity index 100% rename from crypto/src/math/ec/custom/djb/Curve25519Field.cs rename to src/BouncyCastle/math/ec/custom/djb/Curve25519Field.cs diff --git a/crypto/src/math/ec/custom/djb/Curve25519FieldElement.cs b/src/BouncyCastle/math/ec/custom/djb/Curve25519FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/djb/Curve25519FieldElement.cs rename to src/BouncyCastle/math/ec/custom/djb/Curve25519FieldElement.cs diff --git a/crypto/src/math/ec/custom/djb/Curve25519Point.cs b/src/BouncyCastle/math/ec/custom/djb/Curve25519Point.cs similarity index 100% rename from crypto/src/math/ec/custom/djb/Curve25519Point.cs rename to src/BouncyCastle/math/ec/custom/djb/Curve25519Point.cs diff --git a/crypto/src/math/ec/custom/gm/SM2P256V1Curve.cs b/src/BouncyCastle/math/ec/custom/gm/SM2P256V1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/gm/SM2P256V1Curve.cs rename to src/BouncyCastle/math/ec/custom/gm/SM2P256V1Curve.cs diff --git a/crypto/src/math/ec/custom/gm/SM2P256V1Field.cs b/src/BouncyCastle/math/ec/custom/gm/SM2P256V1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/gm/SM2P256V1Field.cs rename to src/BouncyCastle/math/ec/custom/gm/SM2P256V1Field.cs diff --git a/crypto/src/math/ec/custom/gm/SM2P256V1FieldElement.cs b/src/BouncyCastle/math/ec/custom/gm/SM2P256V1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/gm/SM2P256V1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/gm/SM2P256V1FieldElement.cs diff --git a/crypto/src/math/ec/custom/gm/SM2P256V1Point.cs b/src/BouncyCastle/math/ec/custom/gm/SM2P256V1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/gm/SM2P256V1Point.cs rename to src/BouncyCastle/math/ec/custom/gm/SM2P256V1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP128R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP128R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP128R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP128R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP128R1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP128R1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP128R1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP128R1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP128R1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP128R1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP128R1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP128R1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP128R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP128R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP128R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP128R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160R1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160R1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160R1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160R1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160R1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160R1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160R1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160R1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160R2Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160R2Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160R2Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160R2Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160R2Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160R2Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160R2Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160R2Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160R2FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160R2FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160R2FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160R2FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP160R2Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP160R2Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP160R2Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP160R2Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP192K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP192K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP192K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP192K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP192K1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP192K1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP192K1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP192K1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP192K1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP192K1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP192K1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP192K1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP192K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP192K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP192K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP192K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP192R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP192R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP192R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP192R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP192R1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP192R1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP192R1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP192R1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP192R1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP192R1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP192R1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP192R1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP192R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP192R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP192R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP192R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP224K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP224K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP224K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP224K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP224K1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP224K1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP224K1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP224K1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP224K1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP224K1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP224K1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP224K1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP224K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP224K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP224K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP224K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP224R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP224R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP224R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP224R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP224R1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP224R1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP224R1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP224R1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP224R1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP224R1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP224R1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP224R1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP224R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP224R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP224R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP224R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP256K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP256K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP256K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP256K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP256K1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP256K1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP256K1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP256K1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP256K1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP256K1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP256K1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP256K1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP256K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP256K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP256K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP256K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP256R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP256R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP256R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP256R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP256R1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP256R1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP256R1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP256R1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP256R1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP256R1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP256R1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP256R1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP256R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP256R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP256R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP256R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP384R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP384R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP384R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP384R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP384R1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP384R1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP384R1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP384R1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP384R1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP384R1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP384R1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP384R1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP384R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP384R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP384R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP384R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecP521R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecP521R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP521R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP521R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecP521R1Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecP521R1Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP521R1Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP521R1Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecP521R1FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecP521R1FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP521R1FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP521R1FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecP521R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecP521R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecP521R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecP521R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT113Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT113Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT113Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT113Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT113FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT113FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT113FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT113FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT113R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT113R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT113R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT113R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT113R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT113R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT113R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT113R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT113R2Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT113R2Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT113R2Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT113R2Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT113R2Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT113R2Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT113R2Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT113R2Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT131Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT131Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT131Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT131Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT131FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT131FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT131FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT131FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT131R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT131R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT131R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT131R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT131R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT131R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT131R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT131R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT131R2Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT131R2Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT131R2Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT131R2Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT131R2Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT131R2Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT131R2Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT131R2Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT163Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT163Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT163Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT163Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT163FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT163FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT163FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT163FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT163K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT163K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT163K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT163K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT163K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT163K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT163K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT163K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT163R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT163R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT163R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT163R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT163R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT163R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT163R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT163R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT163R2Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT163R2Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT163R2Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT163R2Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT163R2Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT163R2Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT163R2Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT163R2Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT193Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT193Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT193Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT193Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT193FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT193FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT193FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT193FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT193R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT193R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT193R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT193R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT193R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT193R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT193R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT193R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT193R2Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT193R2Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT193R2Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT193R2Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT193R2Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT193R2Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT193R2Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT193R2Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT233Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT233Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT233Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT233Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT233FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT233FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT233FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT233FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT233K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT233K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT233K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT233K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT233K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT233K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT233K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT233K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT233R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT233R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT233R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT233R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT233R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT233R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT233R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT233R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT239Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT239Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT239Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT239Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT239FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT239FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT239FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT239FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT239K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT239K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT239K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT239K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT239K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT239K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT239K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT239K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT283Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT283Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT283Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT283Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT283FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT283FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT283FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT283FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT283K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT283K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT283K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT283K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT283K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT283K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT283K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT283K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT283R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT283R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT283R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT283R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT283R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT283R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT283R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT283R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT409Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT409Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT409Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT409Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT409FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT409FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT409FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT409FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT409K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT409K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT409K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT409K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT409K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT409K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT409K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT409K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT409R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT409R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT409R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT409R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT409R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT409R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT409R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT409R1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT571Field.cs b/src/BouncyCastle/math/ec/custom/sec/SecT571Field.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT571Field.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT571Field.cs diff --git a/crypto/src/math/ec/custom/sec/SecT571FieldElement.cs b/src/BouncyCastle/math/ec/custom/sec/SecT571FieldElement.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT571FieldElement.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT571FieldElement.cs diff --git a/crypto/src/math/ec/custom/sec/SecT571K1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT571K1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT571K1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT571K1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT571K1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT571K1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT571K1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT571K1Point.cs diff --git a/crypto/src/math/ec/custom/sec/SecT571R1Curve.cs b/src/BouncyCastle/math/ec/custom/sec/SecT571R1Curve.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT571R1Curve.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT571R1Curve.cs diff --git a/crypto/src/math/ec/custom/sec/SecT571R1Point.cs b/src/BouncyCastle/math/ec/custom/sec/SecT571R1Point.cs similarity index 100% rename from crypto/src/math/ec/custom/sec/SecT571R1Point.cs rename to src/BouncyCastle/math/ec/custom/sec/SecT571R1Point.cs diff --git a/crypto/src/math/ec/endo/ECEndomorphism.cs b/src/BouncyCastle/math/ec/endo/ECEndomorphism.cs similarity index 100% rename from crypto/src/math/ec/endo/ECEndomorphism.cs rename to src/BouncyCastle/math/ec/endo/ECEndomorphism.cs diff --git a/crypto/src/math/ec/endo/GlvEndomorphism.cs b/src/BouncyCastle/math/ec/endo/GlvEndomorphism.cs similarity index 100% rename from crypto/src/math/ec/endo/GlvEndomorphism.cs rename to src/BouncyCastle/math/ec/endo/GlvEndomorphism.cs diff --git a/crypto/src/math/ec/endo/GlvTypeBEndomorphism.cs b/src/BouncyCastle/math/ec/endo/GlvTypeBEndomorphism.cs similarity index 100% rename from crypto/src/math/ec/endo/GlvTypeBEndomorphism.cs rename to src/BouncyCastle/math/ec/endo/GlvTypeBEndomorphism.cs diff --git a/crypto/src/math/ec/endo/GlvTypeBParameters.cs b/src/BouncyCastle/math/ec/endo/GlvTypeBParameters.cs similarity index 100% rename from crypto/src/math/ec/endo/GlvTypeBParameters.cs rename to src/BouncyCastle/math/ec/endo/GlvTypeBParameters.cs diff --git a/crypto/src/math/ec/multiplier/AbstractECMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/AbstractECMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/AbstractECMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/AbstractECMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/DoubleAddMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/DoubleAddMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/DoubleAddMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/DoubleAddMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/ECMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/ECMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/ECMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/ECMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/FixedPointCombMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/FixedPointCombMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/FixedPointCombMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/FixedPointCombMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/FixedPointPreCompInfo.cs b/src/BouncyCastle/math/ec/multiplier/FixedPointPreCompInfo.cs similarity index 100% rename from crypto/src/math/ec/multiplier/FixedPointPreCompInfo.cs rename to src/BouncyCastle/math/ec/multiplier/FixedPointPreCompInfo.cs diff --git a/crypto/src/math/ec/multiplier/FixedPointUtilities.cs b/src/BouncyCastle/math/ec/multiplier/FixedPointUtilities.cs similarity index 100% rename from crypto/src/math/ec/multiplier/FixedPointUtilities.cs rename to src/BouncyCastle/math/ec/multiplier/FixedPointUtilities.cs diff --git a/crypto/src/math/ec/multiplier/GlvMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/GlvMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/GlvMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/GlvMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/IPreCompCallback.cs b/src/BouncyCastle/math/ec/multiplier/IPreCompCallback.cs similarity index 100% rename from crypto/src/math/ec/multiplier/IPreCompCallback.cs rename to src/BouncyCastle/math/ec/multiplier/IPreCompCallback.cs diff --git a/crypto/src/math/ec/multiplier/MixedNafR2LMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/MixedNafR2LMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/MixedNafR2LMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/MixedNafR2LMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/MontgomeryLadderMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/MontgomeryLadderMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/MontgomeryLadderMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/MontgomeryLadderMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/NafL2RMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/NafL2RMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/NafL2RMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/NafL2RMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/NafR2LMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/NafR2LMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/NafR2LMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/NafR2LMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/PreCompInfo.cs b/src/BouncyCastle/math/ec/multiplier/PreCompInfo.cs similarity index 100% rename from crypto/src/math/ec/multiplier/PreCompInfo.cs rename to src/BouncyCastle/math/ec/multiplier/PreCompInfo.cs diff --git a/crypto/src/math/ec/multiplier/ReferenceMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/ReferenceMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/ReferenceMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/ReferenceMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/ValidityPreCompInfo.cs b/src/BouncyCastle/math/ec/multiplier/ValidityPreCompInfo.cs similarity index 100% rename from crypto/src/math/ec/multiplier/ValidityPreCompInfo.cs rename to src/BouncyCastle/math/ec/multiplier/ValidityPreCompInfo.cs diff --git a/crypto/src/math/ec/multiplier/WNafL2RMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/WNafL2RMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/WNafL2RMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/WNafL2RMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/WNafPreCompInfo.cs b/src/BouncyCastle/math/ec/multiplier/WNafPreCompInfo.cs similarity index 100% rename from crypto/src/math/ec/multiplier/WNafPreCompInfo.cs rename to src/BouncyCastle/math/ec/multiplier/WNafPreCompInfo.cs diff --git a/crypto/src/math/ec/multiplier/WNafUtilities.cs b/src/BouncyCastle/math/ec/multiplier/WNafUtilities.cs similarity index 100% rename from crypto/src/math/ec/multiplier/WNafUtilities.cs rename to src/BouncyCastle/math/ec/multiplier/WNafUtilities.cs diff --git a/crypto/src/math/ec/multiplier/WTauNafMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/WTauNafMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/WTauNafMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/WTauNafMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/WTauNafPreCompInfo.cs b/src/BouncyCastle/math/ec/multiplier/WTauNafPreCompInfo.cs similarity index 100% rename from crypto/src/math/ec/multiplier/WTauNafPreCompInfo.cs rename to src/BouncyCastle/math/ec/multiplier/WTauNafPreCompInfo.cs diff --git a/crypto/src/math/ec/multiplier/ZSignedDigitL2RMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/ZSignedDigitL2RMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/ZSignedDigitL2RMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/ZSignedDigitL2RMultiplier.cs diff --git a/crypto/src/math/ec/multiplier/ZSignedDigitR2LMultiplier.cs b/src/BouncyCastle/math/ec/multiplier/ZSignedDigitR2LMultiplier.cs similarity index 100% rename from crypto/src/math/ec/multiplier/ZSignedDigitR2LMultiplier.cs rename to src/BouncyCastle/math/ec/multiplier/ZSignedDigitR2LMultiplier.cs diff --git a/crypto/src/math/ec/rfc7748/X25519.cs b/src/BouncyCastle/math/ec/rfc7748/X25519.cs similarity index 100% rename from crypto/src/math/ec/rfc7748/X25519.cs rename to src/BouncyCastle/math/ec/rfc7748/X25519.cs diff --git a/crypto/src/math/ec/rfc7748/X25519Field.cs b/src/BouncyCastle/math/ec/rfc7748/X25519Field.cs similarity index 100% rename from crypto/src/math/ec/rfc7748/X25519Field.cs rename to src/BouncyCastle/math/ec/rfc7748/X25519Field.cs diff --git a/crypto/src/math/ec/rfc7748/X448.cs b/src/BouncyCastle/math/ec/rfc7748/X448.cs similarity index 100% rename from crypto/src/math/ec/rfc7748/X448.cs rename to src/BouncyCastle/math/ec/rfc7748/X448.cs diff --git a/crypto/src/math/ec/rfc7748/X448Field.cs b/src/BouncyCastle/math/ec/rfc7748/X448Field.cs similarity index 100% rename from crypto/src/math/ec/rfc7748/X448Field.cs rename to src/BouncyCastle/math/ec/rfc7748/X448Field.cs diff --git a/crypto/src/math/ec/rfc8032/Ed25519.cs b/src/BouncyCastle/math/ec/rfc8032/Ed25519.cs similarity index 100% rename from crypto/src/math/ec/rfc8032/Ed25519.cs rename to src/BouncyCastle/math/ec/rfc8032/Ed25519.cs diff --git a/crypto/src/math/ec/rfc8032/Ed448.cs b/src/BouncyCastle/math/ec/rfc8032/Ed448.cs similarity index 100% rename from crypto/src/math/ec/rfc8032/Ed448.cs rename to src/BouncyCastle/math/ec/rfc8032/Ed448.cs diff --git a/crypto/src/math/field/FiniteFields.cs b/src/BouncyCastle/math/field/FiniteFields.cs similarity index 100% rename from crypto/src/math/field/FiniteFields.cs rename to src/BouncyCastle/math/field/FiniteFields.cs diff --git a/crypto/src/math/field/GF2Polynomial.cs b/src/BouncyCastle/math/field/GF2Polynomial.cs similarity index 100% rename from crypto/src/math/field/GF2Polynomial.cs rename to src/BouncyCastle/math/field/GF2Polynomial.cs diff --git a/crypto/src/math/field/GenericPolynomialExtensionField.cs b/src/BouncyCastle/math/field/GenericPolynomialExtensionField.cs similarity index 100% rename from crypto/src/math/field/GenericPolynomialExtensionField.cs rename to src/BouncyCastle/math/field/GenericPolynomialExtensionField.cs diff --git a/crypto/src/math/field/IExtensionField.cs b/src/BouncyCastle/math/field/IExtensionField.cs similarity index 100% rename from crypto/src/math/field/IExtensionField.cs rename to src/BouncyCastle/math/field/IExtensionField.cs diff --git a/crypto/src/math/field/IFiniteField.cs b/src/BouncyCastle/math/field/IFiniteField.cs similarity index 100% rename from crypto/src/math/field/IFiniteField.cs rename to src/BouncyCastle/math/field/IFiniteField.cs diff --git a/crypto/src/math/field/IPolynomial.cs b/src/BouncyCastle/math/field/IPolynomial.cs similarity index 100% rename from crypto/src/math/field/IPolynomial.cs rename to src/BouncyCastle/math/field/IPolynomial.cs diff --git a/crypto/src/math/field/IPolynomialExtensionField.cs b/src/BouncyCastle/math/field/IPolynomialExtensionField.cs similarity index 100% rename from crypto/src/math/field/IPolynomialExtensionField.cs rename to src/BouncyCastle/math/field/IPolynomialExtensionField.cs diff --git a/crypto/src/math/field/PrimeField.cs b/src/BouncyCastle/math/field/PrimeField.cs similarity index 100% rename from crypto/src/math/field/PrimeField.cs rename to src/BouncyCastle/math/field/PrimeField.cs diff --git a/crypto/src/math/raw/Interleave.cs b/src/BouncyCastle/math/raw/Interleave.cs similarity index 100% rename from crypto/src/math/raw/Interleave.cs rename to src/BouncyCastle/math/raw/Interleave.cs diff --git a/crypto/src/math/raw/Mod.cs b/src/BouncyCastle/math/raw/Mod.cs similarity index 100% rename from crypto/src/math/raw/Mod.cs rename to src/BouncyCastle/math/raw/Mod.cs diff --git a/crypto/src/math/raw/Nat.cs b/src/BouncyCastle/math/raw/Nat.cs similarity index 100% rename from crypto/src/math/raw/Nat.cs rename to src/BouncyCastle/math/raw/Nat.cs diff --git a/crypto/src/math/raw/Nat128.cs b/src/BouncyCastle/math/raw/Nat128.cs similarity index 100% rename from crypto/src/math/raw/Nat128.cs rename to src/BouncyCastle/math/raw/Nat128.cs diff --git a/crypto/src/math/raw/Nat160.cs b/src/BouncyCastle/math/raw/Nat160.cs similarity index 100% rename from crypto/src/math/raw/Nat160.cs rename to src/BouncyCastle/math/raw/Nat160.cs diff --git a/crypto/src/math/raw/Nat192.cs b/src/BouncyCastle/math/raw/Nat192.cs similarity index 100% rename from crypto/src/math/raw/Nat192.cs rename to src/BouncyCastle/math/raw/Nat192.cs diff --git a/crypto/src/math/raw/Nat224.cs b/src/BouncyCastle/math/raw/Nat224.cs similarity index 100% rename from crypto/src/math/raw/Nat224.cs rename to src/BouncyCastle/math/raw/Nat224.cs diff --git a/crypto/src/math/raw/Nat256.cs b/src/BouncyCastle/math/raw/Nat256.cs similarity index 100% rename from crypto/src/math/raw/Nat256.cs rename to src/BouncyCastle/math/raw/Nat256.cs diff --git a/crypto/src/math/raw/Nat320.cs b/src/BouncyCastle/math/raw/Nat320.cs similarity index 100% rename from crypto/src/math/raw/Nat320.cs rename to src/BouncyCastle/math/raw/Nat320.cs diff --git a/crypto/src/math/raw/Nat384.cs b/src/BouncyCastle/math/raw/Nat384.cs similarity index 100% rename from crypto/src/math/raw/Nat384.cs rename to src/BouncyCastle/math/raw/Nat384.cs diff --git a/crypto/src/math/raw/Nat448.cs b/src/BouncyCastle/math/raw/Nat448.cs similarity index 100% rename from crypto/src/math/raw/Nat448.cs rename to src/BouncyCastle/math/raw/Nat448.cs diff --git a/crypto/src/math/raw/Nat512.cs b/src/BouncyCastle/math/raw/Nat512.cs similarity index 100% rename from crypto/src/math/raw/Nat512.cs rename to src/BouncyCastle/math/raw/Nat512.cs diff --git a/crypto/src/math/raw/Nat576.cs b/src/BouncyCastle/math/raw/Nat576.cs similarity index 100% rename from crypto/src/math/raw/Nat576.cs rename to src/BouncyCastle/math/raw/Nat576.cs diff --git a/crypto/src/ocsp/BasicOCSPResp.cs b/src/BouncyCastle/ocsp/BasicOCSPResp.cs similarity index 100% rename from crypto/src/ocsp/BasicOCSPResp.cs rename to src/BouncyCastle/ocsp/BasicOCSPResp.cs diff --git a/crypto/src/ocsp/BasicOCSPRespGenerator.cs b/src/BouncyCastle/ocsp/BasicOCSPRespGenerator.cs similarity index 100% rename from crypto/src/ocsp/BasicOCSPRespGenerator.cs rename to src/BouncyCastle/ocsp/BasicOCSPRespGenerator.cs diff --git a/crypto/src/ocsp/CertificateID.cs b/src/BouncyCastle/ocsp/CertificateID.cs similarity index 100% rename from crypto/src/ocsp/CertificateID.cs rename to src/BouncyCastle/ocsp/CertificateID.cs diff --git a/crypto/src/ocsp/CertificateStatus.cs b/src/BouncyCastle/ocsp/CertificateStatus.cs similarity index 100% rename from crypto/src/ocsp/CertificateStatus.cs rename to src/BouncyCastle/ocsp/CertificateStatus.cs diff --git a/crypto/src/ocsp/OCSPException.cs b/src/BouncyCastle/ocsp/OCSPException.cs similarity index 100% rename from crypto/src/ocsp/OCSPException.cs rename to src/BouncyCastle/ocsp/OCSPException.cs diff --git a/crypto/src/ocsp/OCSPReq.cs b/src/BouncyCastle/ocsp/OCSPReq.cs similarity index 100% rename from crypto/src/ocsp/OCSPReq.cs rename to src/BouncyCastle/ocsp/OCSPReq.cs diff --git a/crypto/src/ocsp/OCSPReqGenerator.cs b/src/BouncyCastle/ocsp/OCSPReqGenerator.cs similarity index 100% rename from crypto/src/ocsp/OCSPReqGenerator.cs rename to src/BouncyCastle/ocsp/OCSPReqGenerator.cs diff --git a/crypto/src/ocsp/OCSPResp.cs b/src/BouncyCastle/ocsp/OCSPResp.cs similarity index 100% rename from crypto/src/ocsp/OCSPResp.cs rename to src/BouncyCastle/ocsp/OCSPResp.cs diff --git a/crypto/src/ocsp/OCSPRespGenerator.cs b/src/BouncyCastle/ocsp/OCSPRespGenerator.cs similarity index 100% rename from crypto/src/ocsp/OCSPRespGenerator.cs rename to src/BouncyCastle/ocsp/OCSPRespGenerator.cs diff --git a/crypto/src/ocsp/OCSPRespStatus.cs b/src/BouncyCastle/ocsp/OCSPRespStatus.cs similarity index 100% rename from crypto/src/ocsp/OCSPRespStatus.cs rename to src/BouncyCastle/ocsp/OCSPRespStatus.cs diff --git a/crypto/src/ocsp/OCSPUtil.cs b/src/BouncyCastle/ocsp/OCSPUtil.cs similarity index 100% rename from crypto/src/ocsp/OCSPUtil.cs rename to src/BouncyCastle/ocsp/OCSPUtil.cs diff --git a/crypto/src/ocsp/Req.cs b/src/BouncyCastle/ocsp/Req.cs similarity index 100% rename from crypto/src/ocsp/Req.cs rename to src/BouncyCastle/ocsp/Req.cs diff --git a/crypto/src/ocsp/RespData.cs b/src/BouncyCastle/ocsp/RespData.cs similarity index 100% rename from crypto/src/ocsp/RespData.cs rename to src/BouncyCastle/ocsp/RespData.cs diff --git a/crypto/src/ocsp/RespID.cs b/src/BouncyCastle/ocsp/RespID.cs similarity index 100% rename from crypto/src/ocsp/RespID.cs rename to src/BouncyCastle/ocsp/RespID.cs diff --git a/crypto/src/ocsp/RevokedStatus.cs b/src/BouncyCastle/ocsp/RevokedStatus.cs similarity index 100% rename from crypto/src/ocsp/RevokedStatus.cs rename to src/BouncyCastle/ocsp/RevokedStatus.cs diff --git a/crypto/src/ocsp/SingleResp.cs b/src/BouncyCastle/ocsp/SingleResp.cs similarity index 100% rename from crypto/src/ocsp/SingleResp.cs rename to src/BouncyCastle/ocsp/SingleResp.cs diff --git a/crypto/src/ocsp/UnknownStatus.cs b/src/BouncyCastle/ocsp/UnknownStatus.cs similarity index 100% rename from crypto/src/ocsp/UnknownStatus.cs rename to src/BouncyCastle/ocsp/UnknownStatus.cs diff --git a/crypto/src/openpgp/IStreamGenerator.cs b/src/BouncyCastle/openpgp/IStreamGenerator.cs similarity index 100% rename from crypto/src/openpgp/IStreamGenerator.cs rename to src/BouncyCastle/openpgp/IStreamGenerator.cs diff --git a/crypto/src/openpgp/PGPKeyRing.cs b/src/BouncyCastle/openpgp/PGPKeyRing.cs similarity index 100% rename from crypto/src/openpgp/PGPKeyRing.cs rename to src/BouncyCastle/openpgp/PGPKeyRing.cs diff --git a/crypto/src/openpgp/PGPObject.cs b/src/BouncyCastle/openpgp/PGPObject.cs similarity index 100% rename from crypto/src/openpgp/PGPObject.cs rename to src/BouncyCastle/openpgp/PGPObject.cs diff --git a/crypto/src/openpgp/PGPUserAttributeSubpacketVectorGenerator.cs b/src/BouncyCastle/openpgp/PGPUserAttributeSubpacketVectorGenerator.cs similarity index 100% rename from crypto/src/openpgp/PGPUserAttributeSubpacketVectorGenerator.cs rename to src/BouncyCastle/openpgp/PGPUserAttributeSubpacketVectorGenerator.cs diff --git a/crypto/src/openpgp/PgpCompressedData.cs b/src/BouncyCastle/openpgp/PgpCompressedData.cs similarity index 100% rename from crypto/src/openpgp/PgpCompressedData.cs rename to src/BouncyCastle/openpgp/PgpCompressedData.cs diff --git a/crypto/src/openpgp/PgpCompressedDataGenerator.cs b/src/BouncyCastle/openpgp/PgpCompressedDataGenerator.cs similarity index 100% rename from crypto/src/openpgp/PgpCompressedDataGenerator.cs rename to src/BouncyCastle/openpgp/PgpCompressedDataGenerator.cs diff --git a/crypto/src/openpgp/PgpDataValidationException.cs b/src/BouncyCastle/openpgp/PgpDataValidationException.cs similarity index 100% rename from crypto/src/openpgp/PgpDataValidationException.cs rename to src/BouncyCastle/openpgp/PgpDataValidationException.cs diff --git a/crypto/src/openpgp/PgpEncryptedData.cs b/src/BouncyCastle/openpgp/PgpEncryptedData.cs similarity index 100% rename from crypto/src/openpgp/PgpEncryptedData.cs rename to src/BouncyCastle/openpgp/PgpEncryptedData.cs diff --git a/crypto/src/openpgp/PgpEncryptedDataGenerator.cs b/src/BouncyCastle/openpgp/PgpEncryptedDataGenerator.cs similarity index 100% rename from crypto/src/openpgp/PgpEncryptedDataGenerator.cs rename to src/BouncyCastle/openpgp/PgpEncryptedDataGenerator.cs diff --git a/crypto/src/openpgp/PgpEncryptedDataList.cs b/src/BouncyCastle/openpgp/PgpEncryptedDataList.cs similarity index 100% rename from crypto/src/openpgp/PgpEncryptedDataList.cs rename to src/BouncyCastle/openpgp/PgpEncryptedDataList.cs diff --git a/crypto/src/openpgp/PgpException.cs b/src/BouncyCastle/openpgp/PgpException.cs similarity index 100% rename from crypto/src/openpgp/PgpException.cs rename to src/BouncyCastle/openpgp/PgpException.cs diff --git a/crypto/src/openpgp/PgpExperimental.cs b/src/BouncyCastle/openpgp/PgpExperimental.cs similarity index 100% rename from crypto/src/openpgp/PgpExperimental.cs rename to src/BouncyCastle/openpgp/PgpExperimental.cs diff --git a/crypto/src/openpgp/PgpKeyFlags.cs b/src/BouncyCastle/openpgp/PgpKeyFlags.cs similarity index 100% rename from crypto/src/openpgp/PgpKeyFlags.cs rename to src/BouncyCastle/openpgp/PgpKeyFlags.cs diff --git a/crypto/src/openpgp/PgpKeyPair.cs b/src/BouncyCastle/openpgp/PgpKeyPair.cs similarity index 100% rename from crypto/src/openpgp/PgpKeyPair.cs rename to src/BouncyCastle/openpgp/PgpKeyPair.cs diff --git a/crypto/src/openpgp/PgpKeyRingGenerator.cs b/src/BouncyCastle/openpgp/PgpKeyRingGenerator.cs similarity index 100% rename from crypto/src/openpgp/PgpKeyRingGenerator.cs rename to src/BouncyCastle/openpgp/PgpKeyRingGenerator.cs diff --git a/crypto/src/openpgp/PgpKeyValidationException.cs b/src/BouncyCastle/openpgp/PgpKeyValidationException.cs similarity index 100% rename from crypto/src/openpgp/PgpKeyValidationException.cs rename to src/BouncyCastle/openpgp/PgpKeyValidationException.cs diff --git a/crypto/src/openpgp/PgpLiteralData.cs b/src/BouncyCastle/openpgp/PgpLiteralData.cs similarity index 100% rename from crypto/src/openpgp/PgpLiteralData.cs rename to src/BouncyCastle/openpgp/PgpLiteralData.cs diff --git a/crypto/src/openpgp/PgpLiteralDataGenerator.cs b/src/BouncyCastle/openpgp/PgpLiteralDataGenerator.cs similarity index 100% rename from crypto/src/openpgp/PgpLiteralDataGenerator.cs rename to src/BouncyCastle/openpgp/PgpLiteralDataGenerator.cs diff --git a/crypto/src/openpgp/PgpMarker.cs b/src/BouncyCastle/openpgp/PgpMarker.cs similarity index 100% rename from crypto/src/openpgp/PgpMarker.cs rename to src/BouncyCastle/openpgp/PgpMarker.cs diff --git a/crypto/src/openpgp/PgpObjectFactory.cs b/src/BouncyCastle/openpgp/PgpObjectFactory.cs similarity index 100% rename from crypto/src/openpgp/PgpObjectFactory.cs rename to src/BouncyCastle/openpgp/PgpObjectFactory.cs diff --git a/crypto/src/openpgp/PgpOnePassSignature.cs b/src/BouncyCastle/openpgp/PgpOnePassSignature.cs similarity index 100% rename from crypto/src/openpgp/PgpOnePassSignature.cs rename to src/BouncyCastle/openpgp/PgpOnePassSignature.cs diff --git a/crypto/src/openpgp/PgpOnePassSignatureList.cs b/src/BouncyCastle/openpgp/PgpOnePassSignatureList.cs similarity index 100% rename from crypto/src/openpgp/PgpOnePassSignatureList.cs rename to src/BouncyCastle/openpgp/PgpOnePassSignatureList.cs diff --git a/crypto/src/openpgp/PgpPad.cs b/src/BouncyCastle/openpgp/PgpPad.cs similarity index 100% rename from crypto/src/openpgp/PgpPad.cs rename to src/BouncyCastle/openpgp/PgpPad.cs diff --git a/crypto/src/openpgp/PgpPbeEncryptedData.cs b/src/BouncyCastle/openpgp/PgpPbeEncryptedData.cs similarity index 100% rename from crypto/src/openpgp/PgpPbeEncryptedData.cs rename to src/BouncyCastle/openpgp/PgpPbeEncryptedData.cs diff --git a/crypto/src/openpgp/PgpPrivateKey.cs b/src/BouncyCastle/openpgp/PgpPrivateKey.cs similarity index 100% rename from crypto/src/openpgp/PgpPrivateKey.cs rename to src/BouncyCastle/openpgp/PgpPrivateKey.cs diff --git a/crypto/src/openpgp/PgpPublicKey.cs b/src/BouncyCastle/openpgp/PgpPublicKey.cs similarity index 100% rename from crypto/src/openpgp/PgpPublicKey.cs rename to src/BouncyCastle/openpgp/PgpPublicKey.cs diff --git a/crypto/src/openpgp/PgpPublicKeyEncryptedData.cs b/src/BouncyCastle/openpgp/PgpPublicKeyEncryptedData.cs similarity index 100% rename from crypto/src/openpgp/PgpPublicKeyEncryptedData.cs rename to src/BouncyCastle/openpgp/PgpPublicKeyEncryptedData.cs diff --git a/crypto/src/openpgp/PgpPublicKeyRing.cs b/src/BouncyCastle/openpgp/PgpPublicKeyRing.cs similarity index 100% rename from crypto/src/openpgp/PgpPublicKeyRing.cs rename to src/BouncyCastle/openpgp/PgpPublicKeyRing.cs diff --git a/crypto/src/openpgp/PgpPublicKeyRingBundle.cs b/src/BouncyCastle/openpgp/PgpPublicKeyRingBundle.cs similarity index 100% rename from crypto/src/openpgp/PgpPublicKeyRingBundle.cs rename to src/BouncyCastle/openpgp/PgpPublicKeyRingBundle.cs diff --git a/crypto/src/openpgp/PgpSecretKey.cs b/src/BouncyCastle/openpgp/PgpSecretKey.cs similarity index 100% rename from crypto/src/openpgp/PgpSecretKey.cs rename to src/BouncyCastle/openpgp/PgpSecretKey.cs diff --git a/crypto/src/openpgp/PgpSecretKeyRing.cs b/src/BouncyCastle/openpgp/PgpSecretKeyRing.cs similarity index 100% rename from crypto/src/openpgp/PgpSecretKeyRing.cs rename to src/BouncyCastle/openpgp/PgpSecretKeyRing.cs diff --git a/crypto/src/openpgp/PgpSecretKeyRingBundle.cs b/src/BouncyCastle/openpgp/PgpSecretKeyRingBundle.cs similarity index 100% rename from crypto/src/openpgp/PgpSecretKeyRingBundle.cs rename to src/BouncyCastle/openpgp/PgpSecretKeyRingBundle.cs diff --git a/crypto/src/openpgp/PgpSignature.cs b/src/BouncyCastle/openpgp/PgpSignature.cs similarity index 100% rename from crypto/src/openpgp/PgpSignature.cs rename to src/BouncyCastle/openpgp/PgpSignature.cs diff --git a/crypto/src/openpgp/PgpSignatureGenerator.cs b/src/BouncyCastle/openpgp/PgpSignatureGenerator.cs similarity index 100% rename from crypto/src/openpgp/PgpSignatureGenerator.cs rename to src/BouncyCastle/openpgp/PgpSignatureGenerator.cs diff --git a/crypto/src/openpgp/PgpSignatureList.cs b/src/BouncyCastle/openpgp/PgpSignatureList.cs similarity index 100% rename from crypto/src/openpgp/PgpSignatureList.cs rename to src/BouncyCastle/openpgp/PgpSignatureList.cs diff --git a/crypto/src/openpgp/PgpSignatureSubpacketGenerator.cs b/src/BouncyCastle/openpgp/PgpSignatureSubpacketGenerator.cs similarity index 100% rename from crypto/src/openpgp/PgpSignatureSubpacketGenerator.cs rename to src/BouncyCastle/openpgp/PgpSignatureSubpacketGenerator.cs diff --git a/crypto/src/openpgp/PgpSignatureSubpacketVector.cs b/src/BouncyCastle/openpgp/PgpSignatureSubpacketVector.cs similarity index 100% rename from crypto/src/openpgp/PgpSignatureSubpacketVector.cs rename to src/BouncyCastle/openpgp/PgpSignatureSubpacketVector.cs diff --git a/crypto/src/openpgp/PgpUserAttributeSubpacketVector.cs b/src/BouncyCastle/openpgp/PgpUserAttributeSubpacketVector.cs similarity index 100% rename from crypto/src/openpgp/PgpUserAttributeSubpacketVector.cs rename to src/BouncyCastle/openpgp/PgpUserAttributeSubpacketVector.cs diff --git a/crypto/src/openpgp/PgpUtilities.cs b/src/BouncyCastle/openpgp/PgpUtilities.cs similarity index 100% rename from crypto/src/openpgp/PgpUtilities.cs rename to src/BouncyCastle/openpgp/PgpUtilities.cs diff --git a/crypto/src/openpgp/PgpV3SignatureGenerator.cs b/src/BouncyCastle/openpgp/PgpV3SignatureGenerator.cs similarity index 100% rename from crypto/src/openpgp/PgpV3SignatureGenerator.cs rename to src/BouncyCastle/openpgp/PgpV3SignatureGenerator.cs diff --git a/crypto/src/openpgp/Rfc6637Utilities.cs b/src/BouncyCastle/openpgp/Rfc6637Utilities.cs similarity index 100% rename from crypto/src/openpgp/Rfc6637Utilities.cs rename to src/BouncyCastle/openpgp/Rfc6637Utilities.cs diff --git a/crypto/src/openpgp/SXprUtilities.cs b/src/BouncyCastle/openpgp/SXprUtilities.cs similarity index 100% rename from crypto/src/openpgp/SXprUtilities.cs rename to src/BouncyCastle/openpgp/SXprUtilities.cs diff --git a/crypto/src/openpgp/WrappedGeneratorStream.cs b/src/BouncyCastle/openpgp/WrappedGeneratorStream.cs similarity index 100% rename from crypto/src/openpgp/WrappedGeneratorStream.cs rename to src/BouncyCastle/openpgp/WrappedGeneratorStream.cs diff --git a/crypto/src/openssl/EncryptionException.cs b/src/BouncyCastle/openssl/EncryptionException.cs similarity index 100% rename from crypto/src/openssl/EncryptionException.cs rename to src/BouncyCastle/openssl/EncryptionException.cs diff --git a/crypto/src/openssl/IPasswordFinder.cs b/src/BouncyCastle/openssl/IPasswordFinder.cs similarity index 100% rename from crypto/src/openssl/IPasswordFinder.cs rename to src/BouncyCastle/openssl/IPasswordFinder.cs diff --git a/crypto/src/openssl/MiscPemGenerator.cs b/src/BouncyCastle/openssl/MiscPemGenerator.cs similarity index 100% rename from crypto/src/openssl/MiscPemGenerator.cs rename to src/BouncyCastle/openssl/MiscPemGenerator.cs diff --git a/crypto/src/openssl/PEMException.cs b/src/BouncyCastle/openssl/PEMException.cs similarity index 100% rename from crypto/src/openssl/PEMException.cs rename to src/BouncyCastle/openssl/PEMException.cs diff --git a/crypto/src/openssl/PEMReader.cs b/src/BouncyCastle/openssl/PEMReader.cs similarity index 100% rename from crypto/src/openssl/PEMReader.cs rename to src/BouncyCastle/openssl/PEMReader.cs diff --git a/crypto/src/openssl/PEMUtilities.cs b/src/BouncyCastle/openssl/PEMUtilities.cs similarity index 100% rename from crypto/src/openssl/PEMUtilities.cs rename to src/BouncyCastle/openssl/PEMUtilities.cs diff --git a/crypto/src/openssl/PEMWriter.cs b/src/BouncyCastle/openssl/PEMWriter.cs similarity index 100% rename from crypto/src/openssl/PEMWriter.cs rename to src/BouncyCastle/openssl/PEMWriter.cs diff --git a/crypto/src/openssl/PasswordException.cs b/src/BouncyCastle/openssl/PasswordException.cs similarity index 100% rename from crypto/src/openssl/PasswordException.cs rename to src/BouncyCastle/openssl/PasswordException.cs diff --git a/crypto/src/openssl/Pkcs8Generator.cs b/src/BouncyCastle/openssl/Pkcs8Generator.cs similarity index 100% rename from crypto/src/openssl/Pkcs8Generator.cs rename to src/BouncyCastle/openssl/Pkcs8Generator.cs diff --git a/crypto/src/pkcs/AsymmetricKeyEntry.cs b/src/BouncyCastle/pkcs/AsymmetricKeyEntry.cs similarity index 100% rename from crypto/src/pkcs/AsymmetricKeyEntry.cs rename to src/BouncyCastle/pkcs/AsymmetricKeyEntry.cs diff --git a/crypto/src/pkcs/EncryptedPrivateKeyInfoFactory.cs b/src/BouncyCastle/pkcs/EncryptedPrivateKeyInfoFactory.cs similarity index 100% rename from crypto/src/pkcs/EncryptedPrivateKeyInfoFactory.cs rename to src/BouncyCastle/pkcs/EncryptedPrivateKeyInfoFactory.cs diff --git a/crypto/src/pkcs/PKCS12StoreBuilder.cs b/src/BouncyCastle/pkcs/PKCS12StoreBuilder.cs similarity index 100% rename from crypto/src/pkcs/PKCS12StoreBuilder.cs rename to src/BouncyCastle/pkcs/PKCS12StoreBuilder.cs diff --git a/crypto/src/pkcs/Pkcs10CertificationRequest.cs b/src/BouncyCastle/pkcs/Pkcs10CertificationRequest.cs similarity index 100% rename from crypto/src/pkcs/Pkcs10CertificationRequest.cs rename to src/BouncyCastle/pkcs/Pkcs10CertificationRequest.cs diff --git a/crypto/src/pkcs/Pkcs10CertificationRequestDelaySigned.cs b/src/BouncyCastle/pkcs/Pkcs10CertificationRequestDelaySigned.cs similarity index 100% rename from crypto/src/pkcs/Pkcs10CertificationRequestDelaySigned.cs rename to src/BouncyCastle/pkcs/Pkcs10CertificationRequestDelaySigned.cs diff --git a/crypto/src/pkcs/Pkcs12Entry.cs b/src/BouncyCastle/pkcs/Pkcs12Entry.cs similarity index 100% rename from crypto/src/pkcs/Pkcs12Entry.cs rename to src/BouncyCastle/pkcs/Pkcs12Entry.cs diff --git a/crypto/src/pkcs/Pkcs12Store.cs b/src/BouncyCastle/pkcs/Pkcs12Store.cs similarity index 100% rename from crypto/src/pkcs/Pkcs12Store.cs rename to src/BouncyCastle/pkcs/Pkcs12Store.cs diff --git a/crypto/src/pkcs/Pkcs12Utilities.cs b/src/BouncyCastle/pkcs/Pkcs12Utilities.cs similarity index 100% rename from crypto/src/pkcs/Pkcs12Utilities.cs rename to src/BouncyCastle/pkcs/Pkcs12Utilities.cs diff --git a/crypto/src/pkcs/PrivateKeyInfoFactory.cs b/src/BouncyCastle/pkcs/PrivateKeyInfoFactory.cs similarity index 100% rename from crypto/src/pkcs/PrivateKeyInfoFactory.cs rename to src/BouncyCastle/pkcs/PrivateKeyInfoFactory.cs diff --git a/crypto/src/pkcs/X509CertificateEntry.cs b/src/BouncyCastle/pkcs/X509CertificateEntry.cs similarity index 100% rename from crypto/src/pkcs/X509CertificateEntry.cs rename to src/BouncyCastle/pkcs/X509CertificateEntry.cs diff --git a/crypto/src/pkix/CertStatus.cs b/src/BouncyCastle/pkix/CertStatus.cs similarity index 100% rename from crypto/src/pkix/CertStatus.cs rename to src/BouncyCastle/pkix/CertStatus.cs diff --git a/crypto/src/pkix/PkixAttrCertChecker.cs b/src/BouncyCastle/pkix/PkixAttrCertChecker.cs similarity index 100% rename from crypto/src/pkix/PkixAttrCertChecker.cs rename to src/BouncyCastle/pkix/PkixAttrCertChecker.cs diff --git a/crypto/src/pkix/PkixAttrCertPathBuilder.cs b/src/BouncyCastle/pkix/PkixAttrCertPathBuilder.cs similarity index 100% rename from crypto/src/pkix/PkixAttrCertPathBuilder.cs rename to src/BouncyCastle/pkix/PkixAttrCertPathBuilder.cs diff --git a/crypto/src/pkix/PkixAttrCertPathValidator.cs b/src/BouncyCastle/pkix/PkixAttrCertPathValidator.cs similarity index 100% rename from crypto/src/pkix/PkixAttrCertPathValidator.cs rename to src/BouncyCastle/pkix/PkixAttrCertPathValidator.cs diff --git a/crypto/src/pkix/PkixBuilderParameters.cs b/src/BouncyCastle/pkix/PkixBuilderParameters.cs similarity index 100% rename from crypto/src/pkix/PkixBuilderParameters.cs rename to src/BouncyCastle/pkix/PkixBuilderParameters.cs diff --git a/crypto/src/pkix/PkixCertPath.cs b/src/BouncyCastle/pkix/PkixCertPath.cs similarity index 100% rename from crypto/src/pkix/PkixCertPath.cs rename to src/BouncyCastle/pkix/PkixCertPath.cs diff --git a/crypto/src/pkix/PkixCertPathBuilder.cs b/src/BouncyCastle/pkix/PkixCertPathBuilder.cs similarity index 100% rename from crypto/src/pkix/PkixCertPathBuilder.cs rename to src/BouncyCastle/pkix/PkixCertPathBuilder.cs diff --git a/crypto/src/pkix/PkixCertPathBuilderException.cs b/src/BouncyCastle/pkix/PkixCertPathBuilderException.cs similarity index 100% rename from crypto/src/pkix/PkixCertPathBuilderException.cs rename to src/BouncyCastle/pkix/PkixCertPathBuilderException.cs diff --git a/crypto/src/pkix/PkixCertPathBuilderResult.cs b/src/BouncyCastle/pkix/PkixCertPathBuilderResult.cs similarity index 100% rename from crypto/src/pkix/PkixCertPathBuilderResult.cs rename to src/BouncyCastle/pkix/PkixCertPathBuilderResult.cs diff --git a/crypto/src/pkix/PkixCertPathChecker.cs b/src/BouncyCastle/pkix/PkixCertPathChecker.cs similarity index 100% rename from crypto/src/pkix/PkixCertPathChecker.cs rename to src/BouncyCastle/pkix/PkixCertPathChecker.cs diff --git a/crypto/src/pkix/PkixCertPathValidator.cs b/src/BouncyCastle/pkix/PkixCertPathValidator.cs similarity index 100% rename from crypto/src/pkix/PkixCertPathValidator.cs rename to src/BouncyCastle/pkix/PkixCertPathValidator.cs diff --git a/crypto/src/pkix/PkixCertPathValidatorException.cs b/src/BouncyCastle/pkix/PkixCertPathValidatorException.cs similarity index 100% rename from crypto/src/pkix/PkixCertPathValidatorException.cs rename to src/BouncyCastle/pkix/PkixCertPathValidatorException.cs diff --git a/crypto/src/pkix/PkixCertPathValidatorResult.cs b/src/BouncyCastle/pkix/PkixCertPathValidatorResult.cs similarity index 100% rename from crypto/src/pkix/PkixCertPathValidatorResult.cs rename to src/BouncyCastle/pkix/PkixCertPathValidatorResult.cs diff --git a/crypto/src/pkix/PkixCertPathValidatorUtilities.cs b/src/BouncyCastle/pkix/PkixCertPathValidatorUtilities.cs similarity index 100% rename from crypto/src/pkix/PkixCertPathValidatorUtilities.cs rename to src/BouncyCastle/pkix/PkixCertPathValidatorUtilities.cs diff --git a/crypto/src/pkix/PkixCrlUtilities.cs b/src/BouncyCastle/pkix/PkixCrlUtilities.cs similarity index 100% rename from crypto/src/pkix/PkixCrlUtilities.cs rename to src/BouncyCastle/pkix/PkixCrlUtilities.cs diff --git a/crypto/src/pkix/PkixNameConstraintValidator.cs b/src/BouncyCastle/pkix/PkixNameConstraintValidator.cs similarity index 100% rename from crypto/src/pkix/PkixNameConstraintValidator.cs rename to src/BouncyCastle/pkix/PkixNameConstraintValidator.cs diff --git a/crypto/src/pkix/PkixNameConstraintValidatorException.cs b/src/BouncyCastle/pkix/PkixNameConstraintValidatorException.cs similarity index 100% rename from crypto/src/pkix/PkixNameConstraintValidatorException.cs rename to src/BouncyCastle/pkix/PkixNameConstraintValidatorException.cs diff --git a/crypto/src/pkix/PkixParameters.cs b/src/BouncyCastle/pkix/PkixParameters.cs similarity index 100% rename from crypto/src/pkix/PkixParameters.cs rename to src/BouncyCastle/pkix/PkixParameters.cs diff --git a/crypto/src/pkix/PkixPolicyNode.cs b/src/BouncyCastle/pkix/PkixPolicyNode.cs similarity index 100% rename from crypto/src/pkix/PkixPolicyNode.cs rename to src/BouncyCastle/pkix/PkixPolicyNode.cs diff --git a/crypto/src/pkix/ReasonsMask.cs b/src/BouncyCastle/pkix/ReasonsMask.cs similarity index 100% rename from crypto/src/pkix/ReasonsMask.cs rename to src/BouncyCastle/pkix/ReasonsMask.cs diff --git a/crypto/src/pkix/Rfc3280CertPathUtilities.cs b/src/BouncyCastle/pkix/Rfc3280CertPathUtilities.cs similarity index 100% rename from crypto/src/pkix/Rfc3280CertPathUtilities.cs rename to src/BouncyCastle/pkix/Rfc3280CertPathUtilities.cs diff --git a/crypto/src/pkix/Rfc3281CertPathUtilities.cs b/src/BouncyCastle/pkix/Rfc3281CertPathUtilities.cs similarity index 100% rename from crypto/src/pkix/Rfc3281CertPathUtilities.cs rename to src/BouncyCastle/pkix/Rfc3281CertPathUtilities.cs diff --git a/crypto/src/pkix/TrustAnchor.cs b/src/BouncyCastle/pkix/TrustAnchor.cs similarity index 100% rename from crypto/src/pkix/TrustAnchor.cs rename to src/BouncyCastle/pkix/TrustAnchor.cs diff --git a/crypto/src/security/AgreementUtilities.cs b/src/BouncyCastle/security/AgreementUtilities.cs similarity index 100% rename from crypto/src/security/AgreementUtilities.cs rename to src/BouncyCastle/security/AgreementUtilities.cs diff --git a/crypto/src/security/CipherUtilities.cs b/src/BouncyCastle/security/CipherUtilities.cs similarity index 100% rename from crypto/src/security/CipherUtilities.cs rename to src/BouncyCastle/security/CipherUtilities.cs diff --git a/crypto/src/security/DigestUtilities.cs b/src/BouncyCastle/security/DigestUtilities.cs similarity index 100% rename from crypto/src/security/DigestUtilities.cs rename to src/BouncyCastle/security/DigestUtilities.cs diff --git a/crypto/src/security/DotNetUtilities.cs b/src/BouncyCastle/security/DotNetUtilities.cs similarity index 100% rename from crypto/src/security/DotNetUtilities.cs rename to src/BouncyCastle/security/DotNetUtilities.cs diff --git a/crypto/src/security/GeneralSecurityException.cs b/src/BouncyCastle/security/GeneralSecurityException.cs similarity index 100% rename from crypto/src/security/GeneralSecurityException.cs rename to src/BouncyCastle/security/GeneralSecurityException.cs diff --git a/crypto/src/security/GeneratorUtilities.cs b/src/BouncyCastle/security/GeneratorUtilities.cs similarity index 100% rename from crypto/src/security/GeneratorUtilities.cs rename to src/BouncyCastle/security/GeneratorUtilities.cs diff --git a/crypto/src/security/InvalidKeyException.cs b/src/BouncyCastle/security/InvalidKeyException.cs similarity index 100% rename from crypto/src/security/InvalidKeyException.cs rename to src/BouncyCastle/security/InvalidKeyException.cs diff --git a/crypto/src/security/InvalidParameterException.cs b/src/BouncyCastle/security/InvalidParameterException.cs similarity index 100% rename from crypto/src/security/InvalidParameterException.cs rename to src/BouncyCastle/security/InvalidParameterException.cs diff --git a/crypto/src/security/KeyException.cs b/src/BouncyCastle/security/KeyException.cs similarity index 100% rename from crypto/src/security/KeyException.cs rename to src/BouncyCastle/security/KeyException.cs diff --git a/crypto/src/security/MacUtilities.cs b/src/BouncyCastle/security/MacUtilities.cs similarity index 100% rename from crypto/src/security/MacUtilities.cs rename to src/BouncyCastle/security/MacUtilities.cs diff --git a/crypto/src/security/NoSuchAlgorithmException.cs b/src/BouncyCastle/security/NoSuchAlgorithmException.cs similarity index 100% rename from crypto/src/security/NoSuchAlgorithmException.cs rename to src/BouncyCastle/security/NoSuchAlgorithmException.cs diff --git a/crypto/src/security/ParameterUtilities.cs b/src/BouncyCastle/security/ParameterUtilities.cs similarity index 100% rename from crypto/src/security/ParameterUtilities.cs rename to src/BouncyCastle/security/ParameterUtilities.cs diff --git a/crypto/src/security/PbeUtilities.cs b/src/BouncyCastle/security/PbeUtilities.cs similarity index 100% rename from crypto/src/security/PbeUtilities.cs rename to src/BouncyCastle/security/PbeUtilities.cs diff --git a/crypto/src/security/PrivateKeyFactory.cs b/src/BouncyCastle/security/PrivateKeyFactory.cs similarity index 100% rename from crypto/src/security/PrivateKeyFactory.cs rename to src/BouncyCastle/security/PrivateKeyFactory.cs diff --git a/crypto/src/security/PublicKeyFactory.cs b/src/BouncyCastle/security/PublicKeyFactory.cs similarity index 100% rename from crypto/src/security/PublicKeyFactory.cs rename to src/BouncyCastle/security/PublicKeyFactory.cs diff --git a/crypto/src/security/SecureRandom.cs b/src/BouncyCastle/security/SecureRandom.cs similarity index 100% rename from crypto/src/security/SecureRandom.cs rename to src/BouncyCastle/security/SecureRandom.cs diff --git a/crypto/src/security/SecurityUtilityException.cs b/src/BouncyCastle/security/SecurityUtilityException.cs similarity index 100% rename from crypto/src/security/SecurityUtilityException.cs rename to src/BouncyCastle/security/SecurityUtilityException.cs diff --git a/crypto/src/security/SignatureException.cs b/src/BouncyCastle/security/SignatureException.cs similarity index 100% rename from crypto/src/security/SignatureException.cs rename to src/BouncyCastle/security/SignatureException.cs diff --git a/crypto/src/security/SignerUtilities.cs b/src/BouncyCastle/security/SignerUtilities.cs similarity index 100% rename from crypto/src/security/SignerUtilities.cs rename to src/BouncyCastle/security/SignerUtilities.cs diff --git a/crypto/src/security/WrapperUtilities.cs b/src/BouncyCastle/security/WrapperUtilities.cs similarity index 100% rename from crypto/src/security/WrapperUtilities.cs rename to src/BouncyCastle/security/WrapperUtilities.cs diff --git a/crypto/src/security/cert/CertificateEncodingException.cs b/src/BouncyCastle/security/cert/CertificateEncodingException.cs similarity index 100% rename from crypto/src/security/cert/CertificateEncodingException.cs rename to src/BouncyCastle/security/cert/CertificateEncodingException.cs diff --git a/crypto/src/security/cert/CertificateException.cs b/src/BouncyCastle/security/cert/CertificateException.cs similarity index 100% rename from crypto/src/security/cert/CertificateException.cs rename to src/BouncyCastle/security/cert/CertificateException.cs diff --git a/crypto/src/security/cert/CertificateExpiredException.cs b/src/BouncyCastle/security/cert/CertificateExpiredException.cs similarity index 100% rename from crypto/src/security/cert/CertificateExpiredException.cs rename to src/BouncyCastle/security/cert/CertificateExpiredException.cs diff --git a/crypto/src/security/cert/CertificateNotYetValidException.cs b/src/BouncyCastle/security/cert/CertificateNotYetValidException.cs similarity index 100% rename from crypto/src/security/cert/CertificateNotYetValidException.cs rename to src/BouncyCastle/security/cert/CertificateNotYetValidException.cs diff --git a/crypto/src/security/cert/CertificateParsingException.cs b/src/BouncyCastle/security/cert/CertificateParsingException.cs similarity index 100% rename from crypto/src/security/cert/CertificateParsingException.cs rename to src/BouncyCastle/security/cert/CertificateParsingException.cs diff --git a/crypto/src/security/cert/CrlException.cs b/src/BouncyCastle/security/cert/CrlException.cs similarity index 100% rename from crypto/src/security/cert/CrlException.cs rename to src/BouncyCastle/security/cert/CrlException.cs diff --git a/crypto/src/tsp/GenTimeAccuracy.cs b/src/BouncyCastle/tsp/GenTimeAccuracy.cs similarity index 100% rename from crypto/src/tsp/GenTimeAccuracy.cs rename to src/BouncyCastle/tsp/GenTimeAccuracy.cs diff --git a/crypto/src/tsp/TSPAlgorithms.cs b/src/BouncyCastle/tsp/TSPAlgorithms.cs similarity index 100% rename from crypto/src/tsp/TSPAlgorithms.cs rename to src/BouncyCastle/tsp/TSPAlgorithms.cs diff --git a/crypto/src/tsp/TSPException.cs b/src/BouncyCastle/tsp/TSPException.cs similarity index 100% rename from crypto/src/tsp/TSPException.cs rename to src/BouncyCastle/tsp/TSPException.cs diff --git a/crypto/src/tsp/TSPUtil.cs b/src/BouncyCastle/tsp/TSPUtil.cs similarity index 100% rename from crypto/src/tsp/TSPUtil.cs rename to src/BouncyCastle/tsp/TSPUtil.cs diff --git a/crypto/src/tsp/TSPValidationException.cs b/src/BouncyCastle/tsp/TSPValidationException.cs similarity index 100% rename from crypto/src/tsp/TSPValidationException.cs rename to src/BouncyCastle/tsp/TSPValidationException.cs diff --git a/crypto/src/tsp/TimeStampRequest.cs b/src/BouncyCastle/tsp/TimeStampRequest.cs similarity index 100% rename from crypto/src/tsp/TimeStampRequest.cs rename to src/BouncyCastle/tsp/TimeStampRequest.cs diff --git a/crypto/src/tsp/TimeStampRequestGenerator.cs b/src/BouncyCastle/tsp/TimeStampRequestGenerator.cs similarity index 100% rename from crypto/src/tsp/TimeStampRequestGenerator.cs rename to src/BouncyCastle/tsp/TimeStampRequestGenerator.cs diff --git a/crypto/src/tsp/TimeStampResponse.cs b/src/BouncyCastle/tsp/TimeStampResponse.cs similarity index 100% rename from crypto/src/tsp/TimeStampResponse.cs rename to src/BouncyCastle/tsp/TimeStampResponse.cs diff --git a/crypto/src/tsp/TimeStampResponseGenerator.cs b/src/BouncyCastle/tsp/TimeStampResponseGenerator.cs similarity index 100% rename from crypto/src/tsp/TimeStampResponseGenerator.cs rename to src/BouncyCastle/tsp/TimeStampResponseGenerator.cs diff --git a/crypto/src/tsp/TimeStampToken.cs b/src/BouncyCastle/tsp/TimeStampToken.cs similarity index 100% rename from crypto/src/tsp/TimeStampToken.cs rename to src/BouncyCastle/tsp/TimeStampToken.cs diff --git a/crypto/src/tsp/TimeStampTokenGenerator.cs b/src/BouncyCastle/tsp/TimeStampTokenGenerator.cs similarity index 100% rename from crypto/src/tsp/TimeStampTokenGenerator.cs rename to src/BouncyCastle/tsp/TimeStampTokenGenerator.cs diff --git a/crypto/src/tsp/TimeStampTokenInfo.cs b/src/BouncyCastle/tsp/TimeStampTokenInfo.cs similarity index 100% rename from crypto/src/tsp/TimeStampTokenInfo.cs rename to src/BouncyCastle/tsp/TimeStampTokenInfo.cs diff --git a/crypto/src/util/Arrays.cs b/src/BouncyCastle/util/Arrays.cs similarity index 100% rename from crypto/src/util/Arrays.cs rename to src/BouncyCastle/util/Arrays.cs diff --git a/crypto/src/util/BigIntegers.cs b/src/BouncyCastle/util/BigIntegers.cs similarity index 100% rename from crypto/src/util/BigIntegers.cs rename to src/BouncyCastle/util/BigIntegers.cs diff --git a/crypto/src/util/Enums.cs b/src/BouncyCastle/util/Enums.cs similarity index 100% rename from crypto/src/util/Enums.cs rename to src/BouncyCastle/util/Enums.cs diff --git a/crypto/src/util/IMemoable.cs b/src/BouncyCastle/util/IMemoable.cs similarity index 100% rename from crypto/src/util/IMemoable.cs rename to src/BouncyCastle/util/IMemoable.cs diff --git a/crypto/src/util/Integers.cs b/src/BouncyCastle/util/Integers.cs similarity index 100% rename from crypto/src/util/Integers.cs rename to src/BouncyCastle/util/Integers.cs diff --git a/crypto/src/util/MemoableResetException.cs b/src/BouncyCastle/util/MemoableResetException.cs similarity index 100% rename from crypto/src/util/MemoableResetException.cs rename to src/BouncyCastle/util/MemoableResetException.cs diff --git a/crypto/src/util/Platform.cs b/src/BouncyCastle/util/Platform.cs similarity index 100% rename from crypto/src/util/Platform.cs rename to src/BouncyCastle/util/Platform.cs diff --git a/crypto/src/util/Strings.cs b/src/BouncyCastle/util/Strings.cs similarity index 100% rename from crypto/src/util/Strings.cs rename to src/BouncyCastle/util/Strings.cs diff --git a/crypto/src/util/Times.cs b/src/BouncyCastle/util/Times.cs similarity index 100% rename from crypto/src/util/Times.cs rename to src/BouncyCastle/util/Times.cs diff --git a/crypto/src/util/TypeExtensions.cs b/src/BouncyCastle/util/TypeExtensions.cs similarity index 100% rename from crypto/src/util/TypeExtensions.cs rename to src/BouncyCastle/util/TypeExtensions.cs diff --git a/crypto/src/util/collections/CollectionUtilities.cs b/src/BouncyCastle/util/collections/CollectionUtilities.cs similarity index 100% rename from crypto/src/util/collections/CollectionUtilities.cs rename to src/BouncyCastle/util/collections/CollectionUtilities.cs diff --git a/crypto/src/util/collections/EmptyEnumerable.cs b/src/BouncyCastle/util/collections/EmptyEnumerable.cs similarity index 100% rename from crypto/src/util/collections/EmptyEnumerable.cs rename to src/BouncyCastle/util/collections/EmptyEnumerable.cs diff --git a/crypto/src/util/collections/EnumerableProxy.cs b/src/BouncyCastle/util/collections/EnumerableProxy.cs similarity index 100% rename from crypto/src/util/collections/EnumerableProxy.cs rename to src/BouncyCastle/util/collections/EnumerableProxy.cs diff --git a/crypto/src/util/collections/HashSet.cs b/src/BouncyCastle/util/collections/HashSet.cs similarity index 100% rename from crypto/src/util/collections/HashSet.cs rename to src/BouncyCastle/util/collections/HashSet.cs diff --git a/crypto/src/util/collections/ISet.cs b/src/BouncyCastle/util/collections/ISet.cs similarity index 100% rename from crypto/src/util/collections/ISet.cs rename to src/BouncyCastle/util/collections/ISet.cs diff --git a/crypto/src/util/collections/LinkedDictionary.cs b/src/BouncyCastle/util/collections/LinkedDictionary.cs similarity index 100% rename from crypto/src/util/collections/LinkedDictionary.cs rename to src/BouncyCastle/util/collections/LinkedDictionary.cs diff --git a/crypto/src/util/collections/UnmodifiableDictionary.cs b/src/BouncyCastle/util/collections/UnmodifiableDictionary.cs similarity index 100% rename from crypto/src/util/collections/UnmodifiableDictionary.cs rename to src/BouncyCastle/util/collections/UnmodifiableDictionary.cs diff --git a/crypto/src/util/collections/UnmodifiableDictionaryProxy.cs b/src/BouncyCastle/util/collections/UnmodifiableDictionaryProxy.cs similarity index 100% rename from crypto/src/util/collections/UnmodifiableDictionaryProxy.cs rename to src/BouncyCastle/util/collections/UnmodifiableDictionaryProxy.cs diff --git a/crypto/src/util/collections/UnmodifiableList.cs b/src/BouncyCastle/util/collections/UnmodifiableList.cs similarity index 100% rename from crypto/src/util/collections/UnmodifiableList.cs rename to src/BouncyCastle/util/collections/UnmodifiableList.cs diff --git a/crypto/src/util/collections/UnmodifiableListProxy.cs b/src/BouncyCastle/util/collections/UnmodifiableListProxy.cs similarity index 100% rename from crypto/src/util/collections/UnmodifiableListProxy.cs rename to src/BouncyCastle/util/collections/UnmodifiableListProxy.cs diff --git a/crypto/src/util/collections/UnmodifiableSet.cs b/src/BouncyCastle/util/collections/UnmodifiableSet.cs similarity index 100% rename from crypto/src/util/collections/UnmodifiableSet.cs rename to src/BouncyCastle/util/collections/UnmodifiableSet.cs diff --git a/crypto/src/util/collections/UnmodifiableSetProxy.cs b/src/BouncyCastle/util/collections/UnmodifiableSetProxy.cs similarity index 100% rename from crypto/src/util/collections/UnmodifiableSetProxy.cs rename to src/BouncyCastle/util/collections/UnmodifiableSetProxy.cs diff --git a/crypto/src/util/date/DateTimeObject.cs b/src/BouncyCastle/util/date/DateTimeObject.cs similarity index 100% rename from crypto/src/util/date/DateTimeObject.cs rename to src/BouncyCastle/util/date/DateTimeObject.cs diff --git a/crypto/src/util/date/DateTimeUtilities.cs b/src/BouncyCastle/util/date/DateTimeUtilities.cs similarity index 100% rename from crypto/src/util/date/DateTimeUtilities.cs rename to src/BouncyCastle/util/date/DateTimeUtilities.cs diff --git a/crypto/src/util/encoders/Base64.cs b/src/BouncyCastle/util/encoders/Base64.cs similarity index 100% rename from crypto/src/util/encoders/Base64.cs rename to src/BouncyCastle/util/encoders/Base64.cs diff --git a/crypto/src/util/encoders/Base64Encoder.cs b/src/BouncyCastle/util/encoders/Base64Encoder.cs similarity index 100% rename from crypto/src/util/encoders/Base64Encoder.cs rename to src/BouncyCastle/util/encoders/Base64Encoder.cs diff --git a/crypto/src/util/encoders/BufferedDecoder.cs b/src/BouncyCastle/util/encoders/BufferedDecoder.cs similarity index 100% rename from crypto/src/util/encoders/BufferedDecoder.cs rename to src/BouncyCastle/util/encoders/BufferedDecoder.cs diff --git a/crypto/src/util/encoders/BufferedEncoder.cs b/src/BouncyCastle/util/encoders/BufferedEncoder.cs similarity index 100% rename from crypto/src/util/encoders/BufferedEncoder.cs rename to src/BouncyCastle/util/encoders/BufferedEncoder.cs diff --git a/crypto/src/util/encoders/Hex.cs b/src/BouncyCastle/util/encoders/Hex.cs similarity index 100% rename from crypto/src/util/encoders/Hex.cs rename to src/BouncyCastle/util/encoders/Hex.cs diff --git a/crypto/src/util/encoders/HexEncoder.cs b/src/BouncyCastle/util/encoders/HexEncoder.cs similarity index 100% rename from crypto/src/util/encoders/HexEncoder.cs rename to src/BouncyCastle/util/encoders/HexEncoder.cs diff --git a/crypto/src/util/encoders/HexTranslator.cs b/src/BouncyCastle/util/encoders/HexTranslator.cs similarity index 100% rename from crypto/src/util/encoders/HexTranslator.cs rename to src/BouncyCastle/util/encoders/HexTranslator.cs diff --git a/crypto/src/util/encoders/IEncoder.cs b/src/BouncyCastle/util/encoders/IEncoder.cs similarity index 100% rename from crypto/src/util/encoders/IEncoder.cs rename to src/BouncyCastle/util/encoders/IEncoder.cs diff --git a/crypto/src/util/encoders/Translator.cs b/src/BouncyCastle/util/encoders/Translator.cs similarity index 100% rename from crypto/src/util/encoders/Translator.cs rename to src/BouncyCastle/util/encoders/Translator.cs diff --git a/crypto/src/util/encoders/UrlBase64.cs b/src/BouncyCastle/util/encoders/UrlBase64.cs similarity index 100% rename from crypto/src/util/encoders/UrlBase64.cs rename to src/BouncyCastle/util/encoders/UrlBase64.cs diff --git a/crypto/src/util/encoders/UrlBase64Encoder.cs b/src/BouncyCastle/util/encoders/UrlBase64Encoder.cs similarity index 100% rename from crypto/src/util/encoders/UrlBase64Encoder.cs rename to src/BouncyCastle/util/encoders/UrlBase64Encoder.cs diff --git a/crypto/src/util/io/BaseInputStream.cs b/src/BouncyCastle/util/io/BaseInputStream.cs similarity index 100% rename from crypto/src/util/io/BaseInputStream.cs rename to src/BouncyCastle/util/io/BaseInputStream.cs diff --git a/crypto/src/util/io/BaseOutputStream.cs b/src/BouncyCastle/util/io/BaseOutputStream.cs similarity index 100% rename from crypto/src/util/io/BaseOutputStream.cs rename to src/BouncyCastle/util/io/BaseOutputStream.cs diff --git a/crypto/src/util/io/FilterStream.cs b/src/BouncyCastle/util/io/FilterStream.cs similarity index 100% rename from crypto/src/util/io/FilterStream.cs rename to src/BouncyCastle/util/io/FilterStream.cs diff --git a/crypto/src/util/io/NullOutputStream.cs b/src/BouncyCastle/util/io/NullOutputStream.cs similarity index 100% rename from crypto/src/util/io/NullOutputStream.cs rename to src/BouncyCastle/util/io/NullOutputStream.cs diff --git a/crypto/src/util/io/PushbackStream.cs b/src/BouncyCastle/util/io/PushbackStream.cs similarity index 100% rename from crypto/src/util/io/PushbackStream.cs rename to src/BouncyCastle/util/io/PushbackStream.cs diff --git a/crypto/src/util/io/StreamOverflowException.cs b/src/BouncyCastle/util/io/StreamOverflowException.cs similarity index 100% rename from crypto/src/util/io/StreamOverflowException.cs rename to src/BouncyCastle/util/io/StreamOverflowException.cs diff --git a/crypto/src/util/io/Streams.cs b/src/BouncyCastle/util/io/Streams.cs similarity index 100% rename from crypto/src/util/io/Streams.cs rename to src/BouncyCastle/util/io/Streams.cs diff --git a/crypto/src/util/io/TeeInputStream.cs b/src/BouncyCastle/util/io/TeeInputStream.cs similarity index 100% rename from crypto/src/util/io/TeeInputStream.cs rename to src/BouncyCastle/util/io/TeeInputStream.cs diff --git a/crypto/src/util/io/TeeOutputStream.cs b/src/BouncyCastle/util/io/TeeOutputStream.cs similarity index 100% rename from crypto/src/util/io/TeeOutputStream.cs rename to src/BouncyCastle/util/io/TeeOutputStream.cs diff --git a/crypto/src/util/io/pem/PemGenerationException.cs b/src/BouncyCastle/util/io/pem/PemGenerationException.cs similarity index 100% rename from crypto/src/util/io/pem/PemGenerationException.cs rename to src/BouncyCastle/util/io/pem/PemGenerationException.cs diff --git a/crypto/src/util/io/pem/PemHeader.cs b/src/BouncyCastle/util/io/pem/PemHeader.cs similarity index 100% rename from crypto/src/util/io/pem/PemHeader.cs rename to src/BouncyCastle/util/io/pem/PemHeader.cs diff --git a/crypto/src/util/io/pem/PemObject.cs b/src/BouncyCastle/util/io/pem/PemObject.cs similarity index 100% rename from crypto/src/util/io/pem/PemObject.cs rename to src/BouncyCastle/util/io/pem/PemObject.cs diff --git a/crypto/src/util/io/pem/PemObjectGenerator.cs b/src/BouncyCastle/util/io/pem/PemObjectGenerator.cs similarity index 100% rename from crypto/src/util/io/pem/PemObjectGenerator.cs rename to src/BouncyCastle/util/io/pem/PemObjectGenerator.cs diff --git a/crypto/src/util/io/pem/PemObjectParser.cs b/src/BouncyCastle/util/io/pem/PemObjectParser.cs similarity index 100% rename from crypto/src/util/io/pem/PemObjectParser.cs rename to src/BouncyCastle/util/io/pem/PemObjectParser.cs diff --git a/crypto/src/util/io/pem/PemReader.cs b/src/BouncyCastle/util/io/pem/PemReader.cs similarity index 100% rename from crypto/src/util/io/pem/PemReader.cs rename to src/BouncyCastle/util/io/pem/PemReader.cs diff --git a/crypto/src/util/io/pem/PemWriter.cs b/src/BouncyCastle/util/io/pem/PemWriter.cs similarity index 100% rename from crypto/src/util/io/pem/PemWriter.cs rename to src/BouncyCastle/util/io/pem/PemWriter.cs diff --git a/crypto/src/util/net/IPAddress.cs b/src/BouncyCastle/util/net/IPAddress.cs similarity index 100% rename from crypto/src/util/net/IPAddress.cs rename to src/BouncyCastle/util/net/IPAddress.cs diff --git a/crypto/src/util/zlib/Adler32.cs b/src/BouncyCastle/util/zlib/Adler32.cs similarity index 100% rename from crypto/src/util/zlib/Adler32.cs rename to src/BouncyCastle/util/zlib/Adler32.cs diff --git a/crypto/src/util/zlib/Deflate.cs b/src/BouncyCastle/util/zlib/Deflate.cs similarity index 100% rename from crypto/src/util/zlib/Deflate.cs rename to src/BouncyCastle/util/zlib/Deflate.cs diff --git a/crypto/src/util/zlib/InfBlocks.cs b/src/BouncyCastle/util/zlib/InfBlocks.cs similarity index 100% rename from crypto/src/util/zlib/InfBlocks.cs rename to src/BouncyCastle/util/zlib/InfBlocks.cs diff --git a/crypto/src/util/zlib/InfCodes.cs b/src/BouncyCastle/util/zlib/InfCodes.cs similarity index 100% rename from crypto/src/util/zlib/InfCodes.cs rename to src/BouncyCastle/util/zlib/InfCodes.cs diff --git a/crypto/src/util/zlib/InfTree.cs b/src/BouncyCastle/util/zlib/InfTree.cs similarity index 100% rename from crypto/src/util/zlib/InfTree.cs rename to src/BouncyCastle/util/zlib/InfTree.cs diff --git a/crypto/src/util/zlib/Inflate.cs b/src/BouncyCastle/util/zlib/Inflate.cs similarity index 100% rename from crypto/src/util/zlib/Inflate.cs rename to src/BouncyCastle/util/zlib/Inflate.cs diff --git a/crypto/src/util/zlib/JZlib.cs b/src/BouncyCastle/util/zlib/JZlib.cs similarity index 100% rename from crypto/src/util/zlib/JZlib.cs rename to src/BouncyCastle/util/zlib/JZlib.cs diff --git a/crypto/src/util/zlib/StaticTree.cs b/src/BouncyCastle/util/zlib/StaticTree.cs similarity index 100% rename from crypto/src/util/zlib/StaticTree.cs rename to src/BouncyCastle/util/zlib/StaticTree.cs diff --git a/crypto/src/util/zlib/Tree.cs b/src/BouncyCastle/util/zlib/Tree.cs similarity index 100% rename from crypto/src/util/zlib/Tree.cs rename to src/BouncyCastle/util/zlib/Tree.cs diff --git a/crypto/src/util/zlib/ZDeflaterOutputStream.cs b/src/BouncyCastle/util/zlib/ZDeflaterOutputStream.cs similarity index 100% rename from crypto/src/util/zlib/ZDeflaterOutputStream.cs rename to src/BouncyCastle/util/zlib/ZDeflaterOutputStream.cs diff --git a/crypto/src/util/zlib/ZInflaterInputStream.cs b/src/BouncyCastle/util/zlib/ZInflaterInputStream.cs similarity index 100% rename from crypto/src/util/zlib/ZInflaterInputStream.cs rename to src/BouncyCastle/util/zlib/ZInflaterInputStream.cs diff --git a/crypto/src/util/zlib/ZInputStream.cs b/src/BouncyCastle/util/zlib/ZInputStream.cs similarity index 100% rename from crypto/src/util/zlib/ZInputStream.cs rename to src/BouncyCastle/util/zlib/ZInputStream.cs diff --git a/crypto/src/util/zlib/ZOutputStream.cs b/src/BouncyCastle/util/zlib/ZOutputStream.cs similarity index 100% rename from crypto/src/util/zlib/ZOutputStream.cs rename to src/BouncyCastle/util/zlib/ZOutputStream.cs diff --git a/crypto/src/util/zlib/ZStream.cs b/src/BouncyCastle/util/zlib/ZStream.cs similarity index 100% rename from crypto/src/util/zlib/ZStream.cs rename to src/BouncyCastle/util/zlib/ZStream.cs diff --git a/crypto/src/x509/AttributeCertificateHolder.cs b/src/BouncyCastle/x509/AttributeCertificateHolder.cs similarity index 100% rename from crypto/src/x509/AttributeCertificateHolder.cs rename to src/BouncyCastle/x509/AttributeCertificateHolder.cs diff --git a/crypto/src/x509/AttributeCertificateIssuer.cs b/src/BouncyCastle/x509/AttributeCertificateIssuer.cs similarity index 100% rename from crypto/src/x509/AttributeCertificateIssuer.cs rename to src/BouncyCastle/x509/AttributeCertificateIssuer.cs diff --git a/crypto/src/x509/IX509AttributeCertificate.cs b/src/BouncyCastle/x509/IX509AttributeCertificate.cs similarity index 100% rename from crypto/src/x509/IX509AttributeCertificate.cs rename to src/BouncyCastle/x509/IX509AttributeCertificate.cs diff --git a/crypto/src/x509/IX509Extension.cs b/src/BouncyCastle/x509/IX509Extension.cs similarity index 100% rename from crypto/src/x509/IX509Extension.cs rename to src/BouncyCastle/x509/IX509Extension.cs diff --git a/crypto/src/x509/PEMParser.cs b/src/BouncyCastle/x509/PEMParser.cs similarity index 100% rename from crypto/src/x509/PEMParser.cs rename to src/BouncyCastle/x509/PEMParser.cs diff --git a/crypto/src/x509/PrincipalUtil.cs b/src/BouncyCastle/x509/PrincipalUtil.cs similarity index 100% rename from crypto/src/x509/PrincipalUtil.cs rename to src/BouncyCastle/x509/PrincipalUtil.cs diff --git a/crypto/src/x509/SubjectPublicKeyInfoFactory.cs b/src/BouncyCastle/x509/SubjectPublicKeyInfoFactory.cs similarity index 100% rename from crypto/src/x509/SubjectPublicKeyInfoFactory.cs rename to src/BouncyCastle/x509/SubjectPublicKeyInfoFactory.cs diff --git a/crypto/src/x509/X509AttrCertParser.cs b/src/BouncyCastle/x509/X509AttrCertParser.cs similarity index 100% rename from crypto/src/x509/X509AttrCertParser.cs rename to src/BouncyCastle/x509/X509AttrCertParser.cs diff --git a/crypto/src/x509/X509Attribute.cs b/src/BouncyCastle/x509/X509Attribute.cs similarity index 100% rename from crypto/src/x509/X509Attribute.cs rename to src/BouncyCastle/x509/X509Attribute.cs diff --git a/crypto/src/x509/X509CertPairParser.cs b/src/BouncyCastle/x509/X509CertPairParser.cs similarity index 100% rename from crypto/src/x509/X509CertPairParser.cs rename to src/BouncyCastle/x509/X509CertPairParser.cs diff --git a/crypto/src/x509/X509Certificate.cs b/src/BouncyCastle/x509/X509Certificate.cs similarity index 100% rename from crypto/src/x509/X509Certificate.cs rename to src/BouncyCastle/x509/X509Certificate.cs diff --git a/crypto/src/x509/X509CertificatePair.cs b/src/BouncyCastle/x509/X509CertificatePair.cs similarity index 100% rename from crypto/src/x509/X509CertificatePair.cs rename to src/BouncyCastle/x509/X509CertificatePair.cs diff --git a/crypto/src/x509/X509CertificateParser.cs b/src/BouncyCastle/x509/X509CertificateParser.cs similarity index 100% rename from crypto/src/x509/X509CertificateParser.cs rename to src/BouncyCastle/x509/X509CertificateParser.cs diff --git a/crypto/src/x509/X509Crl.cs b/src/BouncyCastle/x509/X509Crl.cs similarity index 100% rename from crypto/src/x509/X509Crl.cs rename to src/BouncyCastle/x509/X509Crl.cs diff --git a/crypto/src/x509/X509CrlEntry.cs b/src/BouncyCastle/x509/X509CrlEntry.cs similarity index 100% rename from crypto/src/x509/X509CrlEntry.cs rename to src/BouncyCastle/x509/X509CrlEntry.cs diff --git a/crypto/src/x509/X509CrlParser.cs b/src/BouncyCastle/x509/X509CrlParser.cs similarity index 100% rename from crypto/src/x509/X509CrlParser.cs rename to src/BouncyCastle/x509/X509CrlParser.cs diff --git a/crypto/src/x509/X509ExtensionBase.cs b/src/BouncyCastle/x509/X509ExtensionBase.cs similarity index 100% rename from crypto/src/x509/X509ExtensionBase.cs rename to src/BouncyCastle/x509/X509ExtensionBase.cs diff --git a/crypto/src/x509/X509KeyUsage.cs b/src/BouncyCastle/x509/X509KeyUsage.cs similarity index 100% rename from crypto/src/x509/X509KeyUsage.cs rename to src/BouncyCastle/x509/X509KeyUsage.cs diff --git a/crypto/src/x509/X509SignatureUtil.cs b/src/BouncyCastle/x509/X509SignatureUtil.cs similarity index 100% rename from crypto/src/x509/X509SignatureUtil.cs rename to src/BouncyCastle/x509/X509SignatureUtil.cs diff --git a/crypto/src/x509/X509Utilities.cs b/src/BouncyCastle/x509/X509Utilities.cs similarity index 100% rename from crypto/src/x509/X509Utilities.cs rename to src/BouncyCastle/x509/X509Utilities.cs diff --git a/crypto/src/x509/X509V1CertificateGenerator.cs b/src/BouncyCastle/x509/X509V1CertificateGenerator.cs similarity index 100% rename from crypto/src/x509/X509V1CertificateGenerator.cs rename to src/BouncyCastle/x509/X509V1CertificateGenerator.cs diff --git a/crypto/src/x509/X509V2AttributeCertificate.cs b/src/BouncyCastle/x509/X509V2AttributeCertificate.cs similarity index 100% rename from crypto/src/x509/X509V2AttributeCertificate.cs rename to src/BouncyCastle/x509/X509V2AttributeCertificate.cs diff --git a/crypto/src/x509/X509V2AttributeCertificateGenerator.cs b/src/BouncyCastle/x509/X509V2AttributeCertificateGenerator.cs similarity index 100% rename from crypto/src/x509/X509V2AttributeCertificateGenerator.cs rename to src/BouncyCastle/x509/X509V2AttributeCertificateGenerator.cs diff --git a/crypto/src/x509/X509V2CRLGenerator.cs b/src/BouncyCastle/x509/X509V2CRLGenerator.cs similarity index 100% rename from crypto/src/x509/X509V2CRLGenerator.cs rename to src/BouncyCastle/x509/X509V2CRLGenerator.cs diff --git a/crypto/src/x509/X509V3CertificateGenerator.cs b/src/BouncyCastle/x509/X509V3CertificateGenerator.cs similarity index 100% rename from crypto/src/x509/X509V3CertificateGenerator.cs rename to src/BouncyCastle/x509/X509V3CertificateGenerator.cs diff --git a/crypto/src/x509/extension/AuthorityKeyIdentifierStructure.cs b/src/BouncyCastle/x509/extension/AuthorityKeyIdentifierStructure.cs similarity index 100% rename from crypto/src/x509/extension/AuthorityKeyIdentifierStructure.cs rename to src/BouncyCastle/x509/extension/AuthorityKeyIdentifierStructure.cs diff --git a/crypto/src/x509/extension/SubjectKeyIdentifierStructure.cs b/src/BouncyCastle/x509/extension/SubjectKeyIdentifierStructure.cs similarity index 100% rename from crypto/src/x509/extension/SubjectKeyIdentifierStructure.cs rename to src/BouncyCastle/x509/extension/SubjectKeyIdentifierStructure.cs diff --git a/crypto/src/x509/extension/X509ExtensionUtil.cs b/src/BouncyCastle/x509/extension/X509ExtensionUtil.cs similarity index 100% rename from crypto/src/x509/extension/X509ExtensionUtil.cs rename to src/BouncyCastle/x509/extension/X509ExtensionUtil.cs diff --git a/crypto/src/x509/store/IX509Selector.cs b/src/BouncyCastle/x509/store/IX509Selector.cs similarity index 100% rename from crypto/src/x509/store/IX509Selector.cs rename to src/BouncyCastle/x509/store/IX509Selector.cs diff --git a/crypto/src/x509/store/IX509Store.cs b/src/BouncyCastle/x509/store/IX509Store.cs similarity index 100% rename from crypto/src/x509/store/IX509Store.cs rename to src/BouncyCastle/x509/store/IX509Store.cs diff --git a/crypto/src/x509/store/IX509StoreParameters.cs b/src/BouncyCastle/x509/store/IX509StoreParameters.cs similarity index 100% rename from crypto/src/x509/store/IX509StoreParameters.cs rename to src/BouncyCastle/x509/store/IX509StoreParameters.cs diff --git a/crypto/src/x509/store/NoSuchStoreException.cs b/src/BouncyCastle/x509/store/NoSuchStoreException.cs similarity index 100% rename from crypto/src/x509/store/NoSuchStoreException.cs rename to src/BouncyCastle/x509/store/NoSuchStoreException.cs diff --git a/crypto/src/x509/store/X509AttrCertStoreSelector.cs b/src/BouncyCastle/x509/store/X509AttrCertStoreSelector.cs similarity index 100% rename from crypto/src/x509/store/X509AttrCertStoreSelector.cs rename to src/BouncyCastle/x509/store/X509AttrCertStoreSelector.cs diff --git a/crypto/src/x509/store/X509CertPairStoreSelector.cs b/src/BouncyCastle/x509/store/X509CertPairStoreSelector.cs similarity index 100% rename from crypto/src/x509/store/X509CertPairStoreSelector.cs rename to src/BouncyCastle/x509/store/X509CertPairStoreSelector.cs diff --git a/crypto/src/x509/store/X509CertStoreSelector.cs b/src/BouncyCastle/x509/store/X509CertStoreSelector.cs similarity index 100% rename from crypto/src/x509/store/X509CertStoreSelector.cs rename to src/BouncyCastle/x509/store/X509CertStoreSelector.cs diff --git a/crypto/src/x509/store/X509CollectionStore.cs b/src/BouncyCastle/x509/store/X509CollectionStore.cs similarity index 100% rename from crypto/src/x509/store/X509CollectionStore.cs rename to src/BouncyCastle/x509/store/X509CollectionStore.cs diff --git a/crypto/src/x509/store/X509CollectionStoreParameters.cs b/src/BouncyCastle/x509/store/X509CollectionStoreParameters.cs similarity index 100% rename from crypto/src/x509/store/X509CollectionStoreParameters.cs rename to src/BouncyCastle/x509/store/X509CollectionStoreParameters.cs diff --git a/crypto/src/x509/store/X509CrlStoreSelector.cs b/src/BouncyCastle/x509/store/X509CrlStoreSelector.cs similarity index 100% rename from crypto/src/x509/store/X509CrlStoreSelector.cs rename to src/BouncyCastle/x509/store/X509CrlStoreSelector.cs diff --git a/crypto/src/x509/store/X509StoreException.cs b/src/BouncyCastle/x509/store/X509StoreException.cs similarity index 100% rename from crypto/src/x509/store/X509StoreException.cs rename to src/BouncyCastle/x509/store/X509StoreException.cs diff --git a/crypto/src/x509/store/X509StoreFactory.cs b/src/BouncyCastle/x509/store/X509StoreFactory.cs similarity index 100% rename from crypto/src/x509/store/X509StoreFactory.cs rename to src/BouncyCastle/x509/store/X509StoreFactory.cs diff --git a/test/Crypto.NetSdk.NUnitTest/Crypto.NetSdk.NUnitTest.csproj b/test/Crypto.NetSdk.NUnitTest/Crypto.NetSdk.NUnitTest.csproj new file mode 100644 index 0000000000..e3642a8f46 --- /dev/null +++ b/test/Crypto.NetSdk.NUnitTest/Crypto.NetSdk.NUnitTest.csproj @@ -0,0 +1,29 @@ + + + + netcoreapp2.0 + false + TRACE;LIB + + + + + + + + + + + + %(RecursiveDir)%(Filename)%(Extension) + + + %(RecursiveDir)%(Filename)%(Extension) + + + + + + + + \ No newline at end of file diff --git a/crypto/test/data/PKITS/README.txt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/README.txt similarity index 100% rename from crypto/test/data/PKITS/README.txt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/README.txt diff --git a/crypto/test/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt diff --git a/crypto/test/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt diff --git a/crypto/test/data/PKITS/certs/AnyPolicyTest14EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AnyPolicyTest14EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/AnyPolicyTest14EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/AnyPolicyTest14EE.crt diff --git a/crypto/test/data/PKITS/certs/BadCRLIssuerNameCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadCRLIssuerNameCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BadCRLIssuerNameCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadCRLIssuerNameCACert.crt diff --git a/crypto/test/data/PKITS/certs/BadCRLSignatureCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadCRLSignatureCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BadCRLSignatureCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadCRLSignatureCACert.crt diff --git a/crypto/test/data/PKITS/certs/BadSignedCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadSignedCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BadSignedCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadSignedCACert.crt diff --git a/crypto/test/data/PKITS/certs/BadnotAfterDateCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadnotAfterDateCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BadnotAfterDateCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadnotAfterDateCACert.crt diff --git a/crypto/test/data/PKITS/certs/BadnotBeforeDateCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadnotBeforeDateCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BadnotBeforeDateCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BadnotBeforeDateCACert.crt diff --git a/crypto/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt diff --git a/crypto/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt diff --git a/crypto/test/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt diff --git a/crypto/test/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt diff --git a/crypto/test/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt diff --git a/crypto/test/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt diff --git a/crypto/test/data/PKITS/certs/CPSPointerQualifierTest20EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/CPSPointerQualifierTest20EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/CPSPointerQualifierTest20EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/CPSPointerQualifierTest20EE.crt diff --git a/crypto/test/data/PKITS/certs/DSACACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DSACACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DSACACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DSACACert.crt diff --git a/crypto/test/data/PKITS/certs/DSAParametersInheritedCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DSAParametersInheritedCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DSAParametersInheritedCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DSAParametersInheritedCACert.crt diff --git a/crypto/test/data/PKITS/certs/DifferentPoliciesTest12EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest12EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DifferentPoliciesTest12EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest12EE.crt diff --git a/crypto/test/data/PKITS/certs/DifferentPoliciesTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DifferentPoliciesTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/DifferentPoliciesTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DifferentPoliciesTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/DifferentPoliciesTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DifferentPoliciesTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/DifferentPoliciesTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DifferentPoliciesTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/DifferentPoliciesTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DifferentPoliciesTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/DifferentPoliciesTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/DifferentPoliciesTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/DifferentPoliciesTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt diff --git a/crypto/test/data/PKITS/certs/GoodCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/GoodCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/GoodCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/GoodCACert.crt diff --git a/crypto/test/data/PKITS/certs/GoodsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/GoodsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/GoodsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/GoodsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt diff --git a/crypto/test/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidCASignatureTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidCASignatureTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidCASignatureTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidCASignatureTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidDSASignatureTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDSASignatureTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidDSASignatureTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidDSASignatureTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidEESignatureTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidEESignatureTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidEESignatureTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidEESignatureTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidMissingCRLTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidMissingCRLTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidMissingCRLTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidMissingCRLTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidNameChainingTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidNameChainingTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidNameChainingTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidNameChainingTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidRevokedCATest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRevokedCATest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidRevokedCATest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRevokedCATest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidRevokedEETest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRevokedEETest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidRevokedEETest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidRevokedEETest3EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidWrongCRLTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidWrongCRLTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidWrongCRLTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidWrongCRLTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidcAFalseTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcAFalseTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidcAFalseTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcAFalseTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidcAFalseTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcAFalseTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidcAFalseTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcAFalseTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddistributionPointTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddistributionPointTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddistributionPointTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddistributionPointTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddistributionPointTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddistributionPointTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddistributionPointTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddistributionPointTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/InvaliddistributionPointTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvaliddistributionPointTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvaliddistributionPointTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt diff --git a/crypto/test/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/LongSerialNumberCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/LongSerialNumberCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/LongSerialNumberCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/LongSerialNumberCACert.crt diff --git a/crypto/test/data/PKITS/certs/Mapping1to2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/Mapping1to2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/Mapping1to2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/Mapping1to2CACert.crt diff --git a/crypto/test/data/PKITS/certs/MappingFromanyPolicyCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/MappingFromanyPolicyCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/MappingFromanyPolicyCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/MappingFromanyPolicyCACert.crt diff --git a/crypto/test/data/PKITS/certs/MappingToanyPolicyCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/MappingToanyPolicyCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/MappingToanyPolicyCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/MappingToanyPolicyCACert.crt diff --git a/crypto/test/data/PKITS/certs/MissingbasicConstraintsCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/MissingbasicConstraintsCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/MissingbasicConstraintsCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/MissingbasicConstraintsCACert.crt diff --git a/crypto/test/data/PKITS/certs/NameOrderingCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NameOrderingCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/NameOrderingCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NameOrderingCACert.crt diff --git a/crypto/test/data/PKITS/certs/NegativeSerialNumberCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NegativeSerialNumberCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/NegativeSerialNumberCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NegativeSerialNumberCACert.crt diff --git a/crypto/test/data/PKITS/certs/NoCRLCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NoCRLCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/NoCRLCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NoCRLCACert.crt diff --git a/crypto/test/data/PKITS/certs/NoPoliciesCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NoPoliciesCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/NoPoliciesCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NoPoliciesCACert.crt diff --git a/crypto/test/data/PKITS/certs/NoissuingDistributionPointCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NoissuingDistributionPointCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/NoissuingDistributionPointCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/NoissuingDistributionPointCACert.crt diff --git a/crypto/test/data/PKITS/certs/OldCRLnextUpdateCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/OldCRLnextUpdateCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/OldCRLnextUpdateCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/OldCRLnextUpdateCACert.crt diff --git a/crypto/test/data/PKITS/certs/OverlappingPoliciesTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/OverlappingPoliciesTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/OverlappingPoliciesTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/OverlappingPoliciesTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/P12Mapping1to3CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P12Mapping1to3CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/P12Mapping1to3CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P12Mapping1to3CACert.crt diff --git a/crypto/test/data/PKITS/certs/P12Mapping1to3subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P12Mapping1to3subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/P12Mapping1to3subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P12Mapping1to3subCACert.crt diff --git a/crypto/test/data/PKITS/certs/P12Mapping1to3subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P12Mapping1to3subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/P12Mapping1to3subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P12Mapping1to3subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/P1Mapping1to234CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P1Mapping1to234CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/P1Mapping1to234CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P1Mapping1to234CACert.crt diff --git a/crypto/test/data/PKITS/certs/P1Mapping1to234subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P1Mapping1to234subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/P1Mapping1to234subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P1Mapping1to234subCACert.crt diff --git a/crypto/test/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt diff --git a/crypto/test/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP1234CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP1234CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP1234CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP1234CACert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP123CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP123CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123CACert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP123subCAP12Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123subCAP12Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP123subCAP12Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123subCAP12Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP12CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP12CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP12CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP12CACert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP12subCAP1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP12subCAP1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP12subCAP1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP12subCAP1Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP2subCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP2subCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP2subCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP2subCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP2subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP2subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP2subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP2subCACert.crt diff --git a/crypto/test/data/PKITS/certs/PoliciesP3CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP3CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/PoliciesP3CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/PoliciesP3CACert.crt diff --git a/crypto/test/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt diff --git a/crypto/test/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt diff --git a/crypto/test/data/PKITS/certs/RevokedsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/RevokedsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/RevokedsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/RevokedsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt diff --git a/crypto/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt diff --git a/crypto/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt diff --git a/crypto/test/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt diff --git a/crypto/test/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt diff --git a/crypto/test/data/PKITS/certs/TrustAnchorRootCertificate.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/TrustAnchorRootCertificate.crt similarity index 100% rename from crypto/test/data/PKITS/certs/TrustAnchorRootCertificate.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/TrustAnchorRootCertificate.crt diff --git a/crypto/test/data/PKITS/certs/TwoCRLsCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/TwoCRLsCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/TwoCRLsCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/TwoCRLsCACert.crt diff --git a/crypto/test/data/PKITS/certs/UIDCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UIDCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UIDCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UIDCACert.crt diff --git a/crypto/test/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt diff --git a/crypto/test/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt diff --git a/crypto/test/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt diff --git a/crypto/test/data/PKITS/certs/UnknownCRLExtensionCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UnknownCRLExtensionCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UnknownCRLExtensionCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UnknownCRLExtensionCACert.crt diff --git a/crypto/test/data/PKITS/certs/UserNoticeQualifierTest15EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest15EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UserNoticeQualifierTest15EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest15EE.crt diff --git a/crypto/test/data/PKITS/certs/UserNoticeQualifierTest16EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest16EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UserNoticeQualifierTest16EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest16EE.crt diff --git a/crypto/test/data/PKITS/certs/UserNoticeQualifierTest17EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest17EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UserNoticeQualifierTest17EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest17EE.crt diff --git a/crypto/test/data/PKITS/certs/UserNoticeQualifierTest18EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest18EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UserNoticeQualifierTest18EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest18EE.crt diff --git a/crypto/test/data/PKITS/certs/UserNoticeQualifierTest19EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest19EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/UserNoticeQualifierTest19EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/UserNoticeQualifierTest19EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidCertificatePathTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidCertificatePathTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidCertificatePathTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidCertificatePathTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidDSASignaturesTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDSASignaturesTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidDSASignaturesTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidDSASignaturesTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidNameUIDsTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNameUIDsTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidNameUIDsTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNameUIDsTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest11EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest11EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest11EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest11EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest12EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest12EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest12EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest12EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest13EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest13EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest13EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest13EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest14EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest14EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest14EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest14EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidPolicyMappingTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidPolicyMappingTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidPolicyMappingTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidTwoCRLsTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidTwoCRLsTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidTwoCRLsTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidTwoCRLsTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidcRLIssuerTest28EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidcRLIssuerTest28EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidcRLIssuerTest28EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidcRLIssuerTest28EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidcRLIssuerTest29EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidcRLIssuerTest29EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidcRLIssuerTest29EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidcRLIssuerTest29EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidcRLIssuerTest30EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidcRLIssuerTest30EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidcRLIssuerTest30EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidcRLIssuerTest30EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidcRLIssuerTest33EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidcRLIssuerTest33EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidcRLIssuerTest33EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidcRLIssuerTest33EE.crt diff --git a/crypto/test/data/PKITS/certs/ValiddeltaCRLTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddeltaCRLTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValiddeltaCRLTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddeltaCRLTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/ValiddeltaCRLTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddeltaCRLTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValiddeltaCRLTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddeltaCRLTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/ValiddeltaCRLTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddeltaCRLTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValiddeltaCRLTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddeltaCRLTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/ValiddeltaCRLTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddeltaCRLTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValiddeltaCRLTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddeltaCRLTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/ValiddistributionPointTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddistributionPointTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValiddistributionPointTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddistributionPointTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/ValiddistributionPointTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddistributionPointTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValiddistributionPointTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddistributionPointTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/ValiddistributionPointTest5EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddistributionPointTest5EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValiddistributionPointTest5EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddistributionPointTest5EE.crt diff --git a/crypto/test/data/PKITS/certs/ValiddistributionPointTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddistributionPointTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValiddistributionPointTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValiddistributionPointTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt diff --git a/crypto/test/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt diff --git a/crypto/test/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt diff --git a/crypto/test/data/PKITS/certs/WrongCRLCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/WrongCRLCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/WrongCRLCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/WrongCRLCACert.crt diff --git a/crypto/test/data/PKITS/certs/anyPolicyCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/anyPolicyCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/anyPolicyCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/anyPolicyCACert.crt diff --git a/crypto/test/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt diff --git a/crypto/test/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt diff --git a/crypto/test/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt diff --git a/crypto/test/data/PKITS/certs/deltaCRLCA1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/deltaCRLCA1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/deltaCRLCA1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/deltaCRLCA1Cert.crt diff --git a/crypto/test/data/PKITS/certs/deltaCRLCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/deltaCRLCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/deltaCRLCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/deltaCRLCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/deltaCRLCA3Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/deltaCRLCA3Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/deltaCRLCA3Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/deltaCRLCA3Cert.crt diff --git a/crypto/test/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt diff --git a/crypto/test/data/PKITS/certs/distributionPoint1CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/distributionPoint1CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/distributionPoint1CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/distributionPoint1CACert.crt diff --git a/crypto/test/data/PKITS/certs/distributionPoint2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/distributionPoint2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/distributionPoint2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/distributionPoint2CACert.crt diff --git a/crypto/test/data/PKITS/certs/indirectCRLCA1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/indirectCRLCA1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA1Cert.crt diff --git a/crypto/test/data/PKITS/certs/indirectCRLCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/indirectCRLCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/indirectCRLCA3Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA3Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/indirectCRLCA3Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA3Cert.crt diff --git a/crypto/test/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt diff --git a/crypto/test/data/PKITS/certs/indirectCRLCA4Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA4Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/indirectCRLCA4Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA4Cert.crt diff --git a/crypto/test/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt diff --git a/crypto/test/data/PKITS/certs/indirectCRLCA5Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA5Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/indirectCRLCA5Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA5Cert.crt diff --git a/crypto/test/data/PKITS/certs/indirectCRLCA6Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA6Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/indirectCRLCA6Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/indirectCRLCA6Cert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy0CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy0CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy0CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy0CACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy1CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy1CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1CACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy5CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy5CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy5CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy5CACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping0CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping0CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping0CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping0CACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping5CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping5CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping5CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping5CACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt diff --git a/crypto/test/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt diff --git a/crypto/test/data/PKITS/certs/keyUsageNotCriticalCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageNotCriticalCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/keyUsageNotCriticalCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageNotCriticalCACert.crt diff --git a/crypto/test/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt diff --git a/crypto/test/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN1CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN1CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1CACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN2CACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN3CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN3CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN3CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN3CACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN4CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN4CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN4CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN4CACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDN5CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN5CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDN5CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDN5CACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDNS1CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDNS1CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDNS1CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDNS1CACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsDNS2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDNS2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsDNS2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsDNS2CACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsURI1CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsURI1CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsURI1CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsURI1CACert.crt diff --git a/crypto/test/data/PKITS/certs/nameConstraintsURI2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsURI2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/nameConstraintsURI2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/nameConstraintsURI2CACert.crt diff --git a/crypto/test/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt diff --git a/crypto/test/data/PKITS/certs/onlyContainsCACertsCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlyContainsCACertsCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/onlyContainsCACertsCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlyContainsCACertsCACert.crt diff --git a/crypto/test/data/PKITS/certs/onlyContainsUserCertsCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlyContainsUserCertsCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/onlyContainsUserCertsCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlyContainsUserCertsCACert.crt diff --git a/crypto/test/data/PKITS/certs/onlySomeReasonsCA1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlySomeReasonsCA1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/onlySomeReasonsCA1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlySomeReasonsCA1Cert.crt diff --git a/crypto/test/data/PKITS/certs/onlySomeReasonsCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlySomeReasonsCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/onlySomeReasonsCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlySomeReasonsCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/onlySomeReasonsCA3Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlySomeReasonsCA3Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/onlySomeReasonsCA3Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlySomeReasonsCA3Cert.crt diff --git a/crypto/test/data/PKITS/certs/onlySomeReasonsCA4Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlySomeReasonsCA4Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/onlySomeReasonsCA4Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/onlySomeReasonsCA4Cert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint0CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint0CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint0CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint0CACert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint0subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint0subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint0subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint0subCACert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint1CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint1CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint1CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint1CACert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint1subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint1subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint1subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint1subCACert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6CACert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt diff --git a/crypto/test/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt diff --git a/crypto/test/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy0CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy0CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy0CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy0CACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy0subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy0subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy0subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy0subCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy10CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy10CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy10CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy10CACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy10subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy10subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy10subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy10subCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy2CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy2CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy2CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy2CACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy2subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy2subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy2subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy2subCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy4CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy4CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy4CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy4CACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy4subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy4subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy4subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy4subCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy5CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy5CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy5CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy5CACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy5subCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy5subCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy5subCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy5subCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy7CACert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy7CACert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy7CACert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy7CACert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt diff --git a/crypto/test/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt b/test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt similarity index 100% rename from crypto/test/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt diff --git a/crypto/test/data/PKITS/crls/BadCRLIssuerNameCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadCRLIssuerNameCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BadCRLIssuerNameCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadCRLIssuerNameCACRL.crl diff --git a/crypto/test/data/PKITS/crls/BadCRLSignatureCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadCRLSignatureCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BadCRLSignatureCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadCRLSignatureCACRL.crl diff --git a/crypto/test/data/PKITS/crls/BadSignedCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadSignedCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BadSignedCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadSignedCACRL.crl diff --git a/crypto/test/data/PKITS/crls/BadnotAfterDateCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadnotAfterDateCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BadnotAfterDateCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadnotAfterDateCACRL.crl diff --git a/crypto/test/data/PKITS/crls/BadnotBeforeDateCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadnotBeforeDateCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BadnotBeforeDateCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BadnotBeforeDateCACRL.crl diff --git a/crypto/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl diff --git a/crypto/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl diff --git a/crypto/test/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl diff --git a/crypto/test/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl diff --git a/crypto/test/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl diff --git a/crypto/test/data/PKITS/crls/DSACACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/DSACACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/DSACACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/DSACACRL.crl diff --git a/crypto/test/data/PKITS/crls/DSAParametersInheritedCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/DSAParametersInheritedCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/DSAParametersInheritedCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/DSAParametersInheritedCACRL.crl diff --git a/crypto/test/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl diff --git a/crypto/test/data/PKITS/crls/GoodCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/GoodCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/GoodCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/GoodCACRL.crl diff --git a/crypto/test/data/PKITS/crls/GoodsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/GoodsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/GoodsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/GoodsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/LongSerialNumberCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/LongSerialNumberCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/LongSerialNumberCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/LongSerialNumberCACRL.crl diff --git a/crypto/test/data/PKITS/crls/Mapping1to2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/Mapping1to2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/Mapping1to2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/Mapping1to2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/MappingFromanyPolicyCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/MappingFromanyPolicyCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/MappingFromanyPolicyCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/MappingFromanyPolicyCACRL.crl diff --git a/crypto/test/data/PKITS/crls/MappingToanyPolicyCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/MappingToanyPolicyCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/MappingToanyPolicyCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/MappingToanyPolicyCACRL.crl diff --git a/crypto/test/data/PKITS/crls/MissingbasicConstraintsCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/MissingbasicConstraintsCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/MissingbasicConstraintsCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/MissingbasicConstraintsCACRL.crl diff --git a/crypto/test/data/PKITS/crls/NameOrderCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/NameOrderCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/NameOrderCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/NameOrderCACRL.crl diff --git a/crypto/test/data/PKITS/crls/NegativeSerialNumberCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/NegativeSerialNumberCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/NegativeSerialNumberCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/NegativeSerialNumberCACRL.crl diff --git a/crypto/test/data/PKITS/crls/NoPoliciesCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/NoPoliciesCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/NoPoliciesCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/NoPoliciesCACRL.crl diff --git a/crypto/test/data/PKITS/crls/NoissuingDistributionPointCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/NoissuingDistributionPointCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/NoissuingDistributionPointCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/NoissuingDistributionPointCACRL.crl diff --git a/crypto/test/data/PKITS/crls/OldCRLnextUpdateCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/OldCRLnextUpdateCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/OldCRLnextUpdateCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/OldCRLnextUpdateCACRL.crl diff --git a/crypto/test/data/PKITS/crls/P12Mapping1to3CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P12Mapping1to3CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/P12Mapping1to3CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P12Mapping1to3CACRL.crl diff --git a/crypto/test/data/PKITS/crls/P12Mapping1to3subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P12Mapping1to3subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/P12Mapping1to3subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P12Mapping1to3subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/P1Mapping1to234CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P1Mapping1to234CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/P1Mapping1to234CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P1Mapping1to234CACRL.crl diff --git a/crypto/test/data/PKITS/crls/P1Mapping1to234subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P1Mapping1to234subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/P1Mapping1to234subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P1Mapping1to234subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP1234CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP1234CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP1234CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP1234CACRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP123CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP123CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123CACRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP123subCAP12CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123subCAP12CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP123subCAP12CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123subCAP12CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP12CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP12CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP12CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP12CACRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP12subCAP1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP12subCAP1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP12subCAP1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP12subCAP1CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP2subCA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP2subCA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP2subCA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP2subCA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP2subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP2subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP2subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP2subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/PoliciesP3CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP3CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/PoliciesP3CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/PoliciesP3CACRL.crl diff --git a/crypto/test/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl diff --git a/crypto/test/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl diff --git a/crypto/test/data/PKITS/crls/RevokedsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/RevokedsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/RevokedsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/RevokedsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl diff --git a/crypto/test/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl diff --git a/crypto/test/data/PKITS/crls/TrustAnchorRootCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/TrustAnchorRootCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/TrustAnchorRootCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/TrustAnchorRootCRL.crl diff --git a/crypto/test/data/PKITS/crls/TwoCRLsCABadCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/TwoCRLsCABadCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/TwoCRLsCABadCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/TwoCRLsCABadCRL.crl diff --git a/crypto/test/data/PKITS/crls/TwoCRLsCAGoodCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/TwoCRLsCAGoodCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/TwoCRLsCAGoodCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/TwoCRLsCAGoodCRL.crl diff --git a/crypto/test/data/PKITS/crls/UIDCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UIDCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/UIDCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UIDCACRL.crl diff --git a/crypto/test/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl diff --git a/crypto/test/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl diff --git a/crypto/test/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl diff --git a/crypto/test/data/PKITS/crls/UnknownCRLExtensionCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UnknownCRLExtensionCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/UnknownCRLExtensionCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/UnknownCRLExtensionCACRL.crl diff --git a/crypto/test/data/PKITS/crls/WrongCRLCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/WrongCRLCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/WrongCRLCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/WrongCRLCACRL.crl diff --git a/crypto/test/data/PKITS/crls/anyPolicyCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/anyPolicyCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/anyPolicyCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/anyPolicyCACRL.crl diff --git a/crypto/test/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl diff --git a/crypto/test/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl diff --git a/crypto/test/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl diff --git a/crypto/test/data/PKITS/crls/deltaCRLCA1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/deltaCRLCA1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA1CRL.crl diff --git a/crypto/test/data/PKITS/crls/deltaCRLCA1deltaCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA1deltaCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/deltaCRLCA1deltaCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA1deltaCRL.crl diff --git a/crypto/test/data/PKITS/crls/deltaCRLCA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/deltaCRLCA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/deltaCRLCA2deltaCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA2deltaCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/deltaCRLCA2deltaCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA2deltaCRL.crl diff --git a/crypto/test/data/PKITS/crls/deltaCRLCA3CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA3CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/deltaCRLCA3CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA3CRL.crl diff --git a/crypto/test/data/PKITS/crls/deltaCRLCA3deltaCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA3deltaCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/deltaCRLCA3deltaCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLCA3deltaCRL.crl diff --git a/crypto/test/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl diff --git a/crypto/test/data/PKITS/crls/distributionPoint1CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/distributionPoint1CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/distributionPoint1CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/distributionPoint1CACRL.crl diff --git a/crypto/test/data/PKITS/crls/distributionPoint2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/distributionPoint2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/distributionPoint2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/distributionPoint2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/indirectCRLCA1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/indirectCRLCA1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA1CRL.crl diff --git a/crypto/test/data/PKITS/crls/indirectCRLCA3CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA3CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/indirectCRLCA3CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA3CRL.crl diff --git a/crypto/test/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl diff --git a/crypto/test/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl diff --git a/crypto/test/data/PKITS/crls/indirectCRLCA5CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA5CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/indirectCRLCA5CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/indirectCRLCA5CRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl diff --git a/crypto/test/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl diff --git a/crypto/test/data/PKITS/crls/keyUsageNotCriticalCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageNotCriticalCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/keyUsageNotCriticalCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageNotCriticalCACRL.crl diff --git a/crypto/test/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl diff --git a/crypto/test/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN1CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN1CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN1CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN1CACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN3CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN3CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN3CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN3CACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN4CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN4CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN4CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN4CACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDN5CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN5CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDN5CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDN5CACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDNS1CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDNS1CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDNS1CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDNS1CACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsDNS2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDNS2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsDNS2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsDNS2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsURI1CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsURI1CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsURI1CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsURI1CACRL.crl diff --git a/crypto/test/data/PKITS/crls/nameConstraintsURI2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsURI2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/nameConstraintsURI2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/nameConstraintsURI2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl diff --git a/crypto/test/data/PKITS/crls/onlyContainsCACertsCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlyContainsCACertsCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlyContainsCACertsCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlyContainsCACertsCACRL.crl diff --git a/crypto/test/data/PKITS/crls/onlyContainsUserCertsCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlyContainsUserCertsCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlyContainsUserCertsCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlyContainsUserCertsCACRL.crl diff --git a/crypto/test/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl diff --git a/crypto/test/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl diff --git a/crypto/test/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl diff --git a/crypto/test/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl diff --git a/crypto/test/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl diff --git a/crypto/test/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl diff --git a/crypto/test/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl diff --git a/crypto/test/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint0CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint0CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint0CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint0CACRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint0subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint0subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint0subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint0subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint1CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint1CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint1CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint1CACRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint1subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint1subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint1subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint1subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6CACRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl diff --git a/crypto/test/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl diff --git a/crypto/test/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy0CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy0CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy0CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy0CACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy10CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy10CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy10CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy10CACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy2CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy2CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy2CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy2CACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy4CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy4CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy4CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy4CACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy5CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy5CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy5CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy5CACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy7CACRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy7CACRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy7CACRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy7CACRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl diff --git a/crypto/test/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl b/test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl similarity index 100% rename from crypto/test/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl rename to test/Crypto.NetSdk.NUnitTest/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl diff --git a/crypto/test/data/ThawteSGCCA.cer b/test/Crypto.NetSdk.NUnitTest/data/ThawteSGCCA.cer similarity index 100% rename from crypto/test/data/ThawteSGCCA.cer rename to test/Crypto.NetSdk.NUnitTest/data/ThawteSGCCA.cer diff --git a/crypto/test/data/ThawteSGCCA.crl b/test/Crypto.NetSdk.NUnitTest/data/ThawteSGCCA.crl similarity index 100% rename from crypto/test/data/ThawteSGCCA.crl rename to test/Crypto.NetSdk.NUnitTest/data/ThawteSGCCA.crl diff --git a/crypto/test/data/asn1/masterlist-content.data b/test/Crypto.NetSdk.NUnitTest/data/asn1/masterlist-content.data similarity index 100% rename from crypto/test/data/asn1/masterlist-content.data rename to test/Crypto.NetSdk.NUnitTest/data/asn1/masterlist-content.data diff --git a/crypto/test/data/cert_chain.data b/test/Crypto.NetSdk.NUnitTest/data/cert_chain.data similarity index 98% rename from crypto/test/data/cert_chain.data rename to test/Crypto.NetSdk.NUnitTest/data/cert_chain.data index 00b56dd743..ca372a3255 100644 --- a/crypto/test/data/cert_chain.data +++ b/test/Crypto.NetSdk.NUnitTest/data/cert_chain.data @@ -1,60 +1,60 @@ ------BEGIN CERTIFICATE----- -MIIE+TCCAuGgAwIBAgIVAIb1Te5/365tZJu71WN94Kh2FpSoMA0GCSqGSIb3DQEB -DQUAMBUxEzARBgNVBAsTClJvb3QgVEUgQ0EwHhcNMTUwNzAyMTU1MDA4WhcNMzUw -NzA3MTU1MDA4WjAvMRQwEgYDVQQDEwsxMC4yMTEuNTUuMzEXMBUGA1UECxMOVEUg -Uk1JIEhvc3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCU85zq -Kwn80yW/QZjafyTnDiaPOr8X5u8OwTe+dbQPK2xSdT7d6FqEM8rmY9njGhue5XLH -xKcUweVMt6E9h581qMrf39sldWMyoHxZiquPfs0t3zfMa3hYF5AONH5I3zdTZQj4 -+5SD0mJugeM7YQ6eRs8qBdKLN/FwRWRAWQwDe3gF1gW5mgXfuo4Z3ufVscbJziJr -L9gnYaqCfmI8MaDWeDNkB9biTYPXGh0oacUSpWUHyyrTlzodaKhd+m5FAgDUFlV4 -I9iv7YO4DT9sJmxmNFMrTN+c5HZjl1QL9J74HED1B1emWvxOAQvMuSfnBkR8G70E -D9qd1YnrEmM84FRrYgGtC2POJGnE25Fpvb/DZOuZXpFFTvQ5yuTJqcWLEgPZu45P -2Wigpf1j523dkA15kwhY8+r58HTCULAsqfHedrFz1YXF8BXzecH7SzpXH2hlA36m -oEGjFXrqAQe9YfLGLRnUrNgC12DWX2UzTqMuM5Q8Byj8SIE2oBkKXb5aW1zXkkJX -U2pzzIglljQB8kjpkw4zTzZpEeoJwAMAQ4K73TkkV9YQOEdVJvqWYz5gWQI17qbm -2gwrkYtA50+vhuO0wrIi9cJMZBOm46owBVDcMdDePgC5SURvnNjH+j1sx23IINXV -ipViuv9t+YLNqO+8cPaAz225Yg7snCBnOO3RGwIDAQABoyYwJDAOBgNVHQ8BAf8E -BAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBATANBgkqhkiG9w0BAQ0FAAOCAgEALWmm -s3Z8cqtzpDJFZAsceNfnhgcYl1xkWbisoMe4K7hXTcp7EKlH2gsVl3YgATR5wWBw -YlMc0rOqwIVdz5a5bY0QYrioxe1KyXZyhp4R/NvDMKQZ/p/wREI4smiAnEDwIN2R -MS42SuKl2nIytJ4mIEAcNipGpk5sHQZqhQyipZ2hN3bEdZAGLH2/PpdaihHc0Jfj -lBRpL1ewwORVbx9Jy6IvZoFfuzj5egalAp+VZlrXU3pBv0a+Zovo/7Q+M5tjBuIg -MLr0R7n0J3FKIHxCwt1CHWTQ8R/QsLzhJDa1kf+SLTztHrUXqGJ/YAfpWDJh9pb2 -boGf7RBT0lFJhFOBpv2cEqTYP+1jWtlwGmUnfHI9bMCwO6B29bk4Xdlh57yGV6RF -3VZ8dlN6ZBUc45vMYcWr1tLTRUzgArztMlEbloRb7n4x/UJpPV8zjracc8PyB/tl -tlI2DZP/f+Gf0/Vv0M+tMu6DHjz1lSR+VNRadZ5yDRNPBh24qpPNSJ15HD26IwX+ -UQ44zVBtDxL0Y6ZMjhdSznz67eoymxYdlNHTYvw/zrg/+txje4M08i5PFFsSYN/m -cEV5nSgJl14AEaXe+pS0hZgvDoLXMrqgruvCp06tO3LwNkDH3oGJOGP19jNCWGyd -z7eQbiXNsCJGoeLKhxLj9IsVWyrLCCNZpojJdj0= ------END CERTIFICATE----- - ------BEGIN CERTIFICATE----- -MIIEyzCCArOgAwIBAgIBATANBgkqhkiG9w0BAQ0FADAVMRMwEQYDVQQLEwpSb290 -IFRFIENBMB4XDTE1MDcwMTE1NTAwOFoXDTM1MDcwODE1NTAwOFowFTETMBEGA1UE -CxMKUm9vdCBURSBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIim -2EeomY2b5zVgomN5EheGud1NfPbaH5h5MOrsu8c0JyaUIn3gBtJazuD4x2EJNObA -NMigdJebc+yKP3fL8Z0fcj2JOwlrNS8ZcGWRucytYHr0ZEC1ZrkE2AysoXX8inw5 -ABnWzdXAW0WBfa5r1UQvZtU3oldk0UutvJ2Gc4mKhQRVsSf1QxDyZMkso/9DWJG/ -0aDLx7dAdosP7FNICpvJZp7mUoWgNvEBMXlirM0VOmoSaGmy7C75g+GhybpmBT9d -UtDceWzBqH5nfR3vIIthbjdzX8szCtb307RN273zYE1n6RTPNdM54LGO4L6E6R2N -3FMJS8H8zn5HnwjgDlKGG8OzFsmK3o+HvpEDc4p++bgm3Gc9gxjb971qOjlPQieD -3jpmpSMPwg8qMuge16vbSwOOEru8vfi8c1Y9VJEZnD7rRxyDffyd9AZPnB+8sDND -ZZv0Z4vsocSLsJjyqjRhDijbHQx6d5W6y/9ATyIz+sgg7r9B3d4IduxPRCNm7+T7 -9dg9NokwUJwfJrKTXDC/OofBzsGYo9TTmIdjbe01ZD9va1U2VVm87N4+J+xDdsod -0eyp9CJ4z3ivm7NSplt56jYtkZ4J+kFzAIjU13zKxLVGqb0GTjISi1gwa5v5JGRX -RTz7zEv4FDJj5A9XuxDkAVNxeEn5cBqS2xDZQTpDAgMBAAGjJjAkMA4GA1UdDwEB -/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgECMA0GCSqGSIb3DQEBDQUAA4ICAQB/ -S9WHn3nBNl/PkRObDWIYutOI89IQQf9A7CRU2ndZH60Xy+eM59/CXbjU4vG2e9e6 -JcgrtSr6W+v+GLHCoVxOTI7IxM1+gjjLoHFfHNg97bXWRuHPLMSthTmSmiGC2q1r -fJ/cTfs2/+cJ8gzm2CZ0hKs3GrSxQezKZ+ZJBSC1wff8VT+8giALd76I7kvywC+u -4TnsoOzUCAC3mCR+laoIs8kmW+TBnZfgrskr0TjPdu5zCfZmK/SJSa8hOewYvrSc -mUmTQeAhR4NroT9fLrKlsQglIgckhp1KgUedcJp8HmWQcaRSWsAvy9WeQaftv9TQ -lWjEEjgdDwZ21qfl+o3wPAavC3il8pW8r8QWS5iFdzCpljYL3yfB5qbdhHfsEWD+ -oNWE4LCu+tq1PqgTNeSi1ff5RJCk3+sRJXDDK2Z6pCLhzUlmLSWlA1PmL3qLb3EM -dXdPmpsuevs3MFIxfUOiZ65BeKLCKjY87fr/Z4a3cwu9AZebv9K4/Nt07EOhbTCv -uAH7JcHDmRENPxUxrHIb/WIDhnPYUES+Vxr2oGVwSeNej9+22AGYxTgr7jY9A5Z4 -O+Sqfjbz818LTwYM+BTLGmHzRmgr85ygWpBwj9I2U+uEWKge2OksbCPQD9O3WJ+1 -DX9Bnr69S8ddGJVseNNtYsIvkE80HlyO+BqzASvuXQ== ------END CERTIFICATE----- - - +-----BEGIN CERTIFICATE----- +MIIE+TCCAuGgAwIBAgIVAIb1Te5/365tZJu71WN94Kh2FpSoMA0GCSqGSIb3DQEB +DQUAMBUxEzARBgNVBAsTClJvb3QgVEUgQ0EwHhcNMTUwNzAyMTU1MDA4WhcNMzUw +NzA3MTU1MDA4WjAvMRQwEgYDVQQDEwsxMC4yMTEuNTUuMzEXMBUGA1UECxMOVEUg +Uk1JIEhvc3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCU85zq +Kwn80yW/QZjafyTnDiaPOr8X5u8OwTe+dbQPK2xSdT7d6FqEM8rmY9njGhue5XLH +xKcUweVMt6E9h581qMrf39sldWMyoHxZiquPfs0t3zfMa3hYF5AONH5I3zdTZQj4 ++5SD0mJugeM7YQ6eRs8qBdKLN/FwRWRAWQwDe3gF1gW5mgXfuo4Z3ufVscbJziJr +L9gnYaqCfmI8MaDWeDNkB9biTYPXGh0oacUSpWUHyyrTlzodaKhd+m5FAgDUFlV4 +I9iv7YO4DT9sJmxmNFMrTN+c5HZjl1QL9J74HED1B1emWvxOAQvMuSfnBkR8G70E +D9qd1YnrEmM84FRrYgGtC2POJGnE25Fpvb/DZOuZXpFFTvQ5yuTJqcWLEgPZu45P +2Wigpf1j523dkA15kwhY8+r58HTCULAsqfHedrFz1YXF8BXzecH7SzpXH2hlA36m +oEGjFXrqAQe9YfLGLRnUrNgC12DWX2UzTqMuM5Q8Byj8SIE2oBkKXb5aW1zXkkJX +U2pzzIglljQB8kjpkw4zTzZpEeoJwAMAQ4K73TkkV9YQOEdVJvqWYz5gWQI17qbm +2gwrkYtA50+vhuO0wrIi9cJMZBOm46owBVDcMdDePgC5SURvnNjH+j1sx23IINXV +ipViuv9t+YLNqO+8cPaAz225Yg7snCBnOO3RGwIDAQABoyYwJDAOBgNVHQ8BAf8E +BAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBATANBgkqhkiG9w0BAQ0FAAOCAgEALWmm +s3Z8cqtzpDJFZAsceNfnhgcYl1xkWbisoMe4K7hXTcp7EKlH2gsVl3YgATR5wWBw +YlMc0rOqwIVdz5a5bY0QYrioxe1KyXZyhp4R/NvDMKQZ/p/wREI4smiAnEDwIN2R +MS42SuKl2nIytJ4mIEAcNipGpk5sHQZqhQyipZ2hN3bEdZAGLH2/PpdaihHc0Jfj +lBRpL1ewwORVbx9Jy6IvZoFfuzj5egalAp+VZlrXU3pBv0a+Zovo/7Q+M5tjBuIg +MLr0R7n0J3FKIHxCwt1CHWTQ8R/QsLzhJDa1kf+SLTztHrUXqGJ/YAfpWDJh9pb2 +boGf7RBT0lFJhFOBpv2cEqTYP+1jWtlwGmUnfHI9bMCwO6B29bk4Xdlh57yGV6RF +3VZ8dlN6ZBUc45vMYcWr1tLTRUzgArztMlEbloRb7n4x/UJpPV8zjracc8PyB/tl +tlI2DZP/f+Gf0/Vv0M+tMu6DHjz1lSR+VNRadZ5yDRNPBh24qpPNSJ15HD26IwX+ +UQ44zVBtDxL0Y6ZMjhdSznz67eoymxYdlNHTYvw/zrg/+txje4M08i5PFFsSYN/m +cEV5nSgJl14AEaXe+pS0hZgvDoLXMrqgruvCp06tO3LwNkDH3oGJOGP19jNCWGyd +z7eQbiXNsCJGoeLKhxLj9IsVWyrLCCNZpojJdj0= +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIEyzCCArOgAwIBAgIBATANBgkqhkiG9w0BAQ0FADAVMRMwEQYDVQQLEwpSb290 +IFRFIENBMB4XDTE1MDcwMTE1NTAwOFoXDTM1MDcwODE1NTAwOFowFTETMBEGA1UE +CxMKUm9vdCBURSBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIim +2EeomY2b5zVgomN5EheGud1NfPbaH5h5MOrsu8c0JyaUIn3gBtJazuD4x2EJNObA +NMigdJebc+yKP3fL8Z0fcj2JOwlrNS8ZcGWRucytYHr0ZEC1ZrkE2AysoXX8inw5 +ABnWzdXAW0WBfa5r1UQvZtU3oldk0UutvJ2Gc4mKhQRVsSf1QxDyZMkso/9DWJG/ +0aDLx7dAdosP7FNICpvJZp7mUoWgNvEBMXlirM0VOmoSaGmy7C75g+GhybpmBT9d +UtDceWzBqH5nfR3vIIthbjdzX8szCtb307RN273zYE1n6RTPNdM54LGO4L6E6R2N +3FMJS8H8zn5HnwjgDlKGG8OzFsmK3o+HvpEDc4p++bgm3Gc9gxjb971qOjlPQieD +3jpmpSMPwg8qMuge16vbSwOOEru8vfi8c1Y9VJEZnD7rRxyDffyd9AZPnB+8sDND +ZZv0Z4vsocSLsJjyqjRhDijbHQx6d5W6y/9ATyIz+sgg7r9B3d4IduxPRCNm7+T7 +9dg9NokwUJwfJrKTXDC/OofBzsGYo9TTmIdjbe01ZD9va1U2VVm87N4+J+xDdsod +0eyp9CJ4z3ivm7NSplt56jYtkZ4J+kFzAIjU13zKxLVGqb0GTjISi1gwa5v5JGRX +RTz7zEv4FDJj5A9XuxDkAVNxeEn5cBqS2xDZQTpDAgMBAAGjJjAkMA4GA1UdDwEB +/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgECMA0GCSqGSIb3DQEBDQUAA4ICAQB/ +S9WHn3nBNl/PkRObDWIYutOI89IQQf9A7CRU2ndZH60Xy+eM59/CXbjU4vG2e9e6 +JcgrtSr6W+v+GLHCoVxOTI7IxM1+gjjLoHFfHNg97bXWRuHPLMSthTmSmiGC2q1r +fJ/cTfs2/+cJ8gzm2CZ0hKs3GrSxQezKZ+ZJBSC1wff8VT+8giALd76I7kvywC+u +4TnsoOzUCAC3mCR+laoIs8kmW+TBnZfgrskr0TjPdu5zCfZmK/SJSa8hOewYvrSc +mUmTQeAhR4NroT9fLrKlsQglIgckhp1KgUedcJp8HmWQcaRSWsAvy9WeQaftv9TQ +lWjEEjgdDwZ21qfl+o3wPAavC3il8pW8r8QWS5iFdzCpljYL3yfB5qbdhHfsEWD+ +oNWE4LCu+tq1PqgTNeSi1ff5RJCk3+sRJXDDK2Z6pCLhzUlmLSWlA1PmL3qLb3EM +dXdPmpsuevs3MFIxfUOiZ65BeKLCKjY87fr/Z4a3cwu9AZebv9K4/Nt07EOhbTCv +uAH7JcHDmRENPxUxrHIb/WIDhnPYUES+Vxr2oGVwSeNej9+22AGYxTgr7jY9A5Z4 +O+Sqfjbz818LTwYM+BTLGmHzRmgr85ygWpBwj9I2U+uEWKge2OksbCPQD9O3WJ+1 +DX9Bnr69S8ddGJVseNNtYsIvkE80HlyO+BqzASvuXQ== +-----END CERTIFICATE----- + + diff --git a/crypto/test/data/cert_chain_nl.data b/test/Crypto.NetSdk.NUnitTest/data/cert_chain_nl.data similarity index 100% rename from crypto/test/data/cert_chain_nl.data rename to test/Crypto.NetSdk.NUnitTest/data/cert_chain_nl.data diff --git a/crypto/test/data/cms/sigs/PSSSignData.data b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignData.data similarity index 100% rename from crypto/test/data/cms/sigs/PSSSignData.data rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignData.data diff --git a/crypto/test/data/cms/sigs/PSSSignDataSHA1.sig b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA1.sig similarity index 100% rename from crypto/test/data/cms/sigs/PSSSignDataSHA1.sig rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA1.sig diff --git a/crypto/test/data/cms/sigs/PSSSignDataSHA1Enc.sig b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA1Enc.sig similarity index 100% rename from crypto/test/data/cms/sigs/PSSSignDataSHA1Enc.sig rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA1Enc.sig diff --git a/crypto/test/data/cms/sigs/PSSSignDataSHA256.sig b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA256.sig similarity index 100% rename from crypto/test/data/cms/sigs/PSSSignDataSHA256.sig rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA256.sig diff --git a/crypto/test/data/cms/sigs/PSSSignDataSHA256Enc.sig b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA256Enc.sig similarity index 100% rename from crypto/test/data/cms/sigs/PSSSignDataSHA256Enc.sig rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA256Enc.sig diff --git a/crypto/test/data/cms/sigs/PSSSignDataSHA512.sig b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA512.sig similarity index 100% rename from crypto/test/data/cms/sigs/PSSSignDataSHA512.sig rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA512.sig diff --git a/crypto/test/data/cms/sigs/PSSSignDataSHA512Enc.sig b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA512Enc.sig similarity index 100% rename from crypto/test/data/cms/sigs/PSSSignDataSHA512Enc.sig rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/PSSSignDataSHA512Enc.sig diff --git a/crypto/test/data/cms/sigs/SignedMSPkcs7.sig b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/SignedMSPkcs7.sig similarity index 100% rename from crypto/test/data/cms/sigs/SignedMSPkcs7.sig rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/SignedMSPkcs7.sig diff --git a/crypto/test/data/cms/sigs/counterSig.p7m b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/counterSig.p7m similarity index 100% rename from crypto/test/data/cms/sigs/counterSig.p7m rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/counterSig.p7m diff --git a/crypto/test/data/cms/sigs/rawsha256nonull.p7m b/test/Crypto.NetSdk.NUnitTest/data/cms/sigs/rawsha256nonull.p7m similarity index 100% rename from crypto/test/data/cms/sigs/rawsha256nonull.p7m rename to test/Crypto.NetSdk.NUnitTest/data/cms/sigs/rawsha256nonull.p7m diff --git a/crypto/test/data/crypto/SHA3TestVectors.txt b/test/Crypto.NetSdk.NUnitTest/data/crypto/SHA3TestVectors.txt similarity index 100% rename from crypto/test/data/crypto/SHA3TestVectors.txt rename to test/Crypto.NetSdk.NUnitTest/data/crypto/SHA3TestVectors.txt diff --git a/crypto/test/data/crypto/SHAKETestVectors.txt b/test/Crypto.NetSdk.NUnitTest/data/crypto/SHAKETestVectors.txt similarity index 100% rename from crypto/test/data/crypto/SHAKETestVectors.txt rename to test/Crypto.NetSdk.NUnitTest/data/crypto/SHAKETestVectors.txt diff --git a/crypto/test/data/hc256/hc128/ecrypt_HC-128.txt b/test/Crypto.NetSdk.NUnitTest/data/hc256/hc128/ecrypt_HC-128.txt similarity index 100% rename from crypto/test/data/hc256/hc128/ecrypt_HC-128.txt rename to test/Crypto.NetSdk.NUnitTest/data/hc256/hc128/ecrypt_HC-128.txt diff --git a/crypto/test/data/hc256/hc256/ecrypt_HC-256_128K_128IV.txt b/test/Crypto.NetSdk.NUnitTest/data/hc256/hc256/ecrypt_HC-256_128K_128IV.txt similarity index 100% rename from crypto/test/data/hc256/hc256/ecrypt_HC-256_128K_128IV.txt rename to test/Crypto.NetSdk.NUnitTest/data/hc256/hc256/ecrypt_HC-256_128K_128IV.txt diff --git a/crypto/test/data/hc256/hc256/ecrypt_HC-256_128K_256IV.txt b/test/Crypto.NetSdk.NUnitTest/data/hc256/hc256/ecrypt_HC-256_128K_256IV.txt similarity index 100% rename from crypto/test/data/hc256/hc256/ecrypt_HC-256_128K_256IV.txt rename to test/Crypto.NetSdk.NUnitTest/data/hc256/hc256/ecrypt_HC-256_128K_256IV.txt diff --git a/crypto/test/data/hc256/hc256/ecrypt_HC-256_256K_128IV.txt b/test/Crypto.NetSdk.NUnitTest/data/hc256/hc256/ecrypt_HC-256_256K_128IV.txt similarity index 100% rename from crypto/test/data/hc256/hc256/ecrypt_HC-256_256K_128IV.txt rename to test/Crypto.NetSdk.NUnitTest/data/hc256/hc256/ecrypt_HC-256_256K_128IV.txt diff --git a/crypto/test/data/hc256/hc256/ecrypt_HC-256_256K_256IV.txt b/test/Crypto.NetSdk.NUnitTest/data/hc256/hc256/ecrypt_HC-256_256K_256IV.txt similarity index 100% rename from crypto/test/data/hc256/hc256/ecrypt_HC-256_256K_256IV.txt rename to test/Crypto.NetSdk.NUnitTest/data/hc256/hc256/ecrypt_HC-256_256K_256IV.txt diff --git a/crypto/test/data/keys/README.txt b/test/Crypto.NetSdk.NUnitTest/data/keys/README.txt similarity index 100% rename from crypto/test/data/keys/README.txt rename to test/Crypto.NetSdk.NUnitTest/data/keys/README.txt diff --git a/crypto/test/data/keys/pbes1/pbeWithMD2AndDES_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithMD2AndDES_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbeWithMD2AndDES_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithMD2AndDES_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbeWithMD2AndRC2_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithMD2AndRC2_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbeWithMD2AndRC2_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithMD2AndRC2_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbeWithMD5AndDES_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithMD5AndDES_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbeWithMD5AndDES_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithMD5AndDES_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbeWithMD5AndRC2_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithMD5AndRC2_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbeWithMD5AndRC2_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithMD5AndRC2_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbeWithSHA1AndDES_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithSHA1AndDES_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbeWithSHA1AndDES_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithSHA1AndDES_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbeWithSHA1AndRC2_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithSHA1AndRC2_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbeWithSHA1AndRC2_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbeWithSHA1AndRC2_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbe_WithSHA1And128BitRC2_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And128BitRC2_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbe_WithSHA1And128BitRC2_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And128BitRC2_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbe_WithSHA1And128BitRC4.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And128BitRC4.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbe_WithSHA1And128BitRC4.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And128BitRC4.key diff --git a/crypto/test/data/keys/pbes1/pbe_WithSHA1And2_Key_TripleDES_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And2_Key_TripleDES_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbe_WithSHA1And2_Key_TripleDES_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And2_Key_TripleDES_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbe_WithSHA1And3_Key_TripleDES_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And3_Key_TripleDES_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbe_WithSHA1And3_Key_TripleDES_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And3_Key_TripleDES_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbe_WithSHA1And40BitRC2_CBC.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And40BitRC2_CBC.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbe_WithSHA1And40BitRC2_CBC.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And40BitRC2_CBC.key diff --git a/crypto/test/data/keys/pbes1/pbe_WithSHA1And40BitRC4.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And40BitRC4.key similarity index 100% rename from crypto/test/data/keys/pbes1/pbe_WithSHA1And40BitRC4.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes1/pbe_WithSHA1And40BitRC4.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-128-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-128-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-128-cfb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-cfb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-128-cfb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-cfb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-128-cfb1.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-cfb1.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-128-cfb1.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-cfb1.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-128-cfb8.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-cfb8.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-128-cfb8.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-cfb8.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-128-ecb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-ecb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-128-ecb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-ecb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-128-ofb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-ofb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-128-ofb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-128-ofb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-192-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-192-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-192-cfb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-cfb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-192-cfb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-cfb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-192-cfb1.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-cfb1.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-192-cfb1.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-cfb1.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-192-cfb8.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-cfb8.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-192-cfb8.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-cfb8.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-192-ecb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-ecb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-192-ecb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-ecb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-192-ofb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-ofb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-192-ofb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-192-ofb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-256-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-256-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-256-cfb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-cfb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-256-cfb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-cfb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-256-cfb1.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-cfb1.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-256-cfb1.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-cfb1.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-256-cfb8.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-cfb8.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-256-cfb8.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-cfb8.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-256-ecb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-ecb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-256-ecb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-ecb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes-256-ofb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-ofb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes-256-ofb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes-256-ofb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes128.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes128.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes128.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes128.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes192.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes192.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes192.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes192.key diff --git a/crypto/test/data/keys/pbes2/pbes2.aes256.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes256.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.aes256.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.aes256.key diff --git a/crypto/test/data/keys/pbes2/pbes2.bf-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.bf-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.bf-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.bf-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.bf.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.bf.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.bf.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.bf.key diff --git a/crypto/test/data/keys/pbes2/pbes2.blowfish.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.blowfish.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.blowfish.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.blowfish.key diff --git a/crypto/test/data/keys/pbes2/pbes2.cast-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.cast-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.cast-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.cast-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.cast.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.cast.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.cast.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.cast.key diff --git a/crypto/test/data/keys/pbes2/pbes2.cast5-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.cast5-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.cast5-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.cast5-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des-cfb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-cfb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des-cfb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-cfb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des-cfb1.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-cfb1.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des-cfb1.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-cfb1.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des-cfb8.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-cfb8.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des-cfb8.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-cfb8.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des-ecb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-ecb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des-ecb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-ecb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des-ede.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-ede.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des-ede.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-ede.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des-ede3-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-ede3-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des-ede3-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-ede3-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des-ofb.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-ofb.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des-ofb.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des-ofb.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des.key diff --git a/crypto/test/data/keys/pbes2/pbes2.des3.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des3.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.des3.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.des3.key diff --git a/crypto/test/data/keys/pbes2/pbes2.rc2-40-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.rc2-40-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.rc2-40-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.rc2-40-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.rc2-64-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.rc2-64-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.rc2-64-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.rc2-64-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.rc2-cbc.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.rc2-cbc.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.rc2-cbc.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.rc2-cbc.key diff --git a/crypto/test/data/keys/pbes2/pbes2.rc2.key b/test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.rc2.key similarity index 100% rename from crypto/test/data/keys/pbes2/pbes2.rc2.key rename to test/Crypto.NetSdk.NUnitTest/data/keys/pbes2/pbes2.rc2.key diff --git a/crypto/test/data/openpgp/bigpub.asc b/test/Crypto.NetSdk.NUnitTest/data/openpgp/bigpub.asc similarity index 100% rename from crypto/test/data/openpgp/bigpub.asc rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/bigpub.asc diff --git a/crypto/test/data/openpgp/dsa/README.txt b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/README.txt similarity index 100% rename from crypto/test/data/openpgp/dsa/README.txt rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/README.txt diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-1024-160.pub b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-1024-160.pub similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-1024-160.pub rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-1024-160.pub diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-1024-160.sec b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-1024-160.sec similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-1024-160.sec rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-1024-160.sec diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-15360-512.pub b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-15360-512.pub similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-15360-512.pub rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-15360-512.pub diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-15360-512.sec b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-15360-512.sec similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-15360-512.sec rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-15360-512.sec diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-2048-224.pub b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-2048-224.pub similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-2048-224.pub rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-2048-224.pub diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-2048-224.sec b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-2048-224.sec similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-2048-224.sec rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-2048-224.sec diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-3072-256.pub b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-3072-256.pub similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-3072-256.pub rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-3072-256.pub diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-3072-256.sec b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-3072-256.sec similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-3072-256.sec rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-3072-256.sec diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-7680-384.pub b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-7680-384.pub similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-7680-384.pub rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-7680-384.pub diff --git a/crypto/test/data/openpgp/dsa/keys/DSA-7680-384.sec b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-7680-384.sec similarity index 100% rename from crypto/test/data/openpgp/dsa/keys/DSA-7680-384.sec rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/keys/DSA-7680-384.sec diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg diff --git a/crypto/test/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg similarity index 100% rename from crypto/test/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg diff --git a/crypto/test/data/openpgp/longSigSubPack.asc b/test/Crypto.NetSdk.NUnitTest/data/openpgp/longSigSubPack.asc similarity index 100% rename from crypto/test/data/openpgp/longSigSubPack.asc rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/longSigSubPack.asc diff --git a/crypto/test/data/openpgp/unicode/passphrase_cyr.txt b/test/Crypto.NetSdk.NUnitTest/data/openpgp/unicode/passphrase_cyr.txt similarity index 100% rename from crypto/test/data/openpgp/unicode/passphrase_cyr.txt rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/unicode/passphrase_cyr.txt diff --git a/crypto/test/data/openpgp/unicode/passphrase_for_test.txt b/test/Crypto.NetSdk.NUnitTest/data/openpgp/unicode/passphrase_for_test.txt similarity index 100% rename from crypto/test/data/openpgp/unicode/passphrase_for_test.txt rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/unicode/passphrase_for_test.txt diff --git a/crypto/test/data/openpgp/unicode/secring.gpg b/test/Crypto.NetSdk.NUnitTest/data/openpgp/unicode/secring.gpg similarity index 100% rename from crypto/test/data/openpgp/unicode/secring.gpg rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/unicode/secring.gpg diff --git a/crypto/test/data/openpgp/unicode/test.asc b/test/Crypto.NetSdk.NUnitTest/data/openpgp/unicode/test.asc similarity index 100% rename from crypto/test/data/openpgp/unicode/test.asc rename to test/Crypto.NetSdk.NUnitTest/data/openpgp/unicode/test.asc diff --git a/crypto/test/data/openssl/README.txt b/test/Crypto.NetSdk.NUnitTest/data/openssl/README.txt similarity index 100% rename from crypto/test/data/openssl/README.txt rename to test/Crypto.NetSdk.NUnitTest/data/openssl/README.txt diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes128_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes128_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes128_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes128_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes128_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes128_cfb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes128_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes128_cfb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes128_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes128_ecb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes128_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes128_ecb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes128_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes128_ofb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes128_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes128_ofb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes192_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes192_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes192_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes192_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes192_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes192_cfb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes192_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes192_cfb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes192_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes192_ecb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes192_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes192_ecb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes192_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes192_ofb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes192_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes192_ofb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes256_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes256_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes256_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes256_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes256_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes256_cfb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes256_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes256_cfb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes256_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes256_ecb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes256_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes256_ecb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_aes256_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes256_ofb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_aes256_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_aes256_ofb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_blowfish_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_blowfish_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_blowfish_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_blowfish_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_blowfish_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_blowfish_cfb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_blowfish_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_blowfish_cfb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_blowfish_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_blowfish_ecb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_blowfish_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_blowfish_ecb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_blowfish_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_blowfish_ofb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_blowfish_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_blowfish_ofb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des1_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des1_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des1_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des1_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des1_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des1_cfb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des1_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des1_cfb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des1_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des1_ecb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des1_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des1_ecb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des1_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des1_ofb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des1_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des1_ofb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des2_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des2_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des2_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des2_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des2_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des2_cfb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des2_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des2_cfb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des2_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des2_ecb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des2_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des2_ecb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des2_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des2_ofb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des2_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des2_ofb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des3_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des3_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des3_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des3_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des3_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des3_cfb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des3_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des3_cfb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des3_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des3_ecb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des3_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des3_ecb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_des3_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des3_ofb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_des3_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_des3_ofb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_rc2_128_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_128_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_rc2_128_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_128_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_rc2_128_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_128_cfb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_rc2_128_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_128_cfb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_rc2_128_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_128_ecb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_rc2_128_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_128_ecb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_rc2_128_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_128_ofb.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_rc2_128_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_128_ofb.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_rc2_40_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_40_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_rc2_40_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_40_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_rc2_64_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_64_cbc.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_rc2_64_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_rc2_64_cbc.pem diff --git a/crypto/test/data/openssl/dsa/openssl_dsa_unencrypted.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_unencrypted.pem similarity index 100% rename from crypto/test/data/openssl/dsa/openssl_dsa_unencrypted.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/dsa/openssl_dsa_unencrypted.pem diff --git a/crypto/test/data/openssl/eckey.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/eckey.pem similarity index 100% rename from crypto/test/data/openssl/eckey.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/eckey.pem diff --git a/crypto/test/data/openssl/enckey.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/enckey.pem similarity index 100% rename from crypto/test/data/openssl/enckey.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/enckey.pem diff --git a/crypto/test/data/openssl/pkcs7.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/pkcs7.pem similarity index 100% rename from crypto/test/data/openssl/pkcs7.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/pkcs7.pem diff --git a/crypto/test/data/openssl/pkcs8/openssl_pkcs8_rsa.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/pkcs8/openssl_pkcs8_rsa.pem similarity index 100% rename from crypto/test/data/openssl/pkcs8/openssl_pkcs8_rsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/pkcs8/openssl_pkcs8_rsa.pem diff --git a/crypto/test/data/openssl/pkcs8/openssl_pkcs8_rsa_enc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/pkcs8/openssl_pkcs8_rsa_enc.pem similarity index 100% rename from crypto/test/data/openssl/pkcs8/openssl_pkcs8_rsa_enc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/pkcs8/openssl_pkcs8_rsa_enc.pem diff --git a/crypto/test/data/openssl/pkcs8test.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/pkcs8test.pem similarity index 100% rename from crypto/test/data/openssl/pkcs8test.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/pkcs8test.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes128_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes128_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes128_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes128_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes128_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes128_cfb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes128_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes128_cfb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes128_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes128_ecb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes128_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes128_ecb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes128_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes128_ofb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes128_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes128_ofb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes192_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes192_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes192_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes192_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes192_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes192_cfb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes192_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes192_cfb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes192_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes192_ecb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes192_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes192_ecb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes192_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes192_ofb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes192_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes192_ofb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes256_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes256_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes256_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes256_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes256_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes256_cfb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes256_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes256_cfb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes256_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes256_ecb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes256_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes256_ecb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_aes256_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes256_ofb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_aes256_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_aes256_ofb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_blowfish_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_blowfish_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_blowfish_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_blowfish_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_blowfish_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_blowfish_cfb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_blowfish_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_blowfish_cfb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_blowfish_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_blowfish_ecb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_blowfish_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_blowfish_ecb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_blowfish_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_blowfish_ofb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_blowfish_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_blowfish_ofb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des1_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des1_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des1_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des1_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des1_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des1_cfb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des1_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des1_cfb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des1_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des1_ecb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des1_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des1_ecb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des1_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des1_ofb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des1_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des1_ofb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des2_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des2_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des2_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des2_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des2_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des2_cfb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des2_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des2_cfb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des2_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des2_ecb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des2_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des2_ecb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des2_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des2_ofb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des2_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des2_ofb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des3_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des3_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des3_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des3_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des3_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des3_cfb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des3_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des3_cfb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des3_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des3_ecb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des3_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des3_ecb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_des3_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des3_ofb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_des3_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_des3_ofb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_rc2_128_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_128_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_rc2_128_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_128_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_rc2_128_cfb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_128_cfb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_rc2_128_cfb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_128_cfb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_rc2_128_ecb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_128_ecb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_rc2_128_ecb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_128_ecb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_rc2_128_ofb.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_128_ofb.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_rc2_128_ofb.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_128_ofb.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_rc2_40_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_40_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_rc2_40_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_40_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_rc2_64_cbc.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_64_cbc.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_rc2_64_cbc.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_rc2_64_cbc.pem diff --git a/crypto/test/data/openssl/rsa/openssl_rsa_unencrypted.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_unencrypted.pem similarity index 100% rename from crypto/test/data/openssl/rsa/openssl_rsa_unencrypted.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/rsa/openssl_rsa_unencrypted.pem diff --git a/crypto/test/data/openssl/test.pem b/test/Crypto.NetSdk.NUnitTest/data/openssl/test.pem similarity index 100% rename from crypto/test/data/openssl/test.pem rename to test/Crypto.NetSdk.NUnitTest/data/openssl/test.pem diff --git a/crypto/test/data/qvRooCa3.crt b/test/Crypto.NetSdk.NUnitTest/data/qvRooCa3.crt similarity index 98% rename from crypto/test/data/qvRooCa3.crt rename to test/Crypto.NetSdk.NUnitTest/data/qvRooCa3.crt index 969322b95e..bda7b1aa59 100644 --- a/crypto/test/data/qvRooCa3.crt +++ b/test/Crypto.NetSdk.NUnitTest/data/qvRooCa3.crt @@ -1,38 +1,38 @@ ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK -4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- diff --git a/crypto/test/data/rfc4134/3.1.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/3.1.bin similarity index 100% rename from crypto/test/data/rfc4134/3.1.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/3.1.bin diff --git a/crypto/test/data/rfc4134/3.2.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/3.2.bin similarity index 100% rename from crypto/test/data/rfc4134/3.2.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/3.2.bin diff --git a/crypto/test/data/rfc4134/4.1.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.1.bin similarity index 100% rename from crypto/test/data/rfc4134/4.1.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.1.bin diff --git a/crypto/test/data/rfc4134/4.10.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.10.bin similarity index 100% rename from crypto/test/data/rfc4134/4.10.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.10.bin diff --git a/crypto/test/data/rfc4134/4.11.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.11.bin similarity index 100% rename from crypto/test/data/rfc4134/4.11.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.11.bin diff --git a/crypto/test/data/rfc4134/4.2.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.2.bin similarity index 100% rename from crypto/test/data/rfc4134/4.2.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.2.bin diff --git a/crypto/test/data/rfc4134/4.3.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.3.bin similarity index 100% rename from crypto/test/data/rfc4134/4.3.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.3.bin diff --git a/crypto/test/data/rfc4134/4.4.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.4.bin similarity index 100% rename from crypto/test/data/rfc4134/4.4.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.4.bin diff --git a/crypto/test/data/rfc4134/4.5.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.5.bin similarity index 100% rename from crypto/test/data/rfc4134/4.5.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.5.bin diff --git a/crypto/test/data/rfc4134/4.6.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.6.bin similarity index 100% rename from crypto/test/data/rfc4134/4.6.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.6.bin diff --git a/crypto/test/data/rfc4134/4.7.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.7.bin similarity index 100% rename from crypto/test/data/rfc4134/4.7.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.7.bin diff --git a/crypto/test/data/rfc4134/4.8.eml b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.8.eml similarity index 100% rename from crypto/test/data/rfc4134/4.8.eml rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.8.eml diff --git a/crypto/test/data/rfc4134/4.9.eml b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.9.eml similarity index 100% rename from crypto/test/data/rfc4134/4.9.eml rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/4.9.eml diff --git a/crypto/test/data/rfc4134/5.1.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/5.1.bin similarity index 100% rename from crypto/test/data/rfc4134/5.1.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/5.1.bin diff --git a/crypto/test/data/rfc4134/5.2.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/5.2.bin similarity index 100% rename from crypto/test/data/rfc4134/5.2.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/5.2.bin diff --git a/crypto/test/data/rfc4134/5.3.eml b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/5.3.eml similarity index 100% rename from crypto/test/data/rfc4134/5.3.eml rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/5.3.eml diff --git a/crypto/test/data/rfc4134/6.0.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/6.0.bin similarity index 100% rename from crypto/test/data/rfc4134/6.0.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/6.0.bin diff --git a/crypto/test/data/rfc4134/7.1.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/7.1.bin similarity index 100% rename from crypto/test/data/rfc4134/7.1.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/7.1.bin diff --git a/crypto/test/data/rfc4134/7.2.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/7.2.bin similarity index 100% rename from crypto/test/data/rfc4134/7.2.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/7.2.bin diff --git a/crypto/test/data/rfc4134/AliceDSSSignByCarlNoInherit.cer b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/AliceDSSSignByCarlNoInherit.cer similarity index 100% rename from crypto/test/data/rfc4134/AliceDSSSignByCarlNoInherit.cer rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/AliceDSSSignByCarlNoInherit.cer diff --git a/crypto/test/data/rfc4134/AlicePrivDSSSign.pri b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/AlicePrivDSSSign.pri similarity index 100% rename from crypto/test/data/rfc4134/AlicePrivDSSSign.pri rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/AlicePrivDSSSign.pri diff --git a/crypto/test/data/rfc4134/AlicePrivRSASign.pri b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/AlicePrivRSASign.pri similarity index 100% rename from crypto/test/data/rfc4134/AlicePrivRSASign.pri rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/AlicePrivRSASign.pri diff --git a/crypto/test/data/rfc4134/AliceRSASignByCarl.cer b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/AliceRSASignByCarl.cer similarity index 100% rename from crypto/test/data/rfc4134/AliceRSASignByCarl.cer rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/AliceRSASignByCarl.cer diff --git a/crypto/test/data/rfc4134/BobPrivRSAEncrypt.pri b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/BobPrivRSAEncrypt.pri similarity index 100% rename from crypto/test/data/rfc4134/BobPrivRSAEncrypt.pri rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/BobPrivRSAEncrypt.pri diff --git a/crypto/test/data/rfc4134/BobRSASignByCarl.cer b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/BobRSASignByCarl.cer similarity index 100% rename from crypto/test/data/rfc4134/BobRSASignByCarl.cer rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/BobRSASignByCarl.cer diff --git a/crypto/test/data/rfc4134/CarlDSSCRLEmpty.crl b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlDSSCRLEmpty.crl similarity index 100% rename from crypto/test/data/rfc4134/CarlDSSCRLEmpty.crl rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlDSSCRLEmpty.crl diff --git a/crypto/test/data/rfc4134/CarlDSSCRLForAll.crl b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlDSSCRLForAll.crl similarity index 100% rename from crypto/test/data/rfc4134/CarlDSSCRLForAll.crl rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlDSSCRLForAll.crl diff --git a/crypto/test/data/rfc4134/CarlDSSCRLForCarl.crl b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlDSSCRLForCarl.crl similarity index 100% rename from crypto/test/data/rfc4134/CarlDSSCRLForCarl.crl rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlDSSCRLForCarl.crl diff --git a/crypto/test/data/rfc4134/CarlDSSSelf.cer b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlDSSSelf.cer similarity index 100% rename from crypto/test/data/rfc4134/CarlDSSSelf.cer rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlDSSSelf.cer diff --git a/crypto/test/data/rfc4134/CarlPrivDSSSign.pri b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlPrivDSSSign.pri similarity index 100% rename from crypto/test/data/rfc4134/CarlPrivDSSSign.pri rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlPrivDSSSign.pri diff --git a/crypto/test/data/rfc4134/CarlPrivRSASign.pri b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlPrivRSASign.pri similarity index 100% rename from crypto/test/data/rfc4134/CarlPrivRSASign.pri rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlPrivRSASign.pri diff --git a/crypto/test/data/rfc4134/CarlRSACRLEmpty.crl b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlRSACRLEmpty.crl similarity index 100% rename from crypto/test/data/rfc4134/CarlRSACRLEmpty.crl rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlRSACRLEmpty.crl diff --git a/crypto/test/data/rfc4134/CarlRSACRLForAll.crl b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlRSACRLForAll.crl similarity index 100% rename from crypto/test/data/rfc4134/CarlRSACRLForAll.crl rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlRSACRLForAll.crl diff --git a/crypto/test/data/rfc4134/CarlRSACRLForCarl.crl b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlRSACRLForCarl.crl similarity index 100% rename from crypto/test/data/rfc4134/CarlRSACRLForCarl.crl rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlRSACRLForCarl.crl diff --git a/crypto/test/data/rfc4134/CarlRSASelf.cer b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlRSASelf.cer similarity index 100% rename from crypto/test/data/rfc4134/CarlRSASelf.cer rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/CarlRSASelf.cer diff --git a/crypto/test/data/rfc4134/DianeDSSSignByCarlInherit.cer b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/DianeDSSSignByCarlInherit.cer similarity index 100% rename from crypto/test/data/rfc4134/DianeDSSSignByCarlInherit.cer rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/DianeDSSSignByCarlInherit.cer diff --git a/crypto/test/data/rfc4134/DianePrivDSSSign.pri b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/DianePrivDSSSign.pri similarity index 100% rename from crypto/test/data/rfc4134/DianePrivDSSSign.pri rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/DianePrivDSSSign.pri diff --git a/crypto/test/data/rfc4134/DianePrivRSASignEncrypt.pri b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/DianePrivRSASignEncrypt.pri similarity index 100% rename from crypto/test/data/rfc4134/DianePrivRSASignEncrypt.pri rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/DianePrivRSASignEncrypt.pri diff --git a/crypto/test/data/rfc4134/DianeRSASignByCarl.cer b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/DianeRSASignByCarl.cer similarity index 100% rename from crypto/test/data/rfc4134/DianeRSASignByCarl.cer rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/DianeRSASignByCarl.cer diff --git a/crypto/test/data/rfc4134/ExContent.bin b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/ExContent.bin similarity index 100% rename from crypto/test/data/rfc4134/ExContent.bin rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/ExContent.bin diff --git a/crypto/test/data/rfc4134/rfc4134.txt b/test/Crypto.NetSdk.NUnitTest/data/rfc4134/rfc4134.txt similarity index 100% rename from crypto/test/data/rfc4134/rfc4134.txt rename to test/Crypto.NetSdk.NUnitTest/data/rfc4134/rfc4134.txt diff --git a/crypto/test/data/rsa3/self-testcase-A.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-A.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-A.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-A.p12 diff --git a/crypto/test/data/rsa3/self-testcase-A.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-A.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-A.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-A.pem diff --git a/crypto/test/data/rsa3/self-testcase-B.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-B.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-B.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-B.p12 diff --git a/crypto/test/data/rsa3/self-testcase-B.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-B.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-B.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-B.pem diff --git a/crypto/test/data/rsa3/self-testcase-C.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-C.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-C.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-C.p12 diff --git a/crypto/test/data/rsa3/self-testcase-C.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-C.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-C.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-C.pem diff --git a/crypto/test/data/rsa3/self-testcase-D.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-D.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-D.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-D.p12 diff --git a/crypto/test/data/rsa3/self-testcase-D.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-D.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-D.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-D.pem diff --git a/crypto/test/data/rsa3/self-testcase-E.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-E.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-E.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-E.p12 diff --git a/crypto/test/data/rsa3/self-testcase-E.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-E.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-E.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-E.pem diff --git a/crypto/test/data/rsa3/self-testcase-F.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-F.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-F.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-F.p12 diff --git a/crypto/test/data/rsa3/self-testcase-F.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-F.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-F.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-F.pem diff --git a/crypto/test/data/rsa3/self-testcase-G.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-G.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-G.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-G.p12 diff --git a/crypto/test/data/rsa3/self-testcase-G.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-G.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-G.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-G.pem diff --git a/crypto/test/data/rsa3/self-testcase-H.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-H.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-H.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-H.p12 diff --git a/crypto/test/data/rsa3/self-testcase-H.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-H.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-H.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-H.pem diff --git a/crypto/test/data/rsa3/self-testcase-I.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-I.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-I.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-I.p12 diff --git a/crypto/test/data/rsa3/self-testcase-I.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-I.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-I.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-I.pem diff --git a/crypto/test/data/rsa3/self-testcase-J.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-J.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-J.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-J.p12 diff --git a/crypto/test/data/rsa3/self-testcase-J.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-J.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-J.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-J.pem diff --git a/crypto/test/data/rsa3/self-testcase-L.p12 b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-L.p12 similarity index 100% rename from crypto/test/data/rsa3/self-testcase-L.p12 rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-L.p12 diff --git a/crypto/test/data/rsa3/self-testcase-L.pem b/test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-L.pem similarity index 100% rename from crypto/test/data/rsa3/self-testcase-L.pem rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/self-testcase-L.pem diff --git a/crypto/test/data/rsa3/testcases.README b/test/Crypto.NetSdk.NUnitTest/data/rsa3/testcases.README similarity index 67% rename from crypto/test/data/rsa3/testcases.README rename to test/Crypto.NetSdk.NUnitTest/data/rsa3/testcases.README index 648574027690fdac099e5724d327d7c8363fc680..70d33e075c89c1f003830c854db0aa292afbb223 100644 GIT binary patch delta 926 zcmbPG&{sIYjG32OpOJU6D5DpUjA!%*NlsqR=mg|_WHbizRGEx` zyl^HB30^L}g4A4vwEQ9kD4m;F0@5&r$r7mKER!l&!)GQBFm1yOGPI4^9L(Ft?4``h zm7H2sl9^ViP+Xdvp^%+gS*(znS(1@jqz5#HOIKHycd|N*9Z*-Jy4dDwmKTgbW}=Af zWdHUl8Z$8N&T%cY>8U}!SAKv4_IHk&Lc4rLpgOrBt>#RfI` z8oNGFQ=_`+W-E@95R;`h%W<6sF$L5>27WLAkwD{sWGxSf9j{{m)BcbLqFrgT5$_#{ zcJa-s{Fl+SM+i0owJ0bU8BNYt)J8SKR!9vf(5P;pH^{8LN_ zRlB{o6}!MLG#si8B?&4GLs#Y zWHzhFA{nc_*+_l~!gUVdASzG;1x}VC$e3A*@W45z7zQzBvxCwjgv)d`XR9p5X#_Z! z6bvT|h=YQOMICOMg}Ns&Y#P=7AxvW3yioHL!X)IFg8326XOnfD!A`Q=%&&VC*`RNF z1Pqd&oWUbBd8=UnP(M-vur%@m8z{DUt`Rh4N=%+>q6riPrOewVkd!Glna5NLD2ALm dfhiIw(q#(w;XYGkpbsCKf_-@3+<=Lf3jhNF<~0BS delta 711 zcmeAxoKP^qjFD@irTfH2kBO)JCrdGUO-^O>XXKi^ozZFXFGgb^%Yeyfax#;KD3@MA zYOX?Bevtx{&P^=gn!K3Fa`Ig!RiHXnW)C14!0a`7HnTa9brr}`V3A_w;?mXCo$SP7 zx4Dt!ALHZ(Ht)%2*bFBB1!6sR6E-dd1qDNs$p;m+AWXB#_j$A?A7wXS0qgtCu0Oev zMQri~arw;&94A5gr8m2Boo1XY$OAM)8)%4*$>bG4ww(}E3qLPR3(w|6-a8;I;+sSH zFC(;c3pP&X6++TdBBTbjMPYL}?|jC|A6VEX@77cXYL(r*T?A+?vTYLLNLuT~tw35g zUl4x*vPo(4ZOLOO%3z5tH8rqXk+tco8%$16hiaXs z?g`bZv{^y}Y?~5L>q5rK&$%^`y@~AZDLP1Q{;lH-H=$e?YC?kkDV)CkY}knK@oFPK zknYU_#^CUhn7oKhbF#Im!Q>nuMoJLCQ~-8?vC-ty>{^h-U}>fd)GM+%*myDHWDyJZ K$uSlNj9dVQOWX1Q diff --git a/crypto/test/data/scrypt/TestVectors.txt b/test/Crypto.NetSdk.NUnitTest/data/scrypt/TestVectors.txt similarity index 100% rename from crypto/test/data/scrypt/TestVectors.txt rename to test/Crypto.NetSdk.NUnitTest/data/scrypt/TestVectors.txt diff --git a/crypto/test/data/suvaEE.crt b/test/Crypto.NetSdk.NUnitTest/data/suvaEE.crt similarity index 98% rename from crypto/test/data/suvaEE.crt rename to test/Crypto.NetSdk.NUnitTest/data/suvaEE.crt index cc8e8ac8a3..14075427a6 100644 --- a/crypto/test/data/suvaEE.crt +++ b/test/Crypto.NetSdk.NUnitTest/data/suvaEE.crt @@ -1,32 +1,32 @@ ------BEGIN CERTIFICATE----- -MIIFfjCCA2agAwIBAgIIBHTrx4eZAPkwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE -BhMCQ0gxDzANBgNVBAgTBkx1emVybjEPMA0GA1UEBxMGTHV6ZXJuMQ0wCwYDVQQK -EwRTdXZhMQswCQYDVQQLEwJJRjEjMCEGA1UEAxMaU3V2YSBTZWN1cmUgTWFpbCBJ -Q0EgMSAoMSkwHhcNMTQwODA0MTE0OTIxWhcNMTYwODAzMTI0OTIxWjCBhTELMAkG -A1UEBhMCQ0gxDzANBgNVBAgMBkx1emVybjEPMA0GA1UEBwwGTHV6ZXJuMQ0wCwYD -VQQKDARTdXZhMQswCQYDVQQLDAJJRjEUMBIGA1UEAwwLTmljbyBNYXJpdHoxIjAg -BgkqhkiG9w0BCQEWE25pY28ubWFyaXR6QHN1dmEuY2gwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQCweUvvHneU32sriCJJBl18xKqUE9DrGUFDhNCpgKLd -OhLKZJRgG/rpD1qn9gMI7KnnubbWpW3HCW+6nXT8wPpqMBNpjVgDwL/gb0eKMRvk -QcOs9kvaIt142MGCMZIlLBL/7/JTJhRi9tysJq8wacymqTDIh4MsejatsmXzRCx4 -tUIuNgFfObDGz0viSUplDz2xlVElRYQ5GRVVRvZF2lAlA0ymhbJwPvKRuf9ou7dh -wlG7nDgUMQnt4a+88sFTIogN11u7H5TiHgDArI8ovJjHFT7SZw/XgMsSM5NVcv1J -cSoGP4xQ1VdScr80HaVK+GIaJIiG9VcGMw4t/vwBSrBZAgMBAAGjggEEMIIBADAT -BgNVHSUEDDAKBggrBgEFBQcDBDALBgNVHQ8EBAMCBPAwHQYDVR0OBBYEFMuyfXI4 -PH87MolGzEoxWg4YMwKmMB8GA1UdIwQYMBaAFHrwc1/OwXgGLLVN2K5T/IQtgWYo -MCEGCWCGSAGG+EIBDQQUExJTdXZhIFNlY3VyZSBFLU1haWwwHgYDVR0RBBcwFYET -bmljby5tYXJpdHpAc3V2YS5jaDAMBgNVHRMBAf8EAjAAMBEGCWCGSAGG+EIBAQQE -AwIFIDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vcGtpLnN1dmEuY2gvY3JsL3N1 -dmFtaWNhMSgxKS5jcmwwDQYJKoZIhvcNAQEFBQADggIBADCszfdfxrt+LTgh3MMp -R+7Yt8GZT5svQDLmpmUqkDcY5dHIvfSu/YBF/wVDKz+wbegTjonwr1do9Msc8lRl -BAHfFk23os6MZJr4efpuBaJXFKJN23T6U9nZgphDAroA5MreF0MVkTnQQMvLL+tu -rXAPFQb0XKl5K4xWDcn5wKdcA7UZsLW2guZm7LiWuPYiNVk5QXg3Z9awZfquFGXw -1uOCfhIv5IlfVwXf94kok6sy3tnk3IDuYLBfaAVHpAMgyocgn1XU/aAy7y+bUUHe -AosKkV6AZ/5pirZv8yDuB37sIEAiOfMc3cCYk/ACbw+C18XcGXUKxWNBG+LUiJ/n -lvxnqCWOAS4/U52I0bmbXYMZ9Iz8dYoMe19iG2sQHMhw4S25O/oKhllzmren1BNd -EA/EZdbmqjmGDfvY6ELQpyeTUz6u/4Hfcdd/8IavcYXfBo0kpPJFm6epjMBSw2Bi -D1r1U+8oGNwoTce++Ch30eEjuxyMFTDOXzJObJHsZmcPP1fxKch5yGX+cF2oDWju -GOvviu9YxVTC4m+vwAwmmKSl7XylrVcJmXCh7u92wvgw8kXqA0R/P/gn8QQtQ5Ge -/a6vJRyhDVEP8wWmyebLZYlHZDrosD191d92SKaMRg7HDAH0nZ6wtlgxD20JyDO0 -FIIJq/d36mNrHPbd7Y4SxiAX ------END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIFfjCCA2agAwIBAgIIBHTrx4eZAPkwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE +BhMCQ0gxDzANBgNVBAgTBkx1emVybjEPMA0GA1UEBxMGTHV6ZXJuMQ0wCwYDVQQK +EwRTdXZhMQswCQYDVQQLEwJJRjEjMCEGA1UEAxMaU3V2YSBTZWN1cmUgTWFpbCBJ +Q0EgMSAoMSkwHhcNMTQwODA0MTE0OTIxWhcNMTYwODAzMTI0OTIxWjCBhTELMAkG +A1UEBhMCQ0gxDzANBgNVBAgMBkx1emVybjEPMA0GA1UEBwwGTHV6ZXJuMQ0wCwYD +VQQKDARTdXZhMQswCQYDVQQLDAJJRjEUMBIGA1UEAwwLTmljbyBNYXJpdHoxIjAg +BgkqhkiG9w0BCQEWE25pY28ubWFyaXR6QHN1dmEuY2gwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQCweUvvHneU32sriCJJBl18xKqUE9DrGUFDhNCpgKLd +OhLKZJRgG/rpD1qn9gMI7KnnubbWpW3HCW+6nXT8wPpqMBNpjVgDwL/gb0eKMRvk +QcOs9kvaIt142MGCMZIlLBL/7/JTJhRi9tysJq8wacymqTDIh4MsejatsmXzRCx4 +tUIuNgFfObDGz0viSUplDz2xlVElRYQ5GRVVRvZF2lAlA0ymhbJwPvKRuf9ou7dh +wlG7nDgUMQnt4a+88sFTIogN11u7H5TiHgDArI8ovJjHFT7SZw/XgMsSM5NVcv1J +cSoGP4xQ1VdScr80HaVK+GIaJIiG9VcGMw4t/vwBSrBZAgMBAAGjggEEMIIBADAT +BgNVHSUEDDAKBggrBgEFBQcDBDALBgNVHQ8EBAMCBPAwHQYDVR0OBBYEFMuyfXI4 +PH87MolGzEoxWg4YMwKmMB8GA1UdIwQYMBaAFHrwc1/OwXgGLLVN2K5T/IQtgWYo +MCEGCWCGSAGG+EIBDQQUExJTdXZhIFNlY3VyZSBFLU1haWwwHgYDVR0RBBcwFYET +bmljby5tYXJpdHpAc3V2YS5jaDAMBgNVHRMBAf8EAjAAMBEGCWCGSAGG+EIBAQQE +AwIFIDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vcGtpLnN1dmEuY2gvY3JsL3N1 +dmFtaWNhMSgxKS5jcmwwDQYJKoZIhvcNAQEFBQADggIBADCszfdfxrt+LTgh3MMp +R+7Yt8GZT5svQDLmpmUqkDcY5dHIvfSu/YBF/wVDKz+wbegTjonwr1do9Msc8lRl +BAHfFk23os6MZJr4efpuBaJXFKJN23T6U9nZgphDAroA5MreF0MVkTnQQMvLL+tu +rXAPFQb0XKl5K4xWDcn5wKdcA7UZsLW2guZm7LiWuPYiNVk5QXg3Z9awZfquFGXw +1uOCfhIv5IlfVwXf94kok6sy3tnk3IDuYLBfaAVHpAMgyocgn1XU/aAy7y+bUUHe +AosKkV6AZ/5pirZv8yDuB37sIEAiOfMc3cCYk/ACbw+C18XcGXUKxWNBG+LUiJ/n +lvxnqCWOAS4/U52I0bmbXYMZ9Iz8dYoMe19iG2sQHMhw4S25O/oKhllzmren1BNd +EA/EZdbmqjmGDfvY6ELQpyeTUz6u/4Hfcdd/8IavcYXfBo0kpPJFm6epjMBSw2Bi +D1r1U+8oGNwoTce++Ch30eEjuxyMFTDOXzJObJHsZmcPP1fxKch5yGX+cF2oDWju +GOvviu9YxVTC4m+vwAwmmKSl7XylrVcJmXCh7u92wvgw8kXqA0R/P/gn8QQtQ5Ge +/a6vJRyhDVEP8wWmyebLZYlHZDrosD191d92SKaMRg7HDAH0nZ6wtlgxD20JyDO0 +FIIJq/d36mNrHPbd7Y4SxiAX +-----END CERTIFICATE----- diff --git a/crypto/test/data/suvaEmail1.crt b/test/Crypto.NetSdk.NUnitTest/data/suvaEmail1.crt similarity index 98% rename from crypto/test/data/suvaEmail1.crt rename to test/Crypto.NetSdk.NUnitTest/data/suvaEmail1.crt index a7bcfdd6c9..8463c4dbbf 100644 --- a/crypto/test/data/suvaEmail1.crt +++ b/test/Crypto.NetSdk.NUnitTest/data/suvaEmail1.crt @@ -1,39 +1,39 @@ ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIG5DCCBMygAwIBAgIKF/12kwABAAACGDANBgkqhkiG9w0BAQUFADBGMQswCQYD +VQQGEwJDSDEPMA0GA1UECBMGTHV6ZXJuMQ0wCwYDVQQKEwRTdXZhMRcwFQYDVQQD +Ew5TdXZhIFJvb3QgQ0EgMTAeFw0xNDA1MTcwODAwNDJaFw0yNDA1MDcxMzEyMDNa +MHAxCzAJBgNVBAYTAkNIMQ8wDQYDVQQIEwZMdXplcm4xDzANBgNVBAcTBkx1emVy +bjENMAsGA1UEChMEU3V2YTELMAkGA1UECxMCSUYxIzAhBgNVBAMTGlN1dmEgU2Vj +dXJlIE1haWwgSUNBIDEgKDEpMIICIDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKC +AgEAueI8pNseKiE5+3adL3ZBQQ5g6ajOAY0KI3TCV5YKt8OjFbNviV+ja9mwrhMP +hx+QaTQruyCbi6FcNQlLxhilrjKX30//J3GvPc65t8Vcs2XsyC8u6KJaaQG8kl89 +j1/F76Ary/MiFU5ZaZuyj9vwDuHjRK2Vq8PxlHNRwGQFXI5y1LJPd/DUM6hY/sub +x//rknAJYPELKj5skFGz+prQR4ZgXegjN/9F1mmGFUEdCjoROV5m91asp3KFcK3L +DyQ5WC3JVm1zSvUTpGHKVqKXX+6WvG8wbv2AIvf8XLVI92bNB6xXpV2Tq05mLx48 +txfPVez4gfGkjhAK8StFKPEJs8CIvGV1XGUGM79VSw86rN6qT/A6kpGU1FsNwHv8 +HP3BArQLR3L+mQEnlulXhKE4K6hbx9seOhufhTORoW3F2QDW71SFWag5KV+r64zC +uE9aHy20seLs6rK4+lgV1SLMsew5Ot3AKfXbCVl2SG6gwE1M6V0DYRM787tdEVo/ +CMzP1FrWj96DX2aAU6BiRC36Jjd1HrJuIVmuXvVsE6YmfRIzSYKZBT/ZR/7knl13 +fTuR6K1kiWZs4Alq6mrVXxqcXOXR8k8NzNK9RI+XiYOuSAGHu2uX4pDXiEro7AFd +o/jqIZozuLZ2C7B7Yigf39I2WEEM4zILqSbIthLGcOJn0/0CAQOjggGqMIIBpjAS +BgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUevBz +X87BeAYstU3YrlP8hC2BZigwHwYDVR0jBBgwFoAUPFQUaTyz0/rgxsL2+kdFRxXK +KmowQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL3BraS5zdXZhLmNoL2NybC9TdXZh +JTIwUm9vdCUyMENBJTIwMSgxKS5jcmwwcwYIKwYBBQUHAQEEZzBlMCMGCCsGAQUF +BzABhhdodHRwOi8vcGtpLnN1dmEuY2gvb2NzcDA+BggrBgEFBQcwAoYyaHR0cDov +L3BraS5zdXZhLmNoL2NydC9TdXZhJTIwUm9vdCUyMENBJTIwMSgxKS5jcnQwPAYJ +KwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIxZdWhpShU4LRlzCD+65khNfBO0aHve1v +hcKqLQIBZAIBBzAeBgNVHSUEFzAVBggrBgEFBQcDBAYJKwYBBAGCNxUFMCgGCSsG +AQQBgjcVCgQbMBkwCgYIKwYBBQUHAwQwCwYJKwYBBAGCNxUFMA0GCSqGSIb3DQEB +BQUAA4ICAQDeAhIR0DCUS4tHJCJAPgHH/uMQcgV3qKNkZznmaKQ0kRl2JISbojrv +6WnIr+gcyoBPbI01QNbe7Dh73mMK/ezUZ04B9z9UBUvV5l7rCOL28Hnz/zmZZX+T +q3jxtQJPV4w2b9tuo8/vEUirEySmkmN6IGbu1epAhp9mCKUNjC6Oe3JwsMX/ouZN +Op2PPQ82fjVk8zlUpVX9qfRc9XmW992JrUe/npWqdJYYSJY1vFB9b6gMGiwOms1H +oXuDz0BQXp0m0D+7VjY8qi8vN7N8/Zy6EC/453ogal20nhMEiihGkvD68RyBjQO6 +kEWcjUizcC0vjcH6W+EyQeJ5VDTxv/GlSA2SHZWFJ7/T1dY+bHBjHr7aqptQzZeU +cWv0BfFdlEMkzZgOLRrmHKdTCGa/11vi3T12SzISwyGakPKrA8IaJCzNQO3/6dc8 +DBX8p9RO54VrSDsDSfTueofMnBpUJABMe1Eohqsj0sZv0n8cK85A6utQPuSxmgV2 +IAXdJMJcGAZ6PDKKCJYVVdHOeFEdUMh/fh6QGd1Iz0QMfMeiZODTo92loHnW0HPL +aVTdoQmn3K1yVFUrdYp/OJz4UDWFb2k4Du6GeQl1jqc2VREPohvvbDSJ9pgE3Oh2 +DEN7RZ7zK/FwLZeo8Qgo4yguznSzp3zLrUwLTewRNU1QbEiy9tIclQ== +-----END CERTIFICATE----- diff --git a/crypto/test/data/suvaRoot1.crt b/test/Crypto.NetSdk.NUnitTest/data/suvaRoot1.crt similarity index 98% rename from crypto/test/data/suvaRoot1.crt rename to test/Crypto.NetSdk.NUnitTest/data/suvaRoot1.crt index 83cfe6686c..692482e52b 100644 --- a/crypto/test/data/suvaRoot1.crt +++ b/test/Crypto.NetSdk.NUnitTest/data/suvaRoot1.crt @@ -1,46 +1,46 @@ ------BEGIN CERTIFICATE----- -MIIH4jCCBcqgAwIBAgIUZ6RtH7xmDM0r66IKSlpCZNrlRfYwDQYJKoZIhvcNAQEF -BQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZ -BgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0xNDA1MDcxMzEyMDNaFw0yNDA1 -MDcxMzEyMDNaMEYxCzAJBgNVBAYTAkNIMQ8wDQYDVQQIEwZMdXplcm4xDTALBgNV -BAoTBFN1dmExFzAVBgNVBAMTDlN1dmEgUm9vdCBDQSAxMIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEA9KfSFwpwbRnrfnMk1DkKQguwEKg6crSLKS31CU9E -ShdmIzMQyo9k4doec6c0cpubk17VlEEE8SmFSqwmLBRo+65kR5c3X4MeI0Fv1ZXH -WV+ZiaK+CVPf4OFNNCNuEFc1qnNxyWGvGVI+KMk1Lmrpda6h5GkMpFdxBRGq4RkU -aw41ljJgY9+UapZTl0b39XEeEgQshY/hKEKPeRZNeTHBFWFTsAZxZBSH0bz35zfh -X1oQLad3b5Q2Nw1utEcai4I9DnTyAQ7wRtius217twXERdpeLdTurKe7TVqHcyBS -ziTpsCewINJ1S69a1E7Z59SNorOEgGIS2Z89fIlwYVQkcW5pLZL+Q5UC1rcD/FWq -m4rIOrjM0AYcLEiScmNYYgLEPrXvh1BVMkc+SIqiQ7JhlzXSDZmMBcqrlVilp2oz -lyuCRlMpGdlUqe0BD3JY/vfOZRm+NHfys4mmLIQhLJgX2vH5UOeAzdQ2pkpFdHNq -1tMLITr108NcZ62updidyVFy+8kbr7NKawmp03MtYjdYqEi2lDNgJcwk17uoxhbv -LEYvSNM+wMc73duO97pOrgbTrIIHeBdgjP/ZqHkW/4ZtxUpxFSxqoBgUVw6IHTn9 -2cYBmouDdhEYhnFhcEVqYP5N0JjT9nFzWL/EU+Lgk8y3x59luxaGJV9tEU9P0MIy -cBUCAwEAAaOCAscwggLDMBIGA1UdEwEB/wQIMAYBAf8CAQEwcwYIKwYBBQUHAQEE -ZzBlMCsGCCsGAQUFBzABhh9odHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20v -MDYGCCsGAQUFBzAChipodHRwOi8vdHJ1c3QucXVvdmFkaXNnbG9iYWwuY29tL3F2 -cmNhMy5jcnQwgdAGA1UdIASByDCBxTCBwgYMKwYBBAG+WAADhFgAMIGxMIGDBggr -BgEFBQcCAjB3GnVBbnkgdXNlIG9mIHRoaXMgQ2VydGlmaWNhdGUgY29uc3RpdHV0 -ZXMgYWNjZXB0YW5jZSBvZiB0aGUgU3V2YSBDZXJ0aWZpY2F0ZSBQb2xpY3kgLyBD -ZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wKQYIKwYBBQUHAgEWHWh0 -dHA6Ly9wa2kuc3V2YS5jaC9yZXBvc2l0b3J5MGQGA1UdHgRdMFugWTAKgQhAc3V2 -YS5jaDANgQtAc3V2YW5ldC5jaDAPgQ1Ac3V2YW5ldDYyLmNoMA+BDUBzdXZhbmV0 -NzcuY2gwDIEKQHN1dmE2Mi5jaDAMgQpAc3V2YTc3LmNoMA4GA1UdDwEB/wQEAwIB -BjB0BgNVHSUEbTBrBggrBgEFBQcDBAYIKwYBBQUHAwIGCCsGAQUFBwMJBgorBgEE -AYI3CgMEBgorBgEEAYI3FAICBgorBgEEAYI3FAIBBgcrBgEFAgMFBggrBgEFBQgC -AgYJKwYBBAGCNxUFBgkrBgEEAYI3FQYwHwYDVR0jBBgwFoAU8sAT4IJDPvvuL2cy -ljVc27jLAtAwOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL2NybC5xdW92YWRpc2ds -b2JhbC5jb20vcXZyY2EzLmNybDAdBgNVHQ4EFgQUPFQUaTyz0/rgxsL2+kdFRxXK -KmowDQYJKoZIhvcNAQEFBQADggIBADsk54ImQSM2LcLtwpH5s3NPn/qpua22SUyH -sujqy8vHEAOS0KPbN+Jnq4KpexylTVHQ3ybgHSQt6SZ+/NSBHO8eAAyqZyWjenyk -UCcL7TNO82tD7lkuq+eo+BIsq9AJTI0gGRqG/wFyvNpVssZ0bFdqGNq0aM74NHWD -7LRa6toC1I+YNpvelSlZvGfEpm0G7e04AE3kzFnaemG3RwRY2mUtT5Aby5vpfouh -IbdF4t1NEyC9ExFOkEjZ3P1AAoJgxQC3T7B1Mo6r03pcBdd9LrjjVJidUyj+j/ha -faZo4e1wJeU09UtzVSzGb1GA8QHOJMY7VeA0qLg4qfZdeoDxrCZJKn/pZP2D6dQs -0Za1args4EUJmdVFsuFNc1DsM1EXTD5o9dHkX/cKPv6eMRehP7emNjJgmcIv1rX3 -sotSJA06D+5LW6ZkuWdS2uArCta8YgrVtefRMNj2nhVGafLt7tE819E0fqnaknGR -RgfNRFEMeTIU29RtgvzbpYtCK+O1v7a3x55mt/RbMhtruns3OOVAY+l7nW1y51Xb -A8bPOZc7fREndSacNCpK37Or3AhE4Uneylz+rN25H2hL8OT/xAXxj6IcPRuD2SDH -nvXiM0xeqCQpfDNv/35uNSMdpsA75GZwRpvt0fMc5r0AwtwBFZX7X4KtULoNxLNb -JZxATf23 ------END CERTIFICATE----- - +-----BEGIN CERTIFICATE----- +MIIH4jCCBcqgAwIBAgIUZ6RtH7xmDM0r66IKSlpCZNrlRfYwDQYJKoZIhvcNAQEF +BQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZ +BgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0xNDA1MDcxMzEyMDNaFw0yNDA1 +MDcxMzEyMDNaMEYxCzAJBgNVBAYTAkNIMQ8wDQYDVQQIEwZMdXplcm4xDTALBgNV +BAoTBFN1dmExFzAVBgNVBAMTDlN1dmEgUm9vdCBDQSAxMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA9KfSFwpwbRnrfnMk1DkKQguwEKg6crSLKS31CU9E +ShdmIzMQyo9k4doec6c0cpubk17VlEEE8SmFSqwmLBRo+65kR5c3X4MeI0Fv1ZXH +WV+ZiaK+CVPf4OFNNCNuEFc1qnNxyWGvGVI+KMk1Lmrpda6h5GkMpFdxBRGq4RkU +aw41ljJgY9+UapZTl0b39XEeEgQshY/hKEKPeRZNeTHBFWFTsAZxZBSH0bz35zfh +X1oQLad3b5Q2Nw1utEcai4I9DnTyAQ7wRtius217twXERdpeLdTurKe7TVqHcyBS +ziTpsCewINJ1S69a1E7Z59SNorOEgGIS2Z89fIlwYVQkcW5pLZL+Q5UC1rcD/FWq +m4rIOrjM0AYcLEiScmNYYgLEPrXvh1BVMkc+SIqiQ7JhlzXSDZmMBcqrlVilp2oz +lyuCRlMpGdlUqe0BD3JY/vfOZRm+NHfys4mmLIQhLJgX2vH5UOeAzdQ2pkpFdHNq +1tMLITr108NcZ62updidyVFy+8kbr7NKawmp03MtYjdYqEi2lDNgJcwk17uoxhbv +LEYvSNM+wMc73duO97pOrgbTrIIHeBdgjP/ZqHkW/4ZtxUpxFSxqoBgUVw6IHTn9 +2cYBmouDdhEYhnFhcEVqYP5N0JjT9nFzWL/EU+Lgk8y3x59luxaGJV9tEU9P0MIy +cBUCAwEAAaOCAscwggLDMBIGA1UdEwEB/wQIMAYBAf8CAQEwcwYIKwYBBQUHAQEE +ZzBlMCsGCCsGAQUFBzABhh9odHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20v +MDYGCCsGAQUFBzAChipodHRwOi8vdHJ1c3QucXVvdmFkaXNnbG9iYWwuY29tL3F2 +cmNhMy5jcnQwgdAGA1UdIASByDCBxTCBwgYMKwYBBAG+WAADhFgAMIGxMIGDBggr +BgEFBQcCAjB3GnVBbnkgdXNlIG9mIHRoaXMgQ2VydGlmaWNhdGUgY29uc3RpdHV0 +ZXMgYWNjZXB0YW5jZSBvZiB0aGUgU3V2YSBDZXJ0aWZpY2F0ZSBQb2xpY3kgLyBD +ZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wKQYIKwYBBQUHAgEWHWh0 +dHA6Ly9wa2kuc3V2YS5jaC9yZXBvc2l0b3J5MGQGA1UdHgRdMFugWTAKgQhAc3V2 +YS5jaDANgQtAc3V2YW5ldC5jaDAPgQ1Ac3V2YW5ldDYyLmNoMA+BDUBzdXZhbmV0 +NzcuY2gwDIEKQHN1dmE2Mi5jaDAMgQpAc3V2YTc3LmNoMA4GA1UdDwEB/wQEAwIB +BjB0BgNVHSUEbTBrBggrBgEFBQcDBAYIKwYBBQUHAwIGCCsGAQUFBwMJBgorBgEE +AYI3CgMEBgorBgEEAYI3FAICBgorBgEEAYI3FAIBBgcrBgEFAgMFBggrBgEFBQgC +AgYJKwYBBAGCNxUFBgkrBgEEAYI3FQYwHwYDVR0jBBgwFoAU8sAT4IJDPvvuL2cy +ljVc27jLAtAwOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL2NybC5xdW92YWRpc2ds +b2JhbC5jb20vcXZyY2EzLmNybDAdBgNVHQ4EFgQUPFQUaTyz0/rgxsL2+kdFRxXK +KmowDQYJKoZIhvcNAQEFBQADggIBADsk54ImQSM2LcLtwpH5s3NPn/qpua22SUyH +sujqy8vHEAOS0KPbN+Jnq4KpexylTVHQ3ybgHSQt6SZ+/NSBHO8eAAyqZyWjenyk +UCcL7TNO82tD7lkuq+eo+BIsq9AJTI0gGRqG/wFyvNpVssZ0bFdqGNq0aM74NHWD +7LRa6toC1I+YNpvelSlZvGfEpm0G7e04AE3kzFnaemG3RwRY2mUtT5Aby5vpfouh +IbdF4t1NEyC9ExFOkEjZ3P1AAoJgxQC3T7B1Mo6r03pcBdd9LrjjVJidUyj+j/ha +faZo4e1wJeU09UtzVSzGb1GA8QHOJMY7VeA0qLg4qfZdeoDxrCZJKn/pZP2D6dQs +0Za1args4EUJmdVFsuFNc1DsM1EXTD5o9dHkX/cKPv6eMRehP7emNjJgmcIv1rX3 +sotSJA06D+5LW6ZkuWdS2uArCta8YgrVtefRMNj2nhVGafLt7tE819E0fqnaknGR +RgfNRFEMeTIU29RtgvzbpYtCK+O1v7a3x55mt/RbMhtruns3OOVAY+l7nW1y51Xb +A8bPOZc7fREndSacNCpK37Or3AhE4Uneylz+rN25H2hL8OT/xAXxj6IcPRuD2SDH +nvXiM0xeqCQpfDNv/35uNSMdpsA75GZwRpvt0fMc5r0AwtwBFZX7X4KtULoNxLNb +JZxATf23 +-----END CERTIFICATE----- + diff --git a/crypto/test/data/tls/README.txt b/test/Crypto.NetSdk.NUnitTest/data/tls/README.txt similarity index 100% rename from crypto/test/data/tls/README.txt rename to test/Crypto.NetSdk.NUnitTest/data/tls/README.txt diff --git a/crypto/test/data/tls/ca.tmpl b/test/Crypto.NetSdk.NUnitTest/data/tls/ca.tmpl similarity index 100% rename from crypto/test/data/tls/ca.tmpl rename to test/Crypto.NetSdk.NUnitTest/data/tls/ca.tmpl diff --git a/crypto/test/data/tls/client.tmpl b/test/Crypto.NetSdk.NUnitTest/data/tls/client.tmpl similarity index 100% rename from crypto/test/data/tls/client.tmpl rename to test/Crypto.NetSdk.NUnitTest/data/tls/client.tmpl diff --git a/crypto/test/data/tls/keystores/client_store.dsa b/test/Crypto.NetSdk.NUnitTest/data/tls/keystores/client_store.dsa similarity index 100% rename from crypto/test/data/tls/keystores/client_store.dsa rename to test/Crypto.NetSdk.NUnitTest/data/tls/keystores/client_store.dsa diff --git a/crypto/test/data/tls/keystores/client_store.rsa b/test/Crypto.NetSdk.NUnitTest/data/tls/keystores/client_store.rsa similarity index 100% rename from crypto/test/data/tls/keystores/client_store.rsa rename to test/Crypto.NetSdk.NUnitTest/data/tls/keystores/client_store.rsa diff --git a/crypto/test/data/tls/keystores/server_store.dsa b/test/Crypto.NetSdk.NUnitTest/data/tls/keystores/server_store.dsa similarity index 100% rename from crypto/test/data/tls/keystores/server_store.dsa rename to test/Crypto.NetSdk.NUnitTest/data/tls/keystores/server_store.dsa diff --git a/crypto/test/data/tls/keystores/server_store.rsa b/test/Crypto.NetSdk.NUnitTest/data/tls/keystores/server_store.rsa similarity index 100% rename from crypto/test/data/tls/keystores/server_store.rsa rename to test/Crypto.NetSdk.NUnitTest/data/tls/keystores/server_store.rsa diff --git a/crypto/test/data/tls/server.tmpl b/test/Crypto.NetSdk.NUnitTest/data/tls/server.tmpl similarity index 100% rename from crypto/test/data/tls/server.tmpl rename to test/Crypto.NetSdk.NUnitTest/data/tls/server.tmpl diff --git a/crypto/test/data/tls/x509-ca-key.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-ca-key.pem similarity index 100% rename from crypto/test/data/tls/x509-ca-key.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-ca-key.pem diff --git a/crypto/test/data/tls/x509-ca.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-ca.pem similarity index 100% rename from crypto/test/data/tls/x509-ca.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-ca.pem diff --git a/crypto/test/data/tls/x509-client-dsa.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-dsa.pem similarity index 100% rename from crypto/test/data/tls/x509-client-dsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-dsa.pem diff --git a/crypto/test/data/tls/x509-client-ecdsa.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-ecdsa.pem similarity index 100% rename from crypto/test/data/tls/x509-client-ecdsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-ecdsa.pem diff --git a/crypto/test/data/tls/x509-client-key-dsa.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-key-dsa.pem similarity index 100% rename from crypto/test/data/tls/x509-client-key-dsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-key-dsa.pem diff --git a/crypto/test/data/tls/x509-client-key-ecdsa.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-key-ecdsa.pem similarity index 100% rename from crypto/test/data/tls/x509-client-key-ecdsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-key-ecdsa.pem diff --git a/crypto/test/data/tls/x509-client-key.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-key.pem similarity index 100% rename from crypto/test/data/tls/x509-client-key.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-client-key.pem diff --git a/crypto/test/data/tls/x509-client.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-client.pem similarity index 100% rename from crypto/test/data/tls/x509-client.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-client.pem diff --git a/crypto/test/data/tls/x509-server-dsa.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-dsa.pem similarity index 100% rename from crypto/test/data/tls/x509-server-dsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-dsa.pem diff --git a/crypto/test/data/tls/x509-server-ecdsa.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-ecdsa.pem similarity index 100% rename from crypto/test/data/tls/x509-server-ecdsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-ecdsa.pem diff --git a/crypto/test/data/tls/x509-server-key-dsa.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-key-dsa.pem similarity index 100% rename from crypto/test/data/tls/x509-server-key-dsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-key-dsa.pem diff --git a/crypto/test/data/tls/x509-server-key-ecdsa.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-key-ecdsa.pem similarity index 100% rename from crypto/test/data/tls/x509-server-key-ecdsa.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-key-ecdsa.pem diff --git a/crypto/test/data/tls/x509-server-key.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-key.pem similarity index 100% rename from crypto/test/data/tls/x509-server-key.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-server-key.pem diff --git a/crypto/test/data/tls/x509-server.pem b/test/Crypto.NetSdk.NUnitTest/data/tls/x509-server.pem similarity index 100% rename from crypto/test/data/tls/x509-server.pem rename to test/Crypto.NetSdk.NUnitTest/data/tls/x509-server.pem diff --git a/crypto/test/src/asn1/test/ASN1IntegerTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ASN1IntegerTest.cs similarity index 99% rename from crypto/test/src/asn1/test/ASN1IntegerTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ASN1IntegerTest.cs index 6de3f7507e..99ce72d9d4 100644 --- a/crypto/test/src/asn1/test/ASN1IntegerTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ASN1IntegerTest.cs @@ -338,7 +338,7 @@ private void SetAllowUnsafeProperty(bool allowUnsafe) #endif } - public static void Main( + public void Main( string[] args) { RunTest(new Asn1IntegerTest()); diff --git a/crypto/test/src/asn1/test/ASN1SequenceParserTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ASN1SequenceParserTest.cs similarity index 100% rename from crypto/test/src/asn1/test/ASN1SequenceParserTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ASN1SequenceParserTest.cs diff --git a/crypto/test/src/asn1/test/ASN1UnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ASN1UnitTest.cs similarity index 100% rename from crypto/test/src/asn1/test/ASN1UnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ASN1UnitTest.cs diff --git a/crypto/test/src/asn1/test/AdditionalInformationSyntaxUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdditionalInformationSyntaxUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/AdditionalInformationSyntaxUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdditionalInformationSyntaxUnitTest.cs index ac4ff98090..7b5b000fd2 100644 --- a/crypto/test/src/asn1/test/AdditionalInformationSyntaxUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdditionalInformationSyntaxUnitTest.cs @@ -60,7 +60,7 @@ private void checkValues( checkMandatoryField("information", information, syntax.Information); } - public static void Main( + public void Main( string[] args) { RunTest(new AdditionalInformationSyntaxUnitTest()); diff --git a/crypto/test/src/asn1/test/AdmissionSyntaxUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdmissionSyntaxUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/AdmissionSyntaxUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdmissionSyntaxUnitTest.cs index 59464d212c..828d1e0c42 100644 --- a/crypto/test/src/asn1/test/AdmissionSyntaxUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdmissionSyntaxUnitTest.cs @@ -82,7 +82,7 @@ private void checkValues( } } - public static void Main( + public void Main( string[] args) { RunTest(new AdmissionSyntaxUnitTest()); diff --git a/crypto/test/src/asn1/test/AdmissionsUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdmissionsUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/AdmissionsUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdmissionsUnitTest.cs index edefeb8308..5ff5d260a8 100644 --- a/crypto/test/src/asn1/test/AdmissionsUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AdmissionsUnitTest.cs @@ -73,7 +73,7 @@ private void checkValues( checkMandatoryField("namingAuthority", auth, admissions.NamingAuthority); } - public static void Main( + public void Main( string[] args) { RunTest(new AdmissionsUnitTest()); diff --git a/crypto/test/src/asn1/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AllTests.cs similarity index 92% rename from crypto/test/src/asn1/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AllTests.cs index 981b5a4df8..2e9436491a 100644 --- a/crypto/test/src/asn1/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AllTests.cs @@ -8,7 +8,7 @@ namespace Org.BouncyCastle.Asn1.Tests { public class AllTests { - public static void Main(string[] args) + public void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/asn1/test/AttributeTableUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AttributeTableUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/AttributeTableUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AttributeTableUnitTest.cs index 5dcf349cc7..d1ee95422d 100644 --- a/crypto/test/src/asn1/test/AttributeTableUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/AttributeTableUnitTest.cs @@ -134,7 +134,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new AttributeTableUnitTest()); diff --git a/crypto/test/src/asn1/test/BiometricDataUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/BiometricDataUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/BiometricDataUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/BiometricDataUnitTest.cs index a542f71aff..4c55c2f7b1 100644 --- a/crypto/test/src/asn1/test/BiometricDataUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/BiometricDataUnitTest.cs @@ -116,7 +116,7 @@ private void CheckValues( } } - public static void Main( + public void Main( string[] args) { RunTest(new BiometricDataUnitTest()); diff --git a/crypto/test/src/asn1/test/BitStringConstantTester.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/BitStringConstantTester.cs similarity index 100% rename from crypto/test/src/asn1/test/BitStringConstantTester.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/BitStringConstantTester.cs diff --git a/crypto/test/src/asn1/test/BitStringTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/BitStringTest.cs similarity index 99% rename from crypto/test/src/asn1/test/BitStringTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/BitStringTest.cs index 35b7811bc7..a4b2a8b155 100644 --- a/crypto/test/src/asn1/test/BitStringTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/BitStringTest.cs @@ -159,7 +159,7 @@ public override string Name get { return "BitString"; } } - public static void Main( + public void Main( string[] args) { RunTest(new BitStringTest()); diff --git a/crypto/test/src/asn1/test/CMSTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CMSTest.cs similarity index 99% rename from crypto/test/src/asn1/test/CMSTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CMSTest.cs index 1afb363afc..fe788cfe42 100644 --- a/crypto/test/src/asn1/test/CMSTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CMSTest.cs @@ -286,7 +286,7 @@ public string Name get { return "CMS"; } } - public static void Main( + public void Main( string[] args) { ITest test = new CmsTest(); diff --git a/crypto/test/src/asn1/test/CertHashUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CertHashUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/CertHashUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CertHashUnitTest.cs index 1e271a9c0a..c2b0944fbd 100644 --- a/crypto/test/src/asn1/test/CertHashUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CertHashUnitTest.cs @@ -76,7 +76,7 @@ private void checkValues( checkMandatoryField("certificateHash", digest, certHash.CertificateHash); } - public static void Main( + public void Main( string[] args) { RunTest(new CertHashUnitTest()); diff --git a/crypto/test/src/asn1/test/CertificateTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CertificateTest.cs similarity index 99% rename from crypto/test/src/asn1/test/CertificateTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CertificateTest.cs index 7fcb1fffad..721ce9e177 100644 --- a/crypto/test/src/asn1/test/CertificateTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CertificateTest.cs @@ -378,7 +378,7 @@ public override void PerformTest() CheckAttributeCertificate(8, cert8); } - public static void Main( + public void Main( string[] args) { RunTest(new CertificateTest()); diff --git a/crypto/test/src/asn1/test/CommitmentTypeIndicationUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CommitmentTypeIndicationUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/CommitmentTypeIndicationUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CommitmentTypeIndicationUnitTest.cs index 20c2d18e37..fcea3f0487 100644 --- a/crypto/test/src/asn1/test/CommitmentTypeIndicationUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CommitmentTypeIndicationUnitTest.cs @@ -90,7 +90,7 @@ private void CheckStatement( } } - public static void Main( + public void Main( string[] args) { RunTest(new CommitmentTypeIndicationUnitTest()); diff --git a/crypto/test/src/asn1/test/CommitmentTypeQualifierUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CommitmentTypeQualifierUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/CommitmentTypeQualifierUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CommitmentTypeQualifierUnitTest.cs index 192ac52f6e..c71bbd2d79 100644 --- a/crypto/test/src/asn1/test/CommitmentTypeQualifierUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CommitmentTypeQualifierUnitTest.cs @@ -90,7 +90,7 @@ private void CheckStatement( } } - public static void Main( + public void Main( string[] args) { RunTest(new CommitmentTypeQualifierUnitTest()); diff --git a/crypto/test/src/asn1/test/ContentHintsUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ContentHintsUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/ContentHintsUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ContentHintsUnitTest.cs index d7453c27e8..a89f636738 100644 --- a/crypto/test/src/asn1/test/ContentHintsUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ContentHintsUnitTest.cs @@ -76,7 +76,7 @@ private void checkValues( checkOptionalField("description", description, hints.ContentDescription); } - public static void Main( + public void Main( string[] args) { RunTest(new ContentHintsUnitTest()); diff --git a/crypto/test/src/asn1/test/CscaMasterListTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CscaMasterListTest.cs similarity index 97% rename from crypto/test/src/asn1/test/CscaMasterListTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CscaMasterListTest.cs index 814e98b2af..a19fe82df1 100644 --- a/crypto/test/src/asn1/test/CscaMasterListTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/CscaMasterListTest.cs @@ -40,7 +40,7 @@ private byte[] GetInput(string name) return Streams.ReadAll(SimpleTest.GetTestDataAsStream("asn1." + name)); } - public static void Main( + public void Main( string[] args) { RunTest(new CscaMasterListTest()); diff --git a/crypto/test/src/asn1/test/DERApplicationSpecificTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DERApplicationSpecificTest.cs similarity index 99% rename from crypto/test/src/asn1/test/DERApplicationSpecificTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DERApplicationSpecificTest.cs index e505acd9dd..bb6db7be21 100644 --- a/crypto/test/src/asn1/test/DERApplicationSpecificTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DERApplicationSpecificTest.cs @@ -128,7 +128,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new DerApplicationSpecificTest()); diff --git a/crypto/test/src/asn1/test/DERUTF8StringTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DERUTF8StringTest.cs similarity index 98% rename from crypto/test/src/asn1/test/DERUTF8StringTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DERUTF8StringTest.cs index be4dace79b..886036e9c1 100644 --- a/crypto/test/src/asn1/test/DERUTF8StringTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DERUTF8StringTest.cs @@ -93,7 +93,7 @@ public string Name } } - public static void Main( + public void Main( string[] args) { DerUtf8StringTest test = new DerUtf8StringTest(); diff --git a/crypto/test/src/asn1/test/DataGroupHashUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DataGroupHashUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/DataGroupHashUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DataGroupHashUnitTest.cs index dcebf46706..6adc83a0d2 100644 --- a/crypto/test/src/asn1/test/DataGroupHashUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DataGroupHashUnitTest.cs @@ -89,7 +89,7 @@ private void CheckValues( } } - public static void Main( + public void Main( string[] args) { RunTest(new DataGroupHashUnitTest()); diff --git a/crypto/test/src/asn1/test/DeclarationOfMajorityUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DeclarationOfMajorityUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/DeclarationOfMajorityUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DeclarationOfMajorityUnitTest.cs index bd1fb5a9e9..53bf3debe4 100644 --- a/crypto/test/src/asn1/test/DeclarationOfMajorityUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/DeclarationOfMajorityUnitTest.cs @@ -80,7 +80,7 @@ private void checkValues( } } - public static void Main( + public void Main( string[] args) { RunTest(new DeclarationOfMajorityUnitTest()); diff --git a/crypto/test/src/asn1/test/EncryptedPrivateKeyInfoTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EncryptedPrivateKeyInfoTest.cs similarity index 99% rename from crypto/test/src/asn1/test/EncryptedPrivateKeyInfoTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EncryptedPrivateKeyInfoTest.cs index a84df59cc9..b998ccb5a3 100644 --- a/crypto/test/src/asn1/test/EncryptedPrivateKeyInfoTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EncryptedPrivateKeyInfoTest.cs @@ -132,7 +132,7 @@ public ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new EncryptedPrivateKeyInfoTest(); diff --git a/crypto/test/src/asn1/test/EnumeratedTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EnumeratedTest.cs similarity index 100% rename from crypto/test/src/asn1/test/EnumeratedTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EnumeratedTest.cs diff --git a/crypto/test/src/asn1/test/EqualsAndHashCodeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EqualsAndHashCodeTest.cs similarity index 98% rename from crypto/test/src/asn1/test/EqualsAndHashCodeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EqualsAndHashCodeTest.cs index 91329fbd56..5aaa0e07d1 100644 --- a/crypto/test/src/asn1/test/EqualsAndHashCodeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EqualsAndHashCodeTest.cs @@ -80,7 +80,7 @@ public override string Name get { return "EqualsAndHashCode"; } } - public static void Main( + public void Main( string[] args) { RunTest(new EqualsAndHashCodeTest()); diff --git a/crypto/test/src/asn1/test/EssCertIDv2UnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EssCertIDv2UnitTest.cs similarity index 96% rename from crypto/test/src/asn1/test/EssCertIDv2UnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EssCertIDv2UnitTest.cs index 9aac777e1c..421d2601c7 100644 --- a/crypto/test/src/asn1/test/EssCertIDv2UnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/EssCertIDv2UnitTest.cs @@ -29,7 +29,7 @@ public override void PerformTest() EssCertIDv2.GetInstance(asn1Object); } - public static void Main( + public void Main( string[] args) { RunTest(new EssCertIDv2UnitTest()); diff --git a/crypto/test/src/asn1/test/GeneralNameTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GeneralNameTest.cs similarity index 99% rename from crypto/test/src/asn1/test/GeneralNameTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GeneralNameTest.cs index e9c3b5861a..0065b9883d 100644 --- a/crypto/test/src/asn1/test/GeneralNameTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GeneralNameTest.cs @@ -99,7 +99,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new GeneralNameTest()); diff --git a/crypto/test/src/asn1/test/GeneralizedTimeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GeneralizedTimeTest.cs similarity index 99% rename from crypto/test/src/asn1/test/GeneralizedTimeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GeneralizedTimeTest.cs index 51995e1953..f7887fb27f 100644 --- a/crypto/test/src/asn1/test/GeneralizedTimeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GeneralizedTimeTest.cs @@ -214,7 +214,7 @@ private string Convert(int time) return time.ToString(); } - public static void Main( + public void Main( string[] args) { RunTest(new GeneralizedTimeTest()); diff --git a/crypto/test/src/asn1/test/GenerationTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GenerationTest.cs similarity index 99% rename from crypto/test/src/asn1/test/GenerationTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GenerationTest.cs index 862e66d224..1fa2b4ded5 100644 --- a/crypto/test/src/asn1/test/GenerationTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/GenerationTest.cs @@ -308,7 +308,7 @@ public override string Name get { return "Generation"; } } - public static void Main( + public void Main( string[] args) { RunTest(new GenerationTest()); diff --git a/crypto/test/src/asn1/test/InputStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/InputStreamTest.cs similarity index 98% rename from crypto/test/src/asn1/test/InputStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/InputStreamTest.cs index 1d92759e02..85001bf25c 100644 --- a/crypto/test/src/asn1/test/InputStreamTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/InputStreamTest.cs @@ -68,7 +68,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new InputStreamTest()); diff --git a/crypto/test/src/asn1/test/Iso4217CurrencyCodeUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/Iso4217CurrencyCodeUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/Iso4217CurrencyCodeUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/Iso4217CurrencyCodeUnitTest.cs index bb6076a93c..ff8cbba47a 100644 --- a/crypto/test/src/asn1/test/Iso4217CurrencyCodeUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/Iso4217CurrencyCodeUnitTest.cs @@ -139,7 +139,7 @@ private void CheckNumeric( } } - public static void Main( + public void Main( string[] args) { RunTest(new Iso4217CurrencyCodeUnitTest()); diff --git a/crypto/test/src/asn1/test/IssuingDistributionPointTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/IssuingDistributionPointTest.cs similarity index 99% rename from crypto/test/src/asn1/test/IssuingDistributionPointTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/IssuingDistributionPointTest.cs index b5f5c88bb5..7a1b15dcaf 100644 --- a/crypto/test/src/asn1/test/IssuingDistributionPointTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/IssuingDistributionPointTest.cs @@ -116,7 +116,7 @@ private bool isEquiv(object o1, object o2) return o1.Equals(o2); } - public static void Main( + public void Main( string[] args) { RunTest(new IssuingDistributionPointUnitTest()); diff --git a/crypto/test/src/asn1/test/KeyUsageTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/KeyUsageTest.cs similarity index 97% rename from crypto/test/src/asn1/test/KeyUsageTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/KeyUsageTest.cs index d7ed3655d6..951cf9bcde 100644 --- a/crypto/test/src/asn1/test/KeyUsageTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/KeyUsageTest.cs @@ -32,7 +32,7 @@ public override void PerformTest() BitStringConstantTester.testFlagValueCorrect(8, KeyUsage.DecipherOnly); } - public static void Main( + public void Main( string[] args) { RunTest(new KeyUsageTest()); diff --git a/crypto/test/src/asn1/test/LDSSecurityObjectUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/LDSSecurityObjectUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/LDSSecurityObjectUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/LDSSecurityObjectUnitTest.cs index 914eda0b87..8e186c8ac2 100644 --- a/crypto/test/src/asn1/test/LDSSecurityObjectUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/LDSSecurityObjectUnitTest.cs @@ -192,7 +192,7 @@ private void CheckStatement( } } - public static void Main( + public void Main( string[] args) { RunTest(new LDSSecurityObjectUnitTest()); diff --git a/crypto/test/src/asn1/test/MiscTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MiscTest.cs similarity index 99% rename from crypto/test/src/asn1/test/MiscTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MiscTest.cs index 6b84119967..7b0ffec268 100644 --- a/crypto/test/src/asn1/test/MiscTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MiscTest.cs @@ -131,7 +131,7 @@ public override string Name get { return "Misc"; } } - public static void Main( + public void Main( string[] args) { RunTest(new MiscTest()); diff --git a/crypto/test/src/asn1/test/MonetaryLimitUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MonetaryLimitUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/MonetaryLimitUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MonetaryLimitUnitTest.cs index cdeb2eca59..998421fb8c 100644 --- a/crypto/test/src/asn1/test/MonetaryLimitUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MonetaryLimitUnitTest.cs @@ -76,7 +76,7 @@ private void checkValues( checkMandatoryField("exponent", exponent, limit.Exponent.IntValue); } - public static void Main( + public void Main( string[] args) { RunTest(new MonetaryLimitUnitTest()); diff --git a/crypto/test/src/asn1/test/MonetaryValueUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MonetaryValueUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/MonetaryValueUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MonetaryValueUnitTest.cs index c75d745056..71f5cd0db3 100644 --- a/crypto/test/src/asn1/test/MonetaryValueUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/MonetaryValueUnitTest.cs @@ -82,7 +82,7 @@ private void CheckValues( } } - public static void Main( + public void Main( string[] args) { RunTest(new MonetaryValueUnitTest()); diff --git a/crypto/test/src/asn1/test/NameOrPseudonymUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NameOrPseudonymUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/NameOrPseudonymUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NameOrPseudonymUnitTest.cs index 45f66613b9..0adda904e2 100644 --- a/crypto/test/src/asn1/test/NameOrPseudonymUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NameOrPseudonymUnitTest.cs @@ -97,7 +97,7 @@ private void checkValues( } } - public static void Main( + public void Main( string[] args) { RunTest(new NameOrPseudonymUnitTest()); diff --git a/crypto/test/src/asn1/test/NamingAuthorityUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NamingAuthorityUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/NamingAuthorityUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NamingAuthorityUnitTest.cs index 787b2c32d8..f4ea9ad6dc 100644 --- a/crypto/test/src/asn1/test/NamingAuthorityUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NamingAuthorityUnitTest.cs @@ -89,7 +89,7 @@ private void checkValues( checkOptionalField("namingAuthorityText", namingAuthorityText, auth.NamingAuthorityText); } - public static void Main( + public void Main( string[] args) { RunTest(new NamingAuthorityUnitTest()); diff --git a/crypto/test/src/asn1/test/NetscapeCertTypeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NetscapeCertTypeTest.cs similarity index 97% rename from crypto/test/src/asn1/test/NetscapeCertTypeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NetscapeCertTypeTest.cs index 8db5d990cc..05802ae803 100644 --- a/crypto/test/src/asn1/test/NetscapeCertTypeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/NetscapeCertTypeTest.cs @@ -28,7 +28,7 @@ public override void PerformTest() BitStringConstantTester.testFlagValueCorrect(7, NetscapeCertType.ObjectSigningCA); } - public static void Main( + public void Main( string[] args) { RunTest(new NetscapeCertTypeTest()); diff --git a/crypto/test/src/asn1/test/OCSPTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OCSPTest.cs similarity index 99% rename from crypto/test/src/asn1/test/OCSPTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OCSPTest.cs index 13f59d3d19..14eb31660a 100644 --- a/crypto/test/src/asn1/test/OCSPTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OCSPTest.cs @@ -163,7 +163,7 @@ public string Name get { return "Ocsp"; } } - public static void Main( + public void Main( string[] args) { ITest test = new OcspTest(); diff --git a/crypto/test/src/asn1/test/OIDTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OIDTest.cs similarity index 99% rename from crypto/test/src/asn1/test/OIDTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OIDTest.cs index b0782db04d..f7c82afc19 100644 --- a/crypto/test/src/asn1/test/OIDTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OIDTest.cs @@ -129,7 +129,7 @@ public override void PerformTest() onCheck("1.1", "1.1.2", true); } - public static void Main( + public void Main( string[] args) { ITest test = new OidTest(); diff --git a/crypto/test/src/asn1/test/OctetStringTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OctetStringTest.cs similarity index 100% rename from crypto/test/src/asn1/test/OctetStringTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OctetStringTest.cs diff --git a/crypto/test/src/asn1/test/OtherCertIDUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OtherCertIDUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/OtherCertIDUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OtherCertIDUnitTest.cs index a09c18e8ac..7b15f18ea4 100644 --- a/crypto/test/src/asn1/test/OtherCertIDUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OtherCertIDUnitTest.cs @@ -83,7 +83,7 @@ private void checkValues( checkOptionalField("issuerSerial", issuerSerial, certID.IssuerSerial); } - public static void Main( + public void Main( string[] args) { RunTest(new OtherCertIDUnitTest()); diff --git a/crypto/test/src/asn1/test/OtherSigningCertificateUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OtherSigningCertificateUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/OtherSigningCertificateUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OtherSigningCertificateUnitTest.cs index 4410d8e4cd..838d6dbc89 100644 --- a/crypto/test/src/asn1/test/OtherSigningCertificateUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/OtherSigningCertificateUnitTest.cs @@ -77,7 +77,7 @@ private void checkValues( checkMandatoryField("GetCerts()[0]", otherCertID, otherCert.GetCerts()[0]); } - public static void Main( + public void Main( string[] args) { RunTest(new OtherSigningCertificateUnitTest()); diff --git a/crypto/test/src/asn1/test/PKCS10Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKCS10Test.cs similarity index 98% rename from crypto/test/src/asn1/test/PKCS10Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKCS10Test.cs index 28736b8167..2c5c374a60 100644 --- a/crypto/test/src/asn1/test/PKCS10Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKCS10Test.cs @@ -75,7 +75,7 @@ public ITestResult Perform() return BasicPkcs10Test("Universal CR", req2); } - public static void Main( + public void Main( string[] args) { ITest test = new Pkcs10Test(); diff --git a/crypto/test/src/asn1/test/PKCS12Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKCS12Test.cs similarity index 99% rename from crypto/test/src/asn1/test/PKCS12Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKCS12Test.cs index c20fa8cc64..1273b509ae 100644 --- a/crypto/test/src/asn1/test/PKCS12Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKCS12Test.cs @@ -193,7 +193,7 @@ public override string Name get { return "Pkcs12"; } } - public static void Main( + public void Main( string[] args) { RunTest(new Pkcs12Test()); diff --git a/crypto/test/src/asn1/test/PKIFailureInfoTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKIFailureInfoTest.cs similarity index 99% rename from crypto/test/src/asn1/test/PKIFailureInfoTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKIFailureInfoTest.cs index 7d51dbb5f1..28c04536fc 100644 --- a/crypto/test/src/asn1/test/PKIFailureInfoTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PKIFailureInfoTest.cs @@ -72,7 +72,7 @@ public override void PerformTest() DoTestEncoding(); } - public static void Main( + public void Main( string[] args) { RunTest(new PkiFailureInfoTest()); diff --git a/crypto/test/src/asn1/test/ParseTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ParseTest.cs similarity index 100% rename from crypto/test/src/asn1/test/ParseTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ParseTest.cs diff --git a/crypto/test/src/asn1/test/ParsingTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ParsingTest.cs similarity index 99% rename from crypto/test/src/asn1/test/ParsingTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ParsingTest.cs index bb219e2fce..1ec433b508 100644 --- a/crypto/test/src/asn1/test/ParsingTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ParsingTest.cs @@ -95,7 +95,7 @@ private void inputStreamTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new ParsingTest()); diff --git a/crypto/test/src/asn1/test/PersonalDataUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PersonalDataUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/PersonalDataUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PersonalDataUnitTest.cs index f92e619cfb..0216bd79eb 100644 --- a/crypto/test/src/asn1/test/PersonalDataUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PersonalDataUnitTest.cs @@ -110,7 +110,7 @@ private void checkValues( checkOptionalField("postalAddress", postalAddress, data.PostalAddress); } - public static void Main( + public void Main( string[] args) { RunTest(new PersonalDataUnitTest()); diff --git a/crypto/test/src/asn1/test/PrivateKeyInfoTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PrivateKeyInfoTest.cs similarity index 97% rename from crypto/test/src/asn1/test/PrivateKeyInfoTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PrivateKeyInfoTest.cs index eb17a54c33..2f3d5f5d65 100644 --- a/crypto/test/src/asn1/test/PrivateKeyInfoTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/PrivateKeyInfoTest.cs @@ -44,7 +44,7 @@ public override void PerformTest() IsTrue("enc 2 failed", AreEqual(privWithPub, privInfo2.GetEncoded())); } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new PrivateKeyInfoTest()); } diff --git a/crypto/test/src/asn1/test/ProcurationSyntaxUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ProcurationSyntaxUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/ProcurationSyntaxUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ProcurationSyntaxUnitTest.cs index 97d0e3eee0..3b2642d2b4 100644 --- a/crypto/test/src/asn1/test/ProcurationSyntaxUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ProcurationSyntaxUnitTest.cs @@ -94,7 +94,7 @@ private void checkValues( checkOptionalField("certRef", certRef, procuration.CertRef); } - public static void Main( + public void Main( string[] args) { RunTest(new ProcurationSyntaxUnitTest()); diff --git a/crypto/test/src/asn1/test/ProfessionInfoUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ProfessionInfoUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/ProfessionInfoUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ProfessionInfoUnitTest.cs index 6af2658ef6..4ff6addc6e 100644 --- a/crypto/test/src/asn1/test/ProfessionInfoUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ProfessionInfoUnitTest.cs @@ -104,7 +104,7 @@ private void checkValues( checkOptionalField("addProfessionInfo", addProfInfo, profInfo.AddProfessionInfo); } - public static void Main( + public void Main( string[] args) { RunTest(new ProfessionInfoUnitTest()); diff --git a/crypto/test/src/asn1/test/QCStatementUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/QCStatementUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/QCStatementUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/QCStatementUnitTest.cs index 8d8ec9ec74..59b8155e5c 100644 --- a/crypto/test/src/asn1/test/QCStatementUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/QCStatementUnitTest.cs @@ -91,7 +91,7 @@ private void CheckStatement( } } - public static void Main( + public void Main( string[] args) { RunTest(new QCStatementUnitTest()); diff --git a/crypto/test/src/asn1/test/ReasonFlagsTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ReasonFlagsTest.cs similarity index 97% rename from crypto/test/src/asn1/test/ReasonFlagsTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ReasonFlagsTest.cs index ef404b3e16..412df41358 100644 --- a/crypto/test/src/asn1/test/ReasonFlagsTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/ReasonFlagsTest.cs @@ -29,7 +29,7 @@ public override void PerformTest() BitStringConstantTester.testFlagValueCorrect(8, ReasonFlags.AACompromise); } - public static void Main( + public void Main( string[] args) { RunTest(new ReasonFlagsTest()); diff --git a/crypto/test/src/asn1/test/RegressionTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RegressionTest.cs similarity index 98% rename from crypto/test/src/asn1/test/RegressionTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RegressionTest.cs index 4534f2c753..1a6bf509d0 100644 --- a/crypto/test/src/asn1/test/RegressionTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RegressionTest.cs @@ -74,7 +74,7 @@ public class RegressionTest new X9Test(), }; - public static void Main( + public void Main( string[] args) { for (int i = 0; i != tests.Length; i++) diff --git a/crypto/test/src/asn1/test/RequestedCertificateUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RequestedCertificateUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/RequestedCertificateUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RequestedCertificateUnitTest.cs index 767504173c..b72151159e 100644 --- a/crypto/test/src/asn1/test/RequestedCertificateUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RequestedCertificateUnitTest.cs @@ -100,7 +100,7 @@ private void checkValues( } } - public static void Main( + public void Main( string[] args) { RunTest(new RequestedCertificateUnitTest()); diff --git a/crypto/test/src/asn1/test/RestrictionUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RestrictionUnitTest.cs similarity index 98% rename from crypto/test/src/asn1/test/RestrictionUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RestrictionUnitTest.cs index 5dd6438cbd..08d6f09dbf 100644 --- a/crypto/test/src/asn1/test/RestrictionUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/RestrictionUnitTest.cs @@ -61,7 +61,7 @@ private void checkValues( checkMandatoryField("restriction", res, restriction.RestrictionString); } - public static void Main( + public void Main( string[] args) { RunTest(new RestrictionUnitTest()); diff --git a/crypto/test/src/asn1/test/SMIMETest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SMIMETest.cs similarity index 98% rename from crypto/test/src/asn1/test/SMIMETest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SMIMETest.cs index adb90e0935..f31da3c8c2 100644 --- a/crypto/test/src/asn1/test/SMIMETest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SMIMETest.cs @@ -70,7 +70,7 @@ public string Name get { return "SMIME"; } } - public static void Main( + public void Main( string[] args) { ITest test = new SmimeTest(); diff --git a/crypto/test/src/asn1/test/SemanticsInformationUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SemanticsInformationUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/SemanticsInformationUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SemanticsInformationUnitTest.cs index 8f1f85f192..95cba32883 100644 --- a/crypto/test/src/asn1/test/SemanticsInformationUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SemanticsInformationUnitTest.cs @@ -121,7 +121,7 @@ private void CheckStatement( } } - public static void Main( + public void Main( string[] args) { RunTest(new SemanticsInformationUnitTest()); diff --git a/crypto/test/src/asn1/test/SetTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SetTest.cs similarity index 98% rename from crypto/test/src/asn1/test/SetTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SetTest.cs index 57c46603d8..fb88563788 100644 --- a/crypto/test/src/asn1/test/SetTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SetTest.cs @@ -100,7 +100,7 @@ public override void PerformTest() s = new DerSet(v); } - public static void Main( + public void Main( string[] args) { RunTest(new SetTest()); diff --git a/crypto/test/src/asn1/test/SignerLocationUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SignerLocationUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/SignerLocationUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SignerLocationUnitTest.cs index 650e2fcfd2..e0b0e5064b 100644 --- a/crypto/test/src/asn1/test/SignerLocationUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SignerLocationUnitTest.cs @@ -178,7 +178,7 @@ private void CheckValues( } } - public static void Main( + public void Main( string[] args) { RunTest(new SignerLocationUnitTest()); diff --git a/crypto/test/src/asn1/test/StringTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/StringTest.cs similarity index 98% rename from crypto/test/src/asn1/test/StringTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/StringTest.cs index acfd380b20..b17e8be3b5 100644 --- a/crypto/test/src/asn1/test/StringTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/StringTest.cs @@ -88,7 +88,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new StringTest()); diff --git a/crypto/test/src/asn1/test/SubjectKeyIdentifierTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SubjectKeyIdentifierTest.cs similarity index 98% rename from crypto/test/src/asn1/test/SubjectKeyIdentifierTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SubjectKeyIdentifierTest.cs index 127c47a3a7..d5e14264f3 100644 --- a/crypto/test/src/asn1/test/SubjectKeyIdentifierTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/SubjectKeyIdentifierTest.cs @@ -44,7 +44,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new SubjectKeyIdentifierTest()); diff --git a/crypto/test/src/asn1/test/TagTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TagTest.cs similarity index 98% rename from crypto/test/src/asn1/test/TagTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TagTest.cs index 80ca2c0eac..3aaf01e920 100644 --- a/crypto/test/src/asn1/test/TagTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TagTest.cs @@ -102,7 +102,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new TagTest()); diff --git a/crypto/test/src/asn1/test/TargetInformationTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TargetInformationTest.cs similarity index 98% rename from crypto/test/src/asn1/test/TargetInformationTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TargetInformationTest.cs index 7fa04cd013..1b3a978cf9 100644 --- a/crypto/test/src/asn1/test/TargetInformationTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TargetInformationTest.cs @@ -41,7 +41,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new TargetInformationTest()); diff --git a/crypto/test/src/asn1/test/TimeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TimeTest.cs similarity index 100% rename from crypto/test/src/asn1/test/TimeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TimeTest.cs diff --git a/crypto/test/src/asn1/test/TypeOfBiometricDataUnitTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TypeOfBiometricDataUnitTest.cs similarity index 99% rename from crypto/test/src/asn1/test/TypeOfBiometricDataUnitTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TypeOfBiometricDataUnitTest.cs index a59415c31d..bf67a11add 100644 --- a/crypto/test/src/asn1/test/TypeOfBiometricDataUnitTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/TypeOfBiometricDataUnitTest.cs @@ -135,7 +135,7 @@ private void CheckNonPredefined( } } - public static void Main( + public void Main( string[] args) { RunTest(new TypeOfBiometricDataUnitTest()); diff --git a/crypto/test/src/asn1/test/UTCTimeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/UTCTimeTest.cs similarity index 98% rename from crypto/test/src/asn1/test/UTCTimeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/UTCTimeTest.cs index 07abbc9118..1db7de116f 100644 --- a/crypto/test/src/asn1/test/UTCTimeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/UTCTimeTest.cs @@ -105,7 +105,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new UtcTimeTest()); diff --git a/crypto/test/src/asn1/test/X509ExtensionsTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X509ExtensionsTest.cs similarity index 98% rename from crypto/test/src/asn1/test/X509ExtensionsTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X509ExtensionsTest.cs index f1efd3a9b8..c8098a6178 100644 --- a/crypto/test/src/asn1/test/X509ExtensionsTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X509ExtensionsTest.cs @@ -100,7 +100,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new X509ExtensionsTest()); diff --git a/crypto/test/src/asn1/test/X509NameTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X509NameTest.cs similarity index 99% rename from crypto/test/src/asn1/test/X509NameTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X509NameTest.cs index 9a564f72f2..b2c51aaaf2 100644 --- a/crypto/test/src/asn1/test/X509NameTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X509NameTest.cs @@ -654,7 +654,7 @@ private bool CompareVectors( return true; } - public static void Main( + public void Main( string[] args) { ITest test = new X509NameTest(); diff --git a/crypto/test/src/asn1/test/X9Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X9Test.cs similarity index 99% rename from crypto/test/src/asn1/test/X9Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X9Test.cs index db2541f7c8..b6746af8f1 100644 --- a/crypto/test/src/asn1/test/X9Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/asn1/test/X9Test.cs @@ -155,7 +155,7 @@ public override string Name get { return "X9"; } } - public static void Main( + public void Main( string[] args) { RunTest(new X9Test()); diff --git a/crypto/test/src/cms/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/AllTests.cs similarity index 94% rename from crypto/test/src/cms/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/AllTests.cs index b473749142..4781d19cdf 100644 --- a/crypto/test/src/cms/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/AllTests.cs @@ -10,7 +10,7 @@ namespace Org.BouncyCastle.Cms.Tests { public class AllTests { - public static void Main(string[] args) + public void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/cms/test/AuthenticatedDataStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/AuthenticatedDataStreamTest.cs similarity index 100% rename from crypto/test/src/cms/test/AuthenticatedDataStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/AuthenticatedDataStreamTest.cs diff --git a/crypto/test/src/cms/test/AuthenticatedDataTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/AuthenticatedDataTest.cs similarity index 99% rename from crypto/test/src/cms/test/AuthenticatedDataTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/AuthenticatedDataTest.cs index 0ad34a95b9..c2ff4dd755 100644 --- a/crypto/test/src/cms/test/AuthenticatedDataTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/AuthenticatedDataTest.cs @@ -124,7 +124,7 @@ private static X509Certificate ReciECCert // super(name); // } // -// public static void main(string args[]) +// public void Main(string args[]) // { // junit.textui.TestRunner.run(AuthenticatedDataTest.class); // } diff --git a/crypto/test/src/cms/test/CMSSampleMessages.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/CMSSampleMessages.cs similarity index 100% rename from crypto/test/src/cms/test/CMSSampleMessages.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/CMSSampleMessages.cs diff --git a/crypto/test/src/cms/test/CMSTestUtil.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/CMSTestUtil.cs similarity index 100% rename from crypto/test/src/cms/test/CMSTestUtil.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/CMSTestUtil.cs diff --git a/crypto/test/src/cms/test/CompressedDataStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/CompressedDataStreamTest.cs similarity index 100% rename from crypto/test/src/cms/test/CompressedDataStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/CompressedDataStreamTest.cs diff --git a/crypto/test/src/cms/test/CompressedDataTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/CompressedDataTest.cs similarity index 100% rename from crypto/test/src/cms/test/CompressedDataTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/CompressedDataTest.cs diff --git a/crypto/test/src/cms/test/EnvelopedDataStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/EnvelopedDataStreamTest.cs similarity index 100% rename from crypto/test/src/cms/test/EnvelopedDataStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/EnvelopedDataStreamTest.cs diff --git a/crypto/test/src/cms/test/EnvelopedDataTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/EnvelopedDataTest.cs similarity index 100% rename from crypto/test/src/cms/test/EnvelopedDataTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/EnvelopedDataTest.cs diff --git a/crypto/test/src/cms/test/MiscDataStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/MiscDataStreamTest.cs similarity index 100% rename from crypto/test/src/cms/test/MiscDataStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/MiscDataStreamTest.cs diff --git a/crypto/test/src/cms/test/Rfc4134Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/Rfc4134Test.cs similarity index 100% rename from crypto/test/src/cms/test/Rfc4134Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/Rfc4134Test.cs diff --git a/crypto/test/src/cms/test/SignedDataStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/SignedDataStreamTest.cs similarity index 100% rename from crypto/test/src/cms/test/SignedDataStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/SignedDataStreamTest.cs diff --git a/crypto/test/src/cms/test/SignedDataTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/cms/test/SignedDataTest.cs similarity index 100% rename from crypto/test/src/cms/test/SignedDataTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/cms/test/SignedDataTest.cs diff --git a/crypto/test/src/crypto/agreement/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/AllTests.cs similarity index 93% rename from crypto/test/src/crypto/agreement/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/AllTests.cs index 66853b2850..6d1358650b 100644 --- a/crypto/test/src/crypto/agreement/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/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 void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/crypto/agreement/test/JPakeParticipantTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakeParticipantTest.cs similarity index 99% rename from crypto/test/src/crypto/agreement/test/JPakeParticipantTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakeParticipantTest.cs index c84264aa54..fb402f9ca4 100644 --- a/crypto/test/src/crypto/agreement/test/JPakeParticipantTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakeParticipantTest.cs @@ -29,7 +29,7 @@ public override string Name get { return "JPakeParticipant"; } } - public static void Main( + public void Main( string[] args) { RunTest(new JPakeParticipantTest()); diff --git a/crypto/test/src/crypto/agreement/test/JPakePrimeOrderGroupTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakePrimeOrderGroupTest.cs similarity index 98% rename from crypto/test/src/crypto/agreement/test/JPakePrimeOrderGroupTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakePrimeOrderGroupTest.cs index 0f089f93cc..a255edf367 100644 --- a/crypto/test/src/crypto/agreement/test/JPakePrimeOrderGroupTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakePrimeOrderGroupTest.cs @@ -22,7 +22,7 @@ public override string Name get { return "JPakePrimeOrderGroup"; } } - public static void Main( + public void Main( string[] args) { RunTest(new JPakePrimeOrderGroupTest()); diff --git a/crypto/test/src/crypto/agreement/test/JPakeUtilitiesTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakeUtilitiesTest.cs similarity index 99% rename from crypto/test/src/crypto/agreement/test/JPakeUtilitiesTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakeUtilitiesTest.cs index 04a52cc061..d64bc395bd 100644 --- a/crypto/test/src/crypto/agreement/test/JPakeUtilitiesTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/agreement/test/JPakeUtilitiesTest.cs @@ -32,7 +32,7 @@ public override string Name get { return "JPakeUtilities"; } } - public static void Main( + public void Main( string[] args) { RunTest(new JPakeUtilitiesTest()); diff --git a/crypto/test/src/crypto/examples/DESExample.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/examples/DESExample.cs similarity index 100% rename from crypto/test/src/crypto/examples/DESExample.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/examples/DESExample.cs diff --git a/crypto/test/src/crypto/io/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/io/test/AllTests.cs similarity index 90% rename from crypto/test/src/crypto/io/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/io/test/AllTests.cs index 2634b4ab17..db67bae207 100644 --- a/crypto/test/src/crypto/io/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/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 void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/crypto/io/test/CipherStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/io/test/CipherStreamTest.cs similarity index 100% rename from crypto/test/src/crypto/io/test/CipherStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/io/test/CipherStreamTest.cs diff --git a/crypto/test/src/crypto/prng/test/CtrDrbgTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/CtrDrbgTest.cs similarity index 99% rename from crypto/test/src/crypto/prng/test/CtrDrbgTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/CtrDrbgTest.cs index 4dc09f4e8a..4f44de31e3 100644 --- a/crypto/test/src/crypto/prng/test/CtrDrbgTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/CtrDrbgTest.cs @@ -23,7 +23,7 @@ public override string Name get { return "CTRDRBGTest"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new CtrDrbgTest()); } diff --git a/crypto/test/src/crypto/prng/test/DrbgTestVector.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/DrbgTestVector.cs similarity index 100% rename from crypto/test/src/crypto/prng/test/DrbgTestVector.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/DrbgTestVector.cs diff --git a/crypto/test/src/crypto/prng/test/HMacDrbgTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/HMacDrbgTest.cs similarity index 99% rename from crypto/test/src/crypto/prng/test/HMacDrbgTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/HMacDrbgTest.cs index a5ca308362..edc78c3576 100644 --- a/crypto/test/src/crypto/prng/test/HMacDrbgTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/HMacDrbgTest.cs @@ -22,7 +22,7 @@ public override string Name get { return "HMacDRBG"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new HMacDrbgTest()); } diff --git a/crypto/test/src/crypto/prng/test/HashDrbgTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/HashDrbgTest.cs similarity index 99% rename from crypto/test/src/crypto/prng/test/HashDrbgTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/HashDrbgTest.cs index 892ca74da3..fab2656f70 100644 --- a/crypto/test/src/crypto/prng/test/HashDrbgTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/HashDrbgTest.cs @@ -21,7 +21,7 @@ public override string Name get { return "HashDRBG"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new HashDrbgTest()); } diff --git a/crypto/test/src/crypto/prng/test/TestEntropySourceProvider.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/TestEntropySourceProvider.cs similarity index 100% rename from crypto/test/src/crypto/prng/test/TestEntropySourceProvider.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/TestEntropySourceProvider.cs diff --git a/crypto/test/src/crypto/prng/test/X931Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/X931Test.cs similarity index 98% rename from crypto/test/src/crypto/prng/test/X931Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/X931Test.cs index 1132ea34a1..a9c20a82df 100644 --- a/crypto/test/src/crypto/prng/test/X931Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/X931Test.cs @@ -23,7 +23,7 @@ public override string Name get { return "X931"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new X931Test()); } diff --git a/crypto/test/src/crypto/prng/test/X931TestVector.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/X931TestVector.cs similarity index 100% rename from crypto/test/src/crypto/prng/test/X931TestVector.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/prng/test/X931TestVector.cs diff --git a/crypto/test/src/crypto/test/AESFastTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESFastTest.cs similarity index 99% rename from crypto/test/src/crypto/test/AESFastTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESFastTest.cs index 5513a0e78f..441b54b38e 100644 --- a/crypto/test/src/crypto/test/AESFastTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESFastTest.cs @@ -148,7 +148,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { AesFastTest test = new AesFastTest(); diff --git a/crypto/test/src/crypto/test/AESLightTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESLightTest.cs similarity index 99% rename from crypto/test/src/crypto/test/AESLightTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESLightTest.cs index 0b5777ba13..c4de313e80 100644 --- a/crypto/test/src/crypto/test/AESLightTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESLightTest.cs @@ -148,7 +148,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { AesLightTest test = new AesLightTest(); diff --git a/crypto/test/src/crypto/test/AESTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESTest.cs similarity index 99% rename from crypto/test/src/crypto/test/AESTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESTest.cs index 7b8fc34cf8..a741821b1b 100644 --- a/crypto/test/src/crypto/test/AESTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESTest.cs @@ -158,7 +158,7 @@ public override ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { AesTest test = new AesTest(); diff --git a/crypto/test/src/crypto/test/AESWrapTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESWrapTest.cs similarity index 99% rename from crypto/test/src/crypto/test/AESWrapTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESWrapTest.cs index 11b46098e1..ca806beab7 100644 --- a/crypto/test/src/crypto/test/AESWrapTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AESWrapTest.cs @@ -194,7 +194,7 @@ public ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { AesWrapTest test = new AesWrapTest(); diff --git a/crypto/test/src/crypto/test/AeadTestUtilities.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AeadTestUtilities.cs similarity index 100% rename from crypto/test/src/crypto/test/AeadTestUtilities.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AeadTestUtilities.cs diff --git a/crypto/test/src/crypto/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AllTests.cs similarity index 94% rename from crypto/test/src/crypto/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/AllTests.cs index e7035a6635..71f9293f80 100644 --- a/crypto/test/src/crypto/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/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 void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/crypto/test/BCryptTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BCryptTest.cs similarity index 99% rename from crypto/test/src/crypto/test/BCryptTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BCryptTest.cs index 42d925f803..b996367e43 100644 --- a/crypto/test/src/crypto/test/BCryptTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BCryptTest.cs @@ -147,7 +147,7 @@ private void DoTest(byte[] password, byte[] salt, int cost, byte[] expected) } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new BCryptTest()); } diff --git a/crypto/test/src/crypto/test/Blake2bDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Blake2bDigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/Blake2bDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Blake2bDigestTest.cs index c9dbfc9d5f..376bb10c18 100644 --- a/crypto/test/src/crypto/test/Blake2bDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Blake2bDigestTest.cs @@ -309,7 +309,7 @@ private void ResetTest() } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new Blake2bDigestTest()); } diff --git a/crypto/test/src/crypto/test/Blake2sDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Blake2sDigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/Blake2sDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Blake2sDigestTest.cs index cb075807cf..b1cd5511dd 100644 --- a/crypto/test/src/crypto/test/Blake2sDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Blake2sDigestTest.cs @@ -295,7 +295,7 @@ public override void PerformTest() DoTestLengthConstruction(); } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new Blake2sDigestTest()); } diff --git a/crypto/test/src/crypto/test/BlockCipherMonteCarloTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BlockCipherMonteCarloTest.cs similarity index 100% rename from crypto/test/src/crypto/test/BlockCipherMonteCarloTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BlockCipherMonteCarloTest.cs diff --git a/crypto/test/src/crypto/test/BlockCipherVectorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BlockCipherVectorTest.cs similarity index 100% rename from crypto/test/src/crypto/test/BlockCipherVectorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BlockCipherVectorTest.cs diff --git a/crypto/test/src/crypto/test/BlowfishTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BlowfishTest.cs similarity index 98% rename from crypto/test/src/crypto/test/BlowfishTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BlowfishTest.cs index 780dd3abd1..5dcb75e407 100644 --- a/crypto/test/src/crypto/test/BlowfishTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/BlowfishTest.cs @@ -43,7 +43,7 @@ public void TestFunction() Assert.AreEqual(Name + ": Okay", resultText); } - public static void Main( + public void Main( string[] args) { ITest test = new BlowfishTest(); diff --git a/crypto/test/src/crypto/test/CAST6Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CAST6Test.cs similarity index 98% rename from crypto/test/src/crypto/test/CAST6Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CAST6Test.cs index 7517b67373..d5e59fc8b3 100644 --- a/crypto/test/src/crypto/test/CAST6Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CAST6Test.cs @@ -39,7 +39,7 @@ public Cast6Test() { } - public static void Main( + public void Main( string[] args) { ITest test = new Cast6Test(); diff --git a/crypto/test/src/crypto/test/CCMTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CCMTest.cs similarity index 99% rename from crypto/test/src/crypto/test/CCMTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CCMTest.cs index cf5f31f4f4..8b14b2b502 100644 --- a/crypto/test/src/crypto/test/CCMTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CCMTest.cs @@ -303,7 +303,7 @@ public void TestFunction() Assert.AreEqual(Name + ": Okay", resultText); } - public static void Main( + public void Main( string[] args) { RunTest(new CcmTest()); diff --git a/crypto/test/src/crypto/test/CMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/CMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CMacTest.cs index 23ae7cb88b..6ff6a8686c 100644 --- a/crypto/test/src/crypto/test/CMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CMacTest.cs @@ -285,7 +285,7 @@ public override string Name get { return "CMac"; } } - public static void Main( + public void Main( string[] args) { RunTest(new CMacTest()); diff --git a/crypto/test/src/crypto/test/CTSTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CTSTest.cs similarity index 99% rename from crypto/test/src/crypto/test/CTSTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CTSTest.cs index 9d001bc684..d190323747 100644 --- a/crypto/test/src/crypto/test/CTSTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CTSTest.cs @@ -163,7 +163,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { CTSTest test = new CTSTest(); diff --git a/crypto/test/src/crypto/test/CamelliaLightTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CamelliaLightTest.cs similarity index 98% rename from crypto/test/src/crypto/test/CamelliaLightTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CamelliaLightTest.cs index 2247178f21..78676aad02 100644 --- a/crypto/test/src/crypto/test/CamelliaLightTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CamelliaLightTest.cs @@ -71,7 +71,7 @@ public void TestFunction() Assert.AreEqual(Name + ": Okay", resultText); } - public static void Main( + public void Main( string[] args) { RunTest(new CamelliaLightTest()); diff --git a/crypto/test/src/crypto/test/CamelliaTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CamelliaTest.cs similarity index 98% rename from crypto/test/src/crypto/test/CamelliaTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CamelliaTest.cs index a134546b70..1b0f10b7a1 100644 --- a/crypto/test/src/crypto/test/CamelliaTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CamelliaTest.cs @@ -71,7 +71,7 @@ public void TestFunction() Assert.AreEqual(Name + ": Okay", resultText); } - public static void Main( + public void Main( string[] args) { RunTest(new CamelliaTest()); diff --git a/crypto/test/src/crypto/test/Cast5Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Cast5Test.cs similarity index 97% rename from crypto/test/src/crypto/test/Cast5Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Cast5Test.cs index ea2e0c5408..f559c77768 100644 --- a/crypto/test/src/crypto/test/Cast5Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Cast5Test.cs @@ -29,7 +29,7 @@ public Cast5Test() { } - public static void Main( + public void Main( string[] args) { ITest test = new Cast5Test(); diff --git a/crypto/test/src/crypto/test/ChaChaTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ChaChaTest.cs similarity index 99% rename from crypto/test/src/crypto/test/ChaChaTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ChaChaTest.cs index 0b394c91ed..4510a13ce8 100644 --- a/crypto/test/src/crypto/test/ChaChaTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ChaChaTest.cs @@ -302,7 +302,7 @@ private void reinitBug() } } - public static void Main( + public void Main( string[] args) { RunTest(new ChaChaTest()); diff --git a/crypto/test/src/crypto/test/CipherTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CipherTest.cs similarity index 100% rename from crypto/test/src/crypto/test/CipherTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/CipherTest.cs diff --git a/crypto/test/src/crypto/test/DESTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DESTest.cs similarity index 99% rename from crypto/test/src/crypto/test/DESTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DESTest.cs index cf1022eae9..9539b46662 100644 --- a/crypto/test/src/crypto/test/DESTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DESTest.cs @@ -197,7 +197,7 @@ public override string Name get { return "DES"; } } - public static void Main( + public void Main( string[] args) { RunTest(new DesTest()); diff --git a/crypto/test/src/crypto/test/DESedeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DESedeTest.cs similarity index 99% rename from crypto/test/src/crypto/test/DESedeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DESedeTest.cs index aa61844f2b..8294d72dd3 100644 --- a/crypto/test/src/crypto/test/DESedeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DESedeTest.cs @@ -170,7 +170,7 @@ public override string Name get { return "DESede"; } } - public static void Main( + public void Main( string[] args) { RunTest(new DesEdeTest()); diff --git a/crypto/test/src/crypto/test/DHKEKGeneratorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DHKEKGeneratorTest.cs similarity index 98% rename from crypto/test/src/crypto/test/DHKEKGeneratorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DHKEKGeneratorTest.cs index eee408f97c..7556e91679 100644 --- a/crypto/test/src/crypto/test/DHKEKGeneratorTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DHKEKGeneratorTest.cs @@ -62,7 +62,7 @@ public override string Name get { return "DHKekGenerator"; } } - public static void Main( + public void Main( string[] args) { RunTest(new DHKekGeneratorTest()); diff --git a/crypto/test/src/crypto/test/DHTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DHTest.cs similarity index 99% rename from crypto/test/src/crypto/test/DHTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DHTest.cs index b460f41a54..3835112986 100644 --- a/crypto/test/src/crypto/test/DHTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DHTest.cs @@ -383,7 +383,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { ITest test = new DHTest(); diff --git a/crypto/test/src/crypto/test/DSATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSATest.cs similarity index 99% rename from crypto/test/src/crypto/test/DSATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSATest.cs index 0e6367150b..a0be617e84 100644 --- a/crypto/test/src/crypto/test/DSATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSATest.cs @@ -574,7 +574,7 @@ private void Dsa2Test4() } } - public static void Main( + public void Main( string[] args) { RunTest(new DsaTest()); diff --git a/crypto/test/src/crypto/test/DSTU7564Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSTU7564Test.cs similarity index 99% rename from crypto/test/src/crypto/test/DSTU7564Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSTU7564Test.cs index 805d3c8ab5..0cdf074365 100644 --- a/crypto/test/src/crypto/test/DSTU7564Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSTU7564Test.cs @@ -614,7 +614,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Dstu7564Digest((Dstu7564Digest)digest); } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new Dstu7564Test()); } diff --git a/crypto/test/src/crypto/test/DSTU7624Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSTU7624Test.cs similarity index 99% rename from crypto/test/src/crypto/test/DSTU7624Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSTU7624Test.cs index 234474db6f..730f965724 100644 --- a/crypto/test/src/crypto/test/DSTU7624Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DSTU7624Test.cs @@ -723,7 +723,7 @@ public override string Name get { return "Dstu7624"; } } - public static void Main( + public void Main( string[] args) { Dstu7624Test test = new Dstu7624Test(); diff --git a/crypto/test/src/crypto/test/DeterministicDSATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DeterministicDSATest.cs similarity index 99% rename from crypto/test/src/crypto/test/DeterministicDSATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DeterministicDSATest.cs index 914a770bd5..a62b33dfc8 100644 --- a/crypto/test/src/crypto/test/DeterministicDSATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DeterministicDSATest.cs @@ -494,7 +494,7 @@ public override void PerformTest() TestECHMacDeterministic(); } - public static void Main( + public void Main( string[] args) { RunTest(new DeterministicDsaTest()); diff --git a/crypto/test/src/crypto/test/DigestRandomNumberTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DigestRandomNumberTest.cs similarity index 99% rename from crypto/test/src/crypto/test/DigestRandomNumberTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DigestRandomNumberTest.cs index cee2e354e2..c8b2a10c72 100644 --- a/crypto/test/src/crypto/test/DigestRandomNumberTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DigestRandomNumberTest.cs @@ -154,7 +154,7 @@ public void TestFunction() Assert.AreEqual(Name + ": Okay", resultText); } - public static void Main( + public void Main( string[] args) { RunTest(new DigestRandomNumberTest()); diff --git a/crypto/test/src/crypto/test/DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DigestTest.cs similarity index 100% rename from crypto/test/src/crypto/test/DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/DigestTest.cs diff --git a/crypto/test/src/crypto/test/EAXTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/EAXTest.cs similarity index 99% rename from crypto/test/src/crypto/test/EAXTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/EAXTest.cs index 838f26a1b4..88f461d5c8 100644 --- a/crypto/test/src/crypto/test/EAXTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/EAXTest.cs @@ -335,7 +335,7 @@ private void randomTest( } } - public static void Main( + public void Main( string[] args) { RunTest(new EaxTest()); diff --git a/crypto/test/src/crypto/test/ECDHKEKGeneratorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECDHKEKGeneratorTest.cs similarity index 98% rename from crypto/test/src/crypto/test/ECDHKEKGeneratorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECDHKEKGeneratorTest.cs index 250b2ca223..a73b233ff9 100644 --- a/crypto/test/src/crypto/test/ECDHKEKGeneratorTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECDHKEKGeneratorTest.cs @@ -63,7 +63,7 @@ public override string Name get { return "ECDHKekGenerator"; } } - public static void Main( + public void Main( string[] args) { RunTest(new ECDHKekGeneratorTest()); diff --git a/crypto/test/src/crypto/test/ECGOST3410Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECGOST3410Test.cs similarity index 99% rename from crypto/test/src/crypto/test/ECGOST3410Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECGOST3410Test.cs index 4c938378a6..9b86a95e2c 100644 --- a/crypto/test/src/crypto/test/ECGOST3410Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECGOST3410Test.cs @@ -325,7 +325,7 @@ public override void PerformTest() ecGOST3410_CParam(); } - public static void Main( + public void Main( string[] args) { ECGost3410Test test = new ECGost3410Test(); diff --git a/crypto/test/src/crypto/test/ECIESTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECIESTest.cs similarity index 99% rename from crypto/test/src/crypto/test/ECIESTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECIESTest.cs index 1e2e8f7116..3cf4c768eb 100644 --- a/crypto/test/src/crypto/test/ECIESTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECIESTest.cs @@ -235,7 +235,7 @@ public override void PerformTest() DoTest(p1, p2); } - public static void Main( + public void Main( string[] args) { RunTest(new EcIesTest()); diff --git a/crypto/test/src/crypto/test/ECNRTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECNRTest.cs similarity index 99% rename from crypto/test/src/crypto/test/ECNRTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECNRTest.cs index 1ab67546c9..7bee15c78b 100644 --- a/crypto/test/src/crypto/test/ECNRTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECNRTest.cs @@ -98,7 +98,7 @@ public override void PerformTest() ecNR239bitPrime(); } - public static void Main( + public void Main( string[] args) { EcNrTest test = new EcNrTest(); diff --git a/crypto/test/src/crypto/test/ECTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECTest.cs similarity index 99% rename from crypto/test/src/crypto/test/ECTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECTest.cs index 7dc847ebec..a6b0777e2b 100644 --- a/crypto/test/src/crypto/test/ECTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ECTest.cs @@ -950,7 +950,7 @@ public override void PerformTest() TestECMqvRandom(); } - public static void Main( + public void Main( string[] args) { RunTest(new ECTest()); diff --git a/crypto/test/src/crypto/test/Ed25519Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Ed25519Test.cs similarity index 98% rename from crypto/test/src/crypto/test/Ed25519Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Ed25519Test.cs index 82e36d9916..15d56ac92e 100644 --- a/crypto/test/src/crypto/test/Ed25519Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Ed25519Test.cs @@ -22,7 +22,7 @@ public override string Name get { return "Ed25519"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new Ed25519Test()); } diff --git a/crypto/test/src/crypto/test/Ed448Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Ed448Test.cs similarity index 98% rename from crypto/test/src/crypto/test/Ed448Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Ed448Test.cs index b035f554e5..102328293b 100644 --- a/crypto/test/src/crypto/test/Ed448Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Ed448Test.cs @@ -22,7 +22,7 @@ public override string Name get { return "Ed448"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new Ed448Test()); } diff --git a/crypto/test/src/crypto/test/ElGamalTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ElGamalTest.cs similarity index 99% rename from crypto/test/src/crypto/test/ElGamalTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ElGamalTest.cs index 1caa703872..0fcad23497 100644 --- a/crypto/test/src/crypto/test/ElGamalTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ElGamalTest.cs @@ -269,7 +269,7 @@ public override void PerformTest() TestInitCheck(); } - public static void Main( + public void Main( string[] args) { RunTest(new ElGamalTest()); diff --git a/crypto/test/src/crypto/test/EqualsHashCodeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/EqualsHashCodeTest.cs similarity index 99% rename from crypto/test/src/crypto/test/EqualsHashCodeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/EqualsHashCodeTest.cs index 05cc9ad538..5e4d59ee56 100644 --- a/crypto/test/src/crypto/test/EqualsHashCodeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/EqualsHashCodeTest.cs @@ -253,7 +253,7 @@ public override void PerformTest() TestDsa(); } - public static void Main( + public void Main( string[] args) { RunTest(new EqualsHashCodeTest()); diff --git a/crypto/test/src/crypto/test/GCMTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GCMTest.cs similarity index 99% rename from crypto/test/src/crypto/test/GCMTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GCMTest.cs index e5e5fc43ec..8382bb74c9 100644 --- a/crypto/test/src/crypto/test/GCMTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GCMTest.cs @@ -728,7 +728,7 @@ private static int NextInt(SecureRandom rand, int n) return value; } - public static void Main( + public void Main( string[] args) { RunTest(new GcmTest()); diff --git a/crypto/test/src/crypto/test/GMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/GMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GMacTest.cs index 0b37e1a034..ab9520658e 100644 --- a/crypto/test/src/crypto/test/GMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GMacTest.cs @@ -174,7 +174,7 @@ public override string Name get { return "GMac"; } } - public static void Main( + public void Main( string[] args) { RunTest(new GMacTest()); diff --git a/crypto/test/src/crypto/test/GOST28147MacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST28147MacTest.cs similarity index 98% rename from crypto/test/src/crypto/test/GOST28147MacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST28147MacTest.cs index 5f3188f48f..600fd7dd26 100644 --- a/crypto/test/src/crypto/test/GOST28147MacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST28147MacTest.cs @@ -85,7 +85,7 @@ public string Name get { return "Gost28147Mac"; } } - public static void Main( + public void Main( string[] args) { ITest test = new Gost28147MacTest(); diff --git a/crypto/test/src/crypto/test/GOST28147Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST28147Test.cs similarity index 99% rename from crypto/test/src/crypto/test/GOST28147Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST28147Test.cs index 865dcc2a76..64e65a3885 100644 --- a/crypto/test/src/crypto/test/GOST28147Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST28147Test.cs @@ -357,7 +357,7 @@ public override string Name get { return "Gost28147"; } } - public static void Main( + public void Main( string[] args) { ITest test = new Gost28147Test(); diff --git a/crypto/test/src/crypto/test/GOST3410Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3410Test.cs similarity index 99% rename from crypto/test/src/crypto/test/GOST3410Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3410Test.cs index f54662770b..e81ef8d79b 100644 --- a/crypto/test/src/crypto/test/GOST3410Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3410Test.cs @@ -1584,7 +1584,7 @@ public ITestResult Perform() return new SimpleTestResult(true, "Gost3410: Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new Gost3410Test(); diff --git a/crypto/test/src/crypto/test/GOST3411DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3411DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/GOST3411DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3411DigestTest.cs index 329a158d61..1680f316fc 100644 --- a/crypto/test/src/crypto/test/GOST3411DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3411DigestTest.cs @@ -75,7 +75,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Gost3411Digest((Gost3411Digest)digest); } - public static void Main( + public void Main( string[] args) { ITest test = new Gost3411DigestTest(); diff --git a/crypto/test/src/crypto/test/GOST3411_2012_256DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3411_2012_256DigestTest.cs similarity index 100% rename from crypto/test/src/crypto/test/GOST3411_2012_256DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3411_2012_256DigestTest.cs diff --git a/crypto/test/src/crypto/test/GOST3411_2012_512DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3411_2012_512DigestTest.cs similarity index 100% rename from crypto/test/src/crypto/test/GOST3411_2012_512DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GOST3411_2012_512DigestTest.cs diff --git a/crypto/test/src/crypto/test/GcmReorderTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GcmReorderTest.cs similarity index 100% rename from crypto/test/src/crypto/test/GcmReorderTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/GcmReorderTest.cs diff --git a/crypto/test/src/crypto/test/HCFamilyTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HCFamilyTest.cs similarity index 99% rename from crypto/test/src/crypto/test/HCFamilyTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HCFamilyTest.cs index 0904bc9eb0..c5a1f5fc9c 100644 --- a/crypto/test/src/crypto/test/HCFamilyTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HCFamilyTest.cs @@ -184,7 +184,7 @@ private void HCTest(IStreamCipher hc, string test, byte[] key, byte[] IV, byte[] } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new HCFamilyTest()); } diff --git a/crypto/test/src/crypto/test/HCFamilyVecTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HCFamilyVecTest.cs similarity index 99% rename from crypto/test/src/crypto/test/HCFamilyVecTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HCFamilyVecTest.cs index 00b0ee75c4..91648f7bed 100644 --- a/crypto/test/src/crypto/test/HCFamilyVecTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HCFamilyVecTest.cs @@ -168,7 +168,7 @@ private static void xor(byte[] digest, byte[] block) } } - public static void Main( + public void Main( string[] args) { RunTest(new HCFamilyVecTest()); diff --git a/crypto/test/src/crypto/test/HKDFGeneratorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HKDFGeneratorTest.cs similarity index 99% rename from crypto/test/src/crypto/test/HKDFGeneratorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HKDFGeneratorTest.cs index d6e2149df3..2057748413 100644 --- a/crypto/test/src/crypto/test/HKDFGeneratorTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/HKDFGeneratorTest.cs @@ -294,7 +294,7 @@ public override string Name get { return "HKDF"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new HkdfGeneratorTest()); } diff --git a/crypto/test/src/crypto/test/IDEATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/IDEATest.cs similarity index 97% rename from crypto/test/src/crypto/test/IDEATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/IDEATest.cs index fbbd1ae17e..aa7df9f7b1 100644 --- a/crypto/test/src/crypto/test/IDEATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/IDEATest.cs @@ -35,7 +35,7 @@ public IdeaTest() { } - public static void Main( + public void Main( string[] args) { ITest test = new IdeaTest(); diff --git a/crypto/test/src/crypto/test/ISAACTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISAACTest.cs similarity index 99% rename from crypto/test/src/crypto/test/ISAACTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISAACTest.cs index 1782bbc985..72e1b3a2c5 100644 --- a/crypto/test/src/crypto/test/ISAACTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISAACTest.cs @@ -180,7 +180,7 @@ private void doTest( } } - public static void Main( + public void Main( string[] args) { RunTest(new IsaacTest()); diff --git a/crypto/test/src/crypto/test/ISO9796Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISO9796Test.cs similarity index 99% rename from crypto/test/src/crypto/test/ISO9796Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISO9796Test.cs index 562238bca7..1e80485c81 100644 --- a/crypto/test/src/crypto/test/ISO9796Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISO9796Test.cs @@ -952,7 +952,7 @@ public override void PerformTest() DoFullMessageTest(); } - public static void Main( + public void Main( string[] args) { RunTest(new ISO9796Test()); diff --git a/crypto/test/src/crypto/test/ISO9797Alg3MacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISO9797Alg3MacTest.cs similarity index 98% rename from crypto/test/src/crypto/test/ISO9797Alg3MacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISO9797Alg3MacTest.cs index 9d5d8b6b75..d09d3bd6b5 100644 --- a/crypto/test/src/crypto/test/ISO9797Alg3MacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ISO9797Alg3MacTest.cs @@ -79,7 +79,7 @@ public override string Name } } - public static void Main( + public void Main( string[] args) { ISO9797Alg3MacTest test = new ISO9797Alg3MacTest(); diff --git a/crypto/test/src/crypto/test/KDF1GeneratorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KDF1GeneratorTest.cs similarity index 98% rename from crypto/test/src/crypto/test/KDF1GeneratorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KDF1GeneratorTest.cs index 89c8d5453e..f0257e5179 100644 --- a/crypto/test/src/crypto/test/KDF1GeneratorTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KDF1GeneratorTest.cs @@ -86,7 +86,7 @@ public override string Name get { return "KDF1"; } } - public static void Main( + public void Main( string[] args) { RunTest(new Kdf1GeneratorTest()); diff --git a/crypto/test/src/crypto/test/KDF2GeneratorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KDF2GeneratorTest.cs similarity index 99% rename from crypto/test/src/crypto/test/KDF2GeneratorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KDF2GeneratorTest.cs index e184e0b401..9c66a6dfc1 100644 --- a/crypto/test/src/crypto/test/KDF2GeneratorTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KDF2GeneratorTest.cs @@ -98,7 +98,7 @@ public override string Name get { return "KDF2"; } } - public static void Main( + public void Main( string[] args) { RunTest(new Kdf2GeneratorTest()); diff --git a/crypto/test/src/crypto/test/KeccakDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KeccakDigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/KeccakDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KeccakDigestTest.cs index 961a5d2e36..1acc1269e1 100644 --- a/crypto/test/src/crypto/test/KeccakDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/KeccakDigestTest.cs @@ -357,7 +357,7 @@ protected virtual IDigest CloneDigest(IDigest digest) return new KeccakDigest((KeccakDigest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new KeccakDigestTest()); diff --git a/crypto/test/src/crypto/test/MD2DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD2DigestTest.cs similarity index 97% rename from crypto/test/src/crypto/test/MD2DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD2DigestTest.cs index 4f4da516b4..37363cf7e1 100644 --- a/crypto/test/src/crypto/test/MD2DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD2DigestTest.cs @@ -50,7 +50,7 @@ protected override IDigest CloneDigest(IDigest digest) return new MD2Digest((MD2Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new MD2DigestTest()); diff --git a/crypto/test/src/crypto/test/MD4DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD4DigestTest.cs similarity index 97% rename from crypto/test/src/crypto/test/MD4DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD4DigestTest.cs index 4fd4e09319..f6144e9a5c 100644 --- a/crypto/test/src/crypto/test/MD4DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD4DigestTest.cs @@ -42,7 +42,7 @@ protected override IDigest CloneDigest(IDigest digest) return new MD4Digest((MD4Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new MD4DigestTest()); diff --git a/crypto/test/src/crypto/test/MD5DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD5DigestTest.cs similarity index 97% rename from crypto/test/src/crypto/test/MD5DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD5DigestTest.cs index cc914165cf..c8a8fac88f 100644 --- a/crypto/test/src/crypto/test/MD5DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD5DigestTest.cs @@ -42,7 +42,7 @@ protected override IDigest CloneDigest(IDigest digest) return new MD5Digest((MD5Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new MD5DigestTest()); diff --git a/crypto/test/src/crypto/test/MD5HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD5HMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/MD5HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD5HMacTest.cs index 101b8be3c6..ace2f77186 100644 --- a/crypto/test/src/crypto/test/MD5HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MD5HMacTest.cs @@ -71,7 +71,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new MD5HMacTest(); diff --git a/crypto/test/src/crypto/test/MGF1GeneratorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MGF1GeneratorTest.cs similarity index 98% rename from crypto/test/src/crypto/test/MGF1GeneratorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MGF1GeneratorTest.cs index ee67ffa1cf..54035150a5 100644 --- a/crypto/test/src/crypto/test/MGF1GeneratorTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MGF1GeneratorTest.cs @@ -86,7 +86,7 @@ public override string Name get { return "MGF1"; } } - public static void Main( + public void Main( string[] args) { RunTest(new Mgf1GeneratorTest()); diff --git a/crypto/test/src/crypto/test/MacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/MacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MacTest.cs index 9a58f8a8c6..275f8b5a11 100644 --- a/crypto/test/src/crypto/test/MacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/MacTest.cs @@ -180,7 +180,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { MacTest test = new MacTest(); diff --git a/crypto/test/src/crypto/test/ModeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ModeTest.cs similarity index 98% rename from crypto/test/src/crypto/test/ModeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ModeTest.cs index c67dce0940..22c1702c19 100644 --- a/crypto/test/src/crypto/test/ModeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ModeTest.cs @@ -88,7 +88,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new ModeTest(); diff --git a/crypto/test/src/crypto/test/NaccacheSternTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NaccacheSternTest.cs similarity index 99% rename from crypto/test/src/crypto/test/NaccacheSternTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NaccacheSternTest.cs index 9168adced0..cb91329207 100644 --- a/crypto/test/src/crypto/test/NaccacheSternTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NaccacheSternTest.cs @@ -339,7 +339,7 @@ public void TestFunction() Assert.AreEqual(Name + ": Okay", resultText); } - public static void Main( + public void Main( string[] args) { ITest test = new NaccacheSternTest(); diff --git a/crypto/test/src/crypto/test/NoekeonTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NoekeonTest.cs similarity index 97% rename from crypto/test/src/crypto/test/NoekeonTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NoekeonTest.cs index b6fff70ce1..e6536fdefb 100644 --- a/crypto/test/src/crypto/test/NoekeonTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NoekeonTest.cs @@ -42,7 +42,7 @@ public override string Name get { return "Noekeon"; } } - public static void Main( + public void Main( string[] args) { RunTest(new NoekeonTest()); diff --git a/crypto/test/src/crypto/test/NonMemoableDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NonMemoableDigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/NonMemoableDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NonMemoableDigestTest.cs index e6b329e884..be7cd1b5bc 100644 --- a/crypto/test/src/crypto/test/NonMemoableDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NonMemoableDigestTest.cs @@ -102,7 +102,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new NonMemoableDigestTest()); diff --git a/crypto/test/src/crypto/test/NullTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NullTest.cs similarity index 97% rename from crypto/test/src/crypto/test/NullTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NullTest.cs index 16a51808fd..bfe1ce507c 100644 --- a/crypto/test/src/crypto/test/NullTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/NullTest.cs @@ -71,7 +71,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new NullTest()); diff --git a/crypto/test/src/crypto/test/OAEPTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OAEPTest.cs similarity index 99% rename from crypto/test/src/crypto/test/OAEPTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OAEPTest.cs index 204784cee8..e74be3bf35 100644 --- a/crypto/test/src/crypto/test/OAEPTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OAEPTest.cs @@ -896,7 +896,7 @@ private void TestForHighByteError(string label, int keySizeBits) } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new OaepTest()); } diff --git a/crypto/test/src/crypto/test/OCBTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OCBTest.cs similarity index 99% rename from crypto/test/src/crypto/test/OCBTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OCBTest.cs index 9f898fbe24..0547b976b3 100644 --- a/crypto/test/src/crypto/test/OCBTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OCBTest.cs @@ -498,7 +498,7 @@ private static int NextInt(SecureRandom rand, int n) return value; } - public static void Main( + public void Main( string[] args) { RunTest(new OcbTest()); diff --git a/crypto/test/src/crypto/test/OpenBsdBCryptTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OpenBsdBCryptTest.cs similarity index 99% rename from crypto/test/src/crypto/test/OpenBsdBCryptTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OpenBsdBCryptTest.cs index fabe84d6b5..6779eabe60 100644 --- a/crypto/test/src/crypto/test/OpenBsdBCryptTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/OpenBsdBCryptTest.cs @@ -91,7 +91,7 @@ public class OpenBsdBCryptTest {"ABCDEFGHIJKLMNOPQRSTUVWXYABCDEFGHIJKLMNOPQRSTUVWXYABCDEFGHIJKLMNOPQRSTUVWXYABCDEFGHIJKLMNOPQRSTUVWXY", "$2b$12$QwAt5kuG68nW7v.87q0QPuwdki3romFc/RU/RV3Qqk4FPw6WdbQzu"} }; - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new OpenBsdBCryptTest()); } diff --git a/crypto/test/src/crypto/test/PSSBlindTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PSSBlindTest.cs similarity index 99% rename from crypto/test/src/crypto/test/PSSBlindTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PSSBlindTest.cs index d887a8f08e..460cce1bd3 100644 --- a/crypto/test/src/crypto/test/PSSBlindTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PSSBlindTest.cs @@ -382,7 +382,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new PssBlindTest()); diff --git a/crypto/test/src/crypto/test/PSSTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PSSTest.cs similarity index 99% rename from crypto/test/src/crypto/test/PSSTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PSSTest.cs index 8578d254f3..4e88833c0f 100644 --- a/crypto/test/src/crypto/test/PSSTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PSSTest.cs @@ -357,7 +357,7 @@ private void fixedSaltTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new PssTest()); diff --git a/crypto/test/src/crypto/test/PaddingTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PaddingTest.cs similarity index 99% rename from crypto/test/src/crypto/test/PaddingTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PaddingTest.cs index ed53d92289..2e46166416 100644 --- a/crypto/test/src/crypto/test/PaddingTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/PaddingTest.cs @@ -152,7 +152,7 @@ public override string Name get { return "PaddingTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PaddingTest()); diff --git a/crypto/test/src/crypto/test/Pkcs12Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Pkcs12Test.cs similarity index 99% rename from crypto/test/src/crypto/test/Pkcs12Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Pkcs12Test.cs index 29d5a39422..e94ac9f2b1 100644 --- a/crypto/test/src/crypto/test/Pkcs12Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Pkcs12Test.cs @@ -84,7 +84,7 @@ public override void PerformTest() Run3(10, password2, Hex.Decode("263216FCC2FAB31C"), 1000, Hex.Decode("5EC4C7A80DF652294C3925B6489A7AB857C83476")); } - public static void Main( + public void Main( string[] args) { RunTest(new Pkcs12Test()); diff --git a/crypto/test/src/crypto/test/Pkcs5Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Pkcs5Test.cs similarity index 99% rename from crypto/test/src/crypto/test/Pkcs5Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Pkcs5Test.cs index fdf1e7a665..c5af608641 100644 --- a/crypto/test/src/crypto/test/Pkcs5Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Pkcs5Test.cs @@ -218,7 +218,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new Pkcs5Test()); diff --git a/crypto/test/src/crypto/test/Poly1305Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Poly1305Test.cs similarity index 99% rename from crypto/test/src/crypto/test/Poly1305Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Poly1305Test.cs index 7aaceb99ec..f927071ca9 100644 --- a/crypto/test/src/crypto/test/Poly1305Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Poly1305Test.cs @@ -502,7 +502,7 @@ private void CheckVector(byte[] keyMaterial, byte[] input, byte[] tag) } } - public static void Main( + public void Main( string[] args) { RunTest(new Poly1305Test()); diff --git a/crypto/test/src/crypto/test/RC2Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC2Test.cs similarity index 98% rename from crypto/test/src/crypto/test/RC2Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC2Test.cs index 177c1817dd..f0f14f6f8b 100644 --- a/crypto/test/src/crypto/test/RC2Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC2Test.cs @@ -38,7 +38,7 @@ public RC2Test() { } - public static void Main( + public void Main( string[] args) { ITest test = new RC2Test(); diff --git a/crypto/test/src/crypto/test/RC2WrapTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC2WrapTest.cs similarity index 99% rename from crypto/test/src/crypto/test/RC2WrapTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC2WrapTest.cs index fc27acd2cb..9293017622 100644 --- a/crypto/test/src/crypto/test/RC2WrapTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC2WrapTest.cs @@ -103,7 +103,7 @@ public string Name get { return "RC2Wrap"; } } - public static void Main( + public void Main( string[] args) { ITest test = new RC2WrapTest(); diff --git a/crypto/test/src/crypto/test/RC4Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC4Test.cs similarity index 98% rename from crypto/test/src/crypto/test/RC4Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC4Test.cs index 7c1ac91622..9cd07e174e 100644 --- a/crypto/test/src/crypto/test/RC4Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC4Test.cs @@ -39,7 +39,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new RC4Test(); diff --git a/crypto/test/src/crypto/test/RC5Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC5Test.cs similarity index 99% rename from crypto/test/src/crypto/test/RC5Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC5Test.cs index e50878a0e5..9862810bcf 100644 --- a/crypto/test/src/crypto/test/RC5Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC5Test.cs @@ -181,7 +181,7 @@ public ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { RC5Test test = new RC5Test(); diff --git a/crypto/test/src/crypto/test/RC6Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC6Test.cs similarity index 98% rename from crypto/test/src/crypto/test/RC6Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC6Test.cs index 4f59ec4e9a..5934c3ca13 100644 --- a/crypto/test/src/crypto/test/RC6Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RC6Test.cs @@ -34,7 +34,7 @@ public RC6Test() { } - public static void Main( + public void Main( string[] args) { ITest test = new RC6Test(); diff --git a/crypto/test/src/crypto/test/RFC3211WrapTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RFC3211WrapTest.cs similarity index 99% rename from crypto/test/src/crypto/test/RFC3211WrapTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RFC3211WrapTest.cs index 91dea34dd7..307c8b8770 100644 --- a/crypto/test/src/crypto/test/RFC3211WrapTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RFC3211WrapTest.cs @@ -199,7 +199,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new Rfc3211WrapTest()); diff --git a/crypto/test/src/crypto/test/RSABlindedTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RSABlindedTest.cs similarity index 99% rename from crypto/test/src/crypto/test/RSABlindedTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RSABlindedTest.cs index 75b9f3a07d..a605b43cf2 100644 --- a/crypto/test/src/crypto/test/RSABlindedTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RSABlindedTest.cs @@ -429,7 +429,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { ITest test = new RsaBlindedTest(); diff --git a/crypto/test/src/crypto/test/RegressionTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RegressionTest.cs similarity index 98% rename from crypto/test/src/crypto/test/RegressionTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RegressionTest.cs index f8b5c3c799..8a521c0f62 100644 --- a/crypto/test/src/crypto/test/RegressionTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RegressionTest.cs @@ -140,7 +140,7 @@ public class RegressionTest new Ed448Test(), }; - public static void Main(string[] args) + public void Main(string[] args) { foreach (ITest test in tests) { diff --git a/crypto/test/src/crypto/test/RijndaelTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RijndaelTest.cs similarity index 99% rename from crypto/test/src/crypto/test/RijndaelTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RijndaelTest.cs index f714c83eb3..96ee9b062e 100644 --- a/crypto/test/src/crypto/test/RijndaelTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RijndaelTest.cs @@ -114,7 +114,7 @@ public override string Name get { return "Rijndael"; } } - public static void Main( + public void Main( string[] args) { ITest test = new RijndaelTest(); diff --git a/crypto/test/src/crypto/test/RipeMD128DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD128DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/RipeMD128DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD128DigestTest.cs index ead4f06ad2..b296a69123 100644 --- a/crypto/test/src/crypto/test/RipeMD128DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD128DigestTest.cs @@ -57,7 +57,7 @@ protected override IDigest CloneDigest(IDigest digest) return new RipeMD128Digest((RipeMD128Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new RipeMD128DigestTest()); diff --git a/crypto/test/src/crypto/test/RipeMD128HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD128HMacTest.cs similarity index 98% rename from crypto/test/src/crypto/test/RipeMD128HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD128HMacTest.cs index 2f6a2d9791..c433d44c52 100644 --- a/crypto/test/src/crypto/test/RipeMD128HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD128HMacTest.cs @@ -80,7 +80,7 @@ public ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new RipeMD128HMacTest(); diff --git a/crypto/test/src/crypto/test/RipeMD160DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD160DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/RipeMD160DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD160DigestTest.cs index 15e53f2a07..e4e65dd3ce 100644 --- a/crypto/test/src/crypto/test/RipeMD160DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD160DigestTest.cs @@ -57,7 +57,7 @@ protected override IDigest CloneDigest(IDigest digest) return new RipeMD160Digest((RipeMD160Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new RipeMD160DigestTest()); diff --git a/crypto/test/src/crypto/test/RipeMD160HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD160HMacTest.cs similarity index 98% rename from crypto/test/src/crypto/test/RipeMD160HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD160HMacTest.cs index cc87a535f8..41f4ff8c47 100644 --- a/crypto/test/src/crypto/test/RipeMD160HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD160HMacTest.cs @@ -81,7 +81,7 @@ public ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new RipeMD160HMacTest(); diff --git a/crypto/test/src/crypto/test/RipeMD256DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD256DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/RipeMD256DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD256DigestTest.cs index 5b3e6b10b9..5a2f80c018 100644 --- a/crypto/test/src/crypto/test/RipeMD256DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD256DigestTest.cs @@ -57,7 +57,7 @@ protected override IDigest CloneDigest(IDigest digest) return new RipeMD256Digest((RipeMD256Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new RipeMD256DigestTest()); diff --git a/crypto/test/src/crypto/test/RipeMD320DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD320DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/RipeMD320DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD320DigestTest.cs index 047d68aa7e..c0c24e257f 100644 --- a/crypto/test/src/crypto/test/RipeMD320DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RipeMD320DigestTest.cs @@ -57,7 +57,7 @@ protected override IDigest CloneDigest(IDigest digest) return new RipeMD320Digest((RipeMD320Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new RipeMD320DigestTest()); diff --git a/crypto/test/src/crypto/test/RsaTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RsaTest.cs similarity index 99% rename from crypto/test/src/crypto/test/RsaTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RsaTest.cs index ace60b2372..8a776e848a 100644 --- a/crypto/test/src/crypto/test/RsaTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/RsaTest.cs @@ -744,7 +744,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { ITest test = new RsaTest(); diff --git a/crypto/test/src/crypto/test/SCryptTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SCryptTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SCryptTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SCryptTest.cs index 82bc608804..a24590f88e 100644 --- a/crypto/test/src/crypto/test/SCryptTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SCryptTest.cs @@ -134,7 +134,7 @@ private static int ExtractInteger(string arg) return int.Parse(arg.Trim()); } - public static void Main( + public void Main( string[] args) { RunTest(new SCryptTest()); diff --git a/crypto/test/src/crypto/test/SEEDTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SEEDTest.cs similarity index 98% rename from crypto/test/src/crypto/test/SEEDTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SEEDTest.cs index 2fcb242cc9..562c4f5ac6 100644 --- a/crypto/test/src/crypto/test/SEEDTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SEEDTest.cs @@ -48,7 +48,7 @@ public override string Name get { return "SEED"; } } - public static void Main( + public void Main( string[] args) { RunTest(new SeedTest()); diff --git a/crypto/test/src/crypto/test/SHA1DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA1DigestTest.cs similarity index 97% rename from crypto/test/src/crypto/test/SHA1DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA1DigestTest.cs index 318035b0cf..6844e141a9 100644 --- a/crypto/test/src/crypto/test/SHA1DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA1DigestTest.cs @@ -40,7 +40,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Sha1Digest((Sha1Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new Sha1DigestTest()); diff --git a/crypto/test/src/crypto/test/SHA1HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA1HMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SHA1HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA1HMacTest.cs index 865f5b58b5..a674192c7d 100644 --- a/crypto/test/src/crypto/test/SHA1HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA1HMacTest.cs @@ -73,7 +73,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new Sha1HMacTest(); diff --git a/crypto/test/src/crypto/test/SHA224DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA224DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/SHA224DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA224DigestTest.cs index 9469b651b1..a7a2e14b2d 100644 --- a/crypto/test/src/crypto/test/SHA224DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA224DigestTest.cs @@ -53,7 +53,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Sha224Digest((Sha224Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new Sha224DigestTest()); diff --git a/crypto/test/src/crypto/test/SHA224HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA224HMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SHA224HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA224HMacTest.cs index 06c6ea1cb5..0363b5c373 100644 --- a/crypto/test/src/crypto/test/SHA224HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA224HMacTest.cs @@ -102,7 +102,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new Sha224HMacTest(); diff --git a/crypto/test/src/crypto/test/SHA256DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA256DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/SHA256DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA256DigestTest.cs index d2ae89e569..d0437dfeb3 100644 --- a/crypto/test/src/crypto/test/SHA256DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA256DigestTest.cs @@ -54,7 +54,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Sha256Digest((Sha256Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new Sha256DigestTest()); diff --git a/crypto/test/src/crypto/test/SHA256HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA256HMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SHA256HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA256HMacTest.cs index a9016af218..6cd1c740ec 100644 --- a/crypto/test/src/crypto/test/SHA256HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA256HMacTest.cs @@ -102,7 +102,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new Sha256HMacTest(); diff --git a/crypto/test/src/crypto/test/SHA384DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA384DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/SHA384DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA384DigestTest.cs index 99363ac5a9..d7dc1bd603 100644 --- a/crypto/test/src/crypto/test/SHA384DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA384DigestTest.cs @@ -53,7 +53,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Sha384Digest((Sha384Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new Sha384DigestTest()); diff --git a/crypto/test/src/crypto/test/SHA384HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA384HMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SHA384HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA384HMacTest.cs index 0caba12c41..53ed4261ce 100644 --- a/crypto/test/src/crypto/test/SHA384HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA384HMacTest.cs @@ -102,7 +102,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new Sha384HMacTest(); diff --git a/crypto/test/src/crypto/test/SHA3DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA3DigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SHA3DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA3DigestTest.cs index 71f51f43b8..c74d2f875f 100644 --- a/crypto/test/src/crypto/test/SHA3DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA3DigestTest.cs @@ -229,7 +229,7 @@ private string StripFromChar(string s, char c) return s; } - public static void Main( + public void Main( string[] args) { RunTest(new Sha3DigestTest()); diff --git a/crypto/test/src/crypto/test/SHA512DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512DigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/SHA512DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512DigestTest.cs index d4f56e15e7..f60e0e4f30 100644 --- a/crypto/test/src/crypto/test/SHA512DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512DigestTest.cs @@ -53,7 +53,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Sha512Digest((Sha512Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new Sha512DigestTest()); diff --git a/crypto/test/src/crypto/test/SHA512HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512HMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SHA512HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512HMacTest.cs index c091a7220b..d2337420af 100644 --- a/crypto/test/src/crypto/test/SHA512HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512HMacTest.cs @@ -103,7 +103,7 @@ public virtual ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new Sha512HMacTest(); diff --git a/crypto/test/src/crypto/test/SHA512t224DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512t224DigestTest.cs similarity index 97% rename from crypto/test/src/crypto/test/SHA512t224DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512t224DigestTest.cs index a3d68e1ab6..2f71e0b6cc 100644 --- a/crypto/test/src/crypto/test/SHA512t224DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512t224DigestTest.cs @@ -53,7 +53,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Sha512tDigest((Sha512tDigest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new Sha512t224DigestTest()); diff --git a/crypto/test/src/crypto/test/SHA512t256DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512t256DigestTest.cs similarity index 97% rename from crypto/test/src/crypto/test/SHA512t256DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512t256DigestTest.cs index c957aa6602..a85b952f5d 100644 --- a/crypto/test/src/crypto/test/SHA512t256DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SHA512t256DigestTest.cs @@ -53,7 +53,7 @@ protected override IDigest CloneDigest(IDigest digest) return new Sha512tDigest((Sha512tDigest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new Sha512t256DigestTest()); diff --git a/crypto/test/src/crypto/test/SM2EngineTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2EngineTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SM2EngineTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2EngineTest.cs index 1a2d1d13e6..43034ace35 100644 --- a/crypto/test/src/crypto/test/SM2EngineTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2EngineTest.cs @@ -152,7 +152,7 @@ public override void PerformTest() DoEngineTestF2m(); } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new SM2EngineTest()); } diff --git a/crypto/test/src/crypto/test/SM2KeyExchangeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2KeyExchangeTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SM2KeyExchangeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2KeyExchangeTest.cs index 39131f163c..47453d7bca 100644 --- a/crypto/test/src/crypto/test/SM2KeyExchangeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2KeyExchangeTest.cs @@ -214,7 +214,7 @@ public override void PerformTest() DoKeyExchangeTestF2m(); } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new SM2KeyExchangeTest()); } diff --git a/crypto/test/src/crypto/test/SM2SignerTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2SignerTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SM2SignerTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2SignerTest.cs index e3c9c21aee..a7db8b357b 100644 --- a/crypto/test/src/crypto/test/SM2SignerTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM2SignerTest.cs @@ -178,7 +178,7 @@ private static byte[] Encode(BigInteger r, BigInteger s) return new DerSequence(new DerInteger(r), new DerInteger(s)).GetEncoded(); } - public static void Main( + public void Main( string[] args) { RunTest(new SM2SignerTest()); diff --git a/crypto/test/src/crypto/test/SM3DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM3DigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SM3DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM3DigestTest.cs index ae29a15811..9dc3feb1c0 100644 --- a/crypto/test/src/crypto/test/SM3DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM3DigestTest.cs @@ -190,7 +190,7 @@ protected override IDigest CloneDigest(IDigest digest) return new SM3Digest((SM3Digest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new SM3DigestTest()); diff --git a/crypto/test/src/crypto/test/SM4Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM4Test.cs similarity index 97% rename from crypto/test/src/crypto/test/SM4Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM4Test.cs index ae2f18b00e..9c7d75953d 100644 --- a/crypto/test/src/crypto/test/SM4Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SM4Test.cs @@ -77,7 +77,7 @@ public override string Name get { return "SM4"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new SM4Test()); } diff --git a/crypto/test/src/crypto/test/SRP6Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SRP6Test.cs similarity index 99% rename from crypto/test/src/crypto/test/SRP6Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SRP6Test.cs index 6b64df9247..75d4470da4 100644 --- a/crypto/test/src/crypto/test/SRP6Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SRP6Test.cs @@ -242,7 +242,7 @@ private void testServerCatchesBadA(Srp6GroupParameters group) } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new Srp6Test()); } diff --git a/crypto/test/src/crypto/test/Salsa20Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Salsa20Test.cs similarity index 99% rename from crypto/test/src/crypto/test/Salsa20Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Salsa20Test.cs index b4dc1ef2b2..bc621ee64e 100644 --- a/crypto/test/src/crypto/test/Salsa20Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Salsa20Test.cs @@ -301,7 +301,7 @@ private void reinitBug() } } - public static void Main( + public void Main( string[] args) { RunTest(new Salsa20Test()); diff --git a/crypto/test/src/crypto/test/SerpentTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SerpentTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SerpentTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SerpentTest.cs index 08dbda5916..63bed161f2 100644 --- a/crypto/test/src/crypto/test/SerpentTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SerpentTest.cs @@ -134,7 +134,7 @@ public override string Name get { return "Serpent"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new SerpentTest()); } diff --git a/crypto/test/src/crypto/test/ShakeDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ShakeDigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/ShakeDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ShakeDigestTest.cs index d8b2d55d6f..5a92d96bc5 100644 --- a/crypto/test/src/crypto/test/ShakeDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ShakeDigestTest.cs @@ -277,7 +277,7 @@ private string StripFromChar(string s, char c) return s; } - public static void Main( + public void Main( string[] args) { RunTest(new ShakeDigestTest()); diff --git a/crypto/test/src/crypto/test/ShortenedDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ShortenedDigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/ShortenedDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ShortenedDigestTest.cs index 4956b5b399..98d63fff30 100644 --- a/crypto/test/src/crypto/test/ShortenedDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/ShortenedDigestTest.cs @@ -81,7 +81,7 @@ public override string Name get { return "ShortenedDigest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new ShortenedDigestTest()); diff --git a/crypto/test/src/crypto/test/SipHashTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SipHashTest.cs similarity index 98% rename from crypto/test/src/crypto/test/SipHashTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SipHashTest.cs index 82dfce82c8..bc1db17ad1 100644 --- a/crypto/test/src/crypto/test/SipHashTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SipHashTest.cs @@ -140,7 +140,7 @@ private void UpdateMac(SipHash mac, byte[] input, int updateType) } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new SipHashTest()); } diff --git a/crypto/test/src/crypto/test/SkeinDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkeinDigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SkeinDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkeinDigestTest.cs index b6f1c542b1..4347e3c0d2 100644 --- a/crypto/test/src/crypto/test/SkeinDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkeinDigestTest.cs @@ -285,7 +285,7 @@ private void runTest(Case dc) // } } - public static void Main( + public void Main( string[] args) { RunTest(new SkeinDigestTest()); diff --git a/crypto/test/src/crypto/test/SkeinMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkeinMacTest.cs similarity index 99% rename from crypto/test/src/crypto/test/SkeinMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkeinMacTest.cs index 852c3b2c79..80f8e7abc6 100644 --- a/crypto/test/src/crypto/test/SkeinMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkeinMacTest.cs @@ -156,7 +156,7 @@ private void runTest(Case dc) } - public static void Main( + public void Main( string[] args) { RunTest(new SkeinMacTest()); diff --git a/crypto/test/src/crypto/test/SkipjackTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkipjackTest.cs similarity index 97% rename from crypto/test/src/crypto/test/SkipjackTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkipjackTest.cs index d9fe6e4b44..f285b5872b 100644 --- a/crypto/test/src/crypto/test/SkipjackTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/SkipjackTest.cs @@ -26,7 +26,7 @@ public SkipjackTest() { } - public static void Main( + public void Main( string[] args) { ITest test = new SkipjackTest(); diff --git a/crypto/test/src/crypto/test/StreamCipherResetTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/StreamCipherResetTest.cs similarity index 98% rename from crypto/test/src/crypto/test/StreamCipherResetTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/StreamCipherResetTest.cs index 49760a24b4..5e3f428f46 100644 --- a/crypto/test/src/crypto/test/StreamCipherResetTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/StreamCipherResetTest.cs @@ -118,7 +118,7 @@ private void CheckReset(IStreamCipher cipher, ICipherParameters cipherParams, } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new StreamCipherResetTest()); } diff --git a/crypto/test/src/crypto/test/StreamCipherVectorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/StreamCipherVectorTest.cs similarity index 100% rename from crypto/test/src/crypto/test/StreamCipherVectorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/StreamCipherVectorTest.cs diff --git a/crypto/test/src/crypto/test/TEATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TEATest.cs similarity index 98% rename from crypto/test/src/crypto/test/TEATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TEATest.cs index 525941dbf7..cd6bcce910 100644 --- a/crypto/test/src/crypto/test/TEATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TEATest.cs @@ -42,7 +42,7 @@ public override string Name get { return "TEA"; } } - public static void Main( + public void Main( string[] args) { RunTest(new TeaTest()); diff --git a/crypto/test/src/crypto/test/Threefish1024Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish1024Test.cs similarity index 99% rename from crypto/test/src/crypto/test/Threefish1024Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish1024Test.cs index 64f9aa29fd..d4a8145831 100644 --- a/crypto/test/src/crypto/test/Threefish1024Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish1024Test.cs @@ -57,7 +57,7 @@ public override string Name get { return "Threefish-1024"; } } - public static void Main( + public void Main( string[] args) { RunTest(new Threefish1024Test()); diff --git a/crypto/test/src/crypto/test/Threefish256Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish256Test.cs similarity index 98% rename from crypto/test/src/crypto/test/Threefish256Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish256Test.cs index e44299a315..78ac9cee75 100644 --- a/crypto/test/src/crypto/test/Threefish256Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish256Test.cs @@ -42,7 +42,7 @@ public override string Name get { return "Threefish-256"; } } - public static void Main( + public void Main( string[] args) { RunTest(new Threefish256Test()); diff --git a/crypto/test/src/crypto/test/Threefish512Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish512Test.cs similarity index 98% rename from crypto/test/src/crypto/test/Threefish512Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish512Test.cs index 8f4ec63452..c97df224bf 100644 --- a/crypto/test/src/crypto/test/Threefish512Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/Threefish512Test.cs @@ -47,7 +47,7 @@ public override string Name get { return "Threefish-512"; } } - public static void Main( + public void Main( string[] args) { RunTest(new Threefish512Test()); diff --git a/crypto/test/src/crypto/test/TigerDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TigerDigestTest.cs similarity index 98% rename from crypto/test/src/crypto/test/TigerDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TigerDigestTest.cs index b351c4b5ee..6fd4939364 100644 --- a/crypto/test/src/crypto/test/TigerDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TigerDigestTest.cs @@ -65,7 +65,7 @@ protected override IDigest CloneDigest(IDigest digest) return new TigerDigest((TigerDigest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new TigerDigestTest()); diff --git a/crypto/test/src/crypto/test/TnepresTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TnepresTest.cs similarity index 99% rename from crypto/test/src/crypto/test/TnepresTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TnepresTest.cs index 07308dbff7..18cb1dbd1f 100644 --- a/crypto/test/src/crypto/test/TnepresTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TnepresTest.cs @@ -139,7 +139,7 @@ public override string Name get { return "Tnepres"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new TnepresTest()); } diff --git a/crypto/test/src/crypto/test/TwofishTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TwofishTest.cs similarity index 97% rename from crypto/test/src/crypto/test/TwofishTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TwofishTest.cs index 9425d2e60a..ede652fb24 100644 --- a/crypto/test/src/crypto/test/TwofishTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/TwofishTest.cs @@ -34,7 +34,7 @@ public TwofishTest() { } - public static void Main( + public void Main( string[] args) { ITest test = new TwofishTest(); diff --git a/crypto/test/src/crypto/test/VMPCKSA3Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCKSA3Test.cs similarity index 98% rename from crypto/test/src/crypto/test/VMPCKSA3Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCKSA3Test.cs index a25105b77d..5e4112d6bd 100644 --- a/crypto/test/src/crypto/test/VMPCKSA3Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCKSA3Test.cs @@ -95,7 +95,7 @@ private byte[] checkEngine(VmpcKsa3Engine engine) return output; } - public static void Main( + public void Main( string[] args) { RunTest(new VmpcKsa3Test()); diff --git a/crypto/test/src/crypto/test/VMPCMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCMacTest.cs similarity index 97% rename from crypto/test/src/crypto/test/VMPCMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCMacTest.cs index b9a5e3a935..9b091fd738 100644 --- a/crypto/test/src/crypto/test/VMPCMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCMacTest.cs @@ -20,7 +20,7 @@ public override string Name get { return "VMPC-MAC"; } } - public static void Main( + public void Main( string[] args) { RunTest(new VmpcMacTest()); diff --git a/crypto/test/src/crypto/test/VMPCTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCTest.cs similarity index 98% rename from crypto/test/src/crypto/test/VMPCTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCTest.cs index 6186c4733f..9285123abe 100644 --- a/crypto/test/src/crypto/test/VMPCTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/VMPCTest.cs @@ -95,7 +95,7 @@ private byte[] checkEngine(VmpcEngine engine) return output; } - public static void Main( + public void Main( string[] args) { RunTest(new VmpcTest()); diff --git a/crypto/test/src/crypto/test/WhirlpoolDigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/WhirlpoolDigestTest.cs similarity index 99% rename from crypto/test/src/crypto/test/WhirlpoolDigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/WhirlpoolDigestTest.cs index 1445b89778..55c013afb0 100644 --- a/crypto/test/src/crypto/test/WhirlpoolDigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/WhirlpoolDigestTest.cs @@ -102,7 +102,7 @@ protected override IDigest CloneDigest(IDigest digest) return new WhirlpoolDigest((WhirlpoolDigest)digest); } - public static void Main( + public void Main( string[] args) { RunTest(new WhirlpoolDigestTest()); diff --git a/crypto/test/src/crypto/test/X25519Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X25519Test.cs similarity index 97% rename from crypto/test/src/crypto/test/X25519Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X25519Test.cs index 29466e0c65..ca73873863 100644 --- a/crypto/test/src/crypto/test/X25519Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X25519Test.cs @@ -21,7 +21,7 @@ public override string Name get { return "X25519"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new X25519Test()); } diff --git a/crypto/test/src/crypto/test/X448Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X448Test.cs similarity index 97% rename from crypto/test/src/crypto/test/X448Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X448Test.cs index 5d4b14b638..bc708c295c 100644 --- a/crypto/test/src/crypto/test/X448Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X448Test.cs @@ -21,7 +21,7 @@ public override string Name get { return "X448"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new X448Test()); } diff --git a/crypto/test/src/crypto/test/X931SignerTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X931SignerTest.cs similarity index 99% rename from crypto/test/src/crypto/test/X931SignerTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X931SignerTest.cs index d03cbc8e46..eb1091aaed 100644 --- a/crypto/test/src/crypto/test/X931SignerTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/X931SignerTest.cs @@ -129,7 +129,7 @@ private void ShouldPassSignatureTest3() } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new X931SignerTest()); } diff --git a/crypto/test/src/crypto/test/XSalsa20Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/XSalsa20Test.cs similarity index 99% rename from crypto/test/src/crypto/test/XSalsa20Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/XSalsa20Test.cs index 74ed04e88a..778b6a9054 100644 --- a/crypto/test/src/crypto/test/XSalsa20Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/XSalsa20Test.cs @@ -166,7 +166,7 @@ private void performTest(int number, TestCase testCase) } } - public static void Main( + public void Main( string[] args) { RunTest(new XSalsa20Test()); diff --git a/crypto/test/src/crypto/test/XTEATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/XTEATest.cs similarity index 98% rename from crypto/test/src/crypto/test/XTEATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/test/XTEATest.cs index a1ea652986..89fac83852 100644 --- a/crypto/test/src/crypto/test/XTEATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/test/XTEATest.cs @@ -42,7 +42,7 @@ public override string Name get { return "XTEA"; } } - public static void Main( + public void Main( string[] args) { RunTest(new XteaTest()); diff --git a/crypto/test/src/crypto/tls/test/ByteQueueStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/ByteQueueStreamTest.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/ByteQueueStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/ByteQueueStreamTest.cs diff --git a/crypto/test/src/crypto/tls/test/DtlsProtocolTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsProtocolTest.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/DtlsProtocolTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsProtocolTest.cs diff --git a/crypto/test/src/crypto/tls/test/DtlsTestCase.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsTestCase.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/DtlsTestCase.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsTestCase.cs diff --git a/crypto/test/src/crypto/tls/test/DtlsTestClientProtocol.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsTestClientProtocol.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/DtlsTestClientProtocol.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsTestClientProtocol.cs diff --git a/crypto/test/src/crypto/tls/test/DtlsTestServerProtocol.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsTestServerProtocol.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/DtlsTestServerProtocol.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsTestServerProtocol.cs diff --git a/crypto/test/src/crypto/tls/test/DtlsTestSuite.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsTestSuite.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/DtlsTestSuite.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/DtlsTestSuite.cs diff --git a/crypto/test/src/crypto/tls/test/LoggingDatagramTransport.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/LoggingDatagramTransport.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/LoggingDatagramTransport.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/LoggingDatagramTransport.cs diff --git a/crypto/test/src/crypto/tls/test/MockDatagramAssociation.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockDatagramAssociation.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockDatagramAssociation.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockDatagramAssociation.cs diff --git a/crypto/test/src/crypto/tls/test/MockDtlsClient.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockDtlsClient.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockDtlsClient.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockDtlsClient.cs diff --git a/crypto/test/src/crypto/tls/test/MockDtlsServer.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockDtlsServer.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockDtlsServer.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockDtlsServer.cs diff --git a/crypto/test/src/crypto/tls/test/MockPskTlsClient.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockPskTlsClient.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockPskTlsClient.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockPskTlsClient.cs diff --git a/crypto/test/src/crypto/tls/test/MockPskTlsServer.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockPskTlsServer.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockPskTlsServer.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockPskTlsServer.cs diff --git a/crypto/test/src/crypto/tls/test/MockSrpTlsClient.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockSrpTlsClient.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockSrpTlsClient.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockSrpTlsClient.cs diff --git a/crypto/test/src/crypto/tls/test/MockSrpTlsServer.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockSrpTlsServer.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockSrpTlsServer.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockSrpTlsServer.cs diff --git a/crypto/test/src/crypto/tls/test/MockTlsClient.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockTlsClient.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockTlsClient.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockTlsClient.cs diff --git a/crypto/test/src/crypto/tls/test/MockTlsServer.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockTlsServer.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/MockTlsServer.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/MockTlsServer.cs diff --git a/crypto/test/src/crypto/tls/test/NetworkStream.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/NetworkStream.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/NetworkStream.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/NetworkStream.cs diff --git a/crypto/test/src/crypto/tls/test/PipedStream.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/PipedStream.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/PipedStream.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/PipedStream.cs diff --git a/crypto/test/src/crypto/tls/test/PskTlsClientTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/PskTlsClientTest.cs similarity index 98% rename from crypto/test/src/crypto/tls/test/PskTlsClientTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/PskTlsClientTest.cs index 7072c71059..7f63c3f87d 100644 --- a/crypto/test/src/crypto/tls/test/PskTlsClientTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/PskTlsClientTest.cs @@ -20,7 +20,7 @@ public class PskTlsClientTest { private static readonly SecureRandom secureRandom = new SecureRandom(); - public static void Main(string[] args) + public void Main(string[] args) { string hostname = "localhost"; int port = 5556; diff --git a/crypto/test/src/crypto/tls/test/TlsClientTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsClientTest.cs similarity index 97% rename from crypto/test/src/crypto/tls/test/TlsClientTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsClientTest.cs index c9a5ef9adf..c9d399fafe 100644 --- a/crypto/test/src/crypto/tls/test/TlsClientTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsClientTest.cs @@ -17,7 +17,7 @@ public class TlsClientTest { private static readonly SecureRandom secureRandom = new SecureRandom(); - public static void Main(string[] args) + public void Main(string[] args) { string hostname = "localhost"; int port = 5556; diff --git a/crypto/test/src/crypto/tls/test/TlsProtocolNonBlockingTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsProtocolNonBlockingTest.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsProtocolNonBlockingTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsProtocolNonBlockingTest.cs diff --git a/crypto/test/src/crypto/tls/test/TlsProtocolTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsProtocolTest.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsProtocolTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsProtocolTest.cs diff --git a/crypto/test/src/crypto/tls/test/TlsPskProtocolTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsPskProtocolTest.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsPskProtocolTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsPskProtocolTest.cs diff --git a/crypto/test/src/crypto/tls/test/TlsServerTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsServerTest.cs similarity index 98% rename from crypto/test/src/crypto/tls/test/TlsServerTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsServerTest.cs index 7920cb59a4..907eed1c44 100644 --- a/crypto/test/src/crypto/tls/test/TlsServerTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsServerTest.cs @@ -19,7 +19,7 @@ public class TlsServerTest { private static readonly SecureRandom secureRandom = new SecureRandom(); - public static void Main(string[] args) + public void Main(string[] args) { int port = 5556; diff --git a/crypto/test/src/crypto/tls/test/TlsSrpProtocolTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsSrpProtocolTest.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsSrpProtocolTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsSrpProtocolTest.cs diff --git a/crypto/test/src/crypto/tls/test/TlsTestCase.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestCase.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsTestCase.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestCase.cs diff --git a/crypto/test/src/crypto/tls/test/TlsTestClientImpl.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestClientImpl.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsTestClientImpl.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestClientImpl.cs diff --git a/crypto/test/src/crypto/tls/test/TlsTestClientProtocol.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestClientProtocol.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsTestClientProtocol.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestClientProtocol.cs diff --git a/crypto/test/src/crypto/tls/test/TlsTestConfig.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestConfig.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsTestConfig.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestConfig.cs diff --git a/crypto/test/src/crypto/tls/test/TlsTestServerImpl.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestServerImpl.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsTestServerImpl.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestServerImpl.cs diff --git a/crypto/test/src/crypto/tls/test/TlsTestServerProtocol.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestServerProtocol.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsTestServerProtocol.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestServerProtocol.cs diff --git a/crypto/test/src/crypto/tls/test/TlsTestSuite.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestSuite.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsTestSuite.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestSuite.cs diff --git a/crypto/test/src/crypto/tls/test/TlsTestUtilities.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestUtilities.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/TlsTestUtilities.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/TlsTestUtilities.cs diff --git a/crypto/test/src/crypto/tls/test/UnreliableDatagramTransport.cs b/test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/UnreliableDatagramTransport.cs similarity index 100% rename from crypto/test/src/crypto/tls/test/UnreliableDatagramTransport.cs rename to test/Crypto.NetSdk.NUnitTest/tests/crypto/tls/test/UnreliableDatagramTransport.cs diff --git a/crypto/test/src/math/ec/custom/sec/test/SecP256R1FieldTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/custom/sec/test/SecP256R1FieldTest.cs similarity index 100% rename from crypto/test/src/math/ec/custom/sec/test/SecP256R1FieldTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/custom/sec/test/SecP256R1FieldTest.cs diff --git a/crypto/test/src/math/ec/custom/sec/test/SecP384R1FieldTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/custom/sec/test/SecP384R1FieldTest.cs similarity index 100% rename from crypto/test/src/math/ec/custom/sec/test/SecP384R1FieldTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/custom/sec/test/SecP384R1FieldTest.cs diff --git a/crypto/test/src/math/ec/rfc7748/test/X25519Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/rfc7748/test/X25519Test.cs similarity index 100% rename from crypto/test/src/math/ec/rfc7748/test/X25519Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/rfc7748/test/X25519Test.cs diff --git a/crypto/test/src/math/ec/rfc7748/test/X448Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/rfc7748/test/X448Test.cs similarity index 100% rename from crypto/test/src/math/ec/rfc7748/test/X448Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/rfc7748/test/X448Test.cs diff --git a/crypto/test/src/math/ec/rfc8032/test/Ed25519Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/rfc8032/test/Ed25519Test.cs similarity index 100% rename from crypto/test/src/math/ec/rfc8032/test/Ed25519Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/rfc8032/test/Ed25519Test.cs diff --git a/crypto/test/src/math/ec/rfc8032/test/Ed448Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/rfc8032/test/Ed448Test.cs similarity index 100% rename from crypto/test/src/math/ec/rfc8032/test/Ed448Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/rfc8032/test/Ed448Test.cs diff --git a/crypto/test/src/math/ec/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/AllTests.cs similarity index 92% rename from crypto/test/src/math/ec/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/AllTests.cs index 3d3f3939b5..42970b5b2c 100644 --- a/crypto/test/src/math/ec/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/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 void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/ECAlgorithmsTest.cs similarity index 100% rename from crypto/test/src/math/ec/test/ECAlgorithmsTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/ECAlgorithmsTest.cs diff --git a/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/ECPointPerformanceTest.cs similarity index 99% rename from crypto/test/src/math/ec/test/ECPointPerformanceTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/ECPointPerformanceTest.cs index 2bcd5b5027..b435132c5e 100644 --- a/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/ECPointPerformanceTest.cs @@ -201,7 +201,7 @@ public void TestMultiply() } } - public static void Main(string[] args) + public void Main(string[] args) { new ECPointPerformanceTest().TestMultiply(); } diff --git a/crypto/test/src/math/ec/test/ECPointTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/ECPointTest.cs similarity index 100% rename from crypto/test/src/math/ec/test/ECPointTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/ECPointTest.cs diff --git a/crypto/test/src/math/ec/test/F2mProofer.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/F2mProofer.cs similarity index 99% rename from crypto/test/src/math/ec/test/F2mProofer.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/F2mProofer.cs index 727d32c55c..40d27e9977 100644 --- a/crypto/test/src/math/ec/test/F2mProofer.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/F2mProofer.cs @@ -136,7 +136,7 @@ // + "| -compare ]"); // } // -// public static void Main(string[] args) +// public void Main(string[] args) // { // if (args.Length == 0) // { diff --git a/crypto/test/src/math/ec/test/FixedPointTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/FixedPointTest.cs similarity index 100% rename from crypto/test/src/math/ec/test/FixedPointTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/FixedPointTest.cs diff --git a/crypto/test/src/math/ec/test/TnafTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/TnafTest.cs similarity index 100% rename from crypto/test/src/math/ec/test/TnafTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/ec/test/TnafTest.cs diff --git a/crypto/test/src/math/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/test/AllTests.cs similarity index 91% rename from crypto/test/src/math/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/test/AllTests.cs index 53feff9546..550181efae 100644 --- a/crypto/test/src/math/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/math/test/AllTests.cs @@ -8,7 +8,7 @@ namespace Org.BouncyCastle.Math.Tests { public class AllTests { - public static void Main(string[] args) + public void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/math/test/BigIntegerTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/test/BigIntegerTest.cs similarity index 100% rename from crypto/test/src/math/test/BigIntegerTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/test/BigIntegerTest.cs diff --git a/crypto/test/src/math/test/PrimesTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/math/test/PrimesTest.cs similarity index 100% rename from crypto/test/src/math/test/PrimesTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/math/test/PrimesTest.cs diff --git a/crypto/test/src/ocsp/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/ocsp/test/AllTests.cs similarity index 91% rename from crypto/test/src/ocsp/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/ocsp/test/AllTests.cs index 5e799cd09a..0f7f2bff37 100644 --- a/crypto/test/src/ocsp/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/ocsp/test/AllTests.cs @@ -10,7 +10,7 @@ namespace Org.BouncyCastle.Ocsp.Tests { public class AllTests { - public static void Main(string[] args) + public void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/ocsp/test/OCSPTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/ocsp/test/OCSPTest.cs similarity index 99% rename from crypto/test/src/ocsp/test/OCSPTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/ocsp/test/OCSPTest.cs index 823de90f97..de1d70befa 100644 --- a/crypto/test/src/ocsp/test/OCSPTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/ocsp/test/OCSPTest.cs @@ -835,7 +835,7 @@ public override void PerformTest() doTestIrregularVersionReq(); } - public static void Main( + public void Main( string[] args) { RunTest(new OcspTest()); diff --git a/crypto/test/src/ocsp/test/OCSPTestUtil.cs b/test/Crypto.NetSdk.NUnitTest/tests/ocsp/test/OCSPTestUtil.cs similarity index 100% rename from crypto/test/src/ocsp/test/OCSPTestUtil.cs rename to test/Crypto.NetSdk.NUnitTest/tests/ocsp/test/OCSPTestUtil.cs diff --git a/crypto/test/src/openpgp/examples/ByteArrayHandler.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/ByteArrayHandler.cs similarity index 100% rename from crypto/test/src/openpgp/examples/ByteArrayHandler.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/ByteArrayHandler.cs diff --git a/crypto/test/src/openpgp/examples/ClearSignedFileProcessor.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/ClearSignedFileProcessor.cs similarity index 100% rename from crypto/test/src/openpgp/examples/ClearSignedFileProcessor.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/ClearSignedFileProcessor.cs diff --git a/crypto/test/src/openpgp/examples/DetachedSignatureProcessor.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/DetachedSignatureProcessor.cs similarity index 100% rename from crypto/test/src/openpgp/examples/DetachedSignatureProcessor.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/DetachedSignatureProcessor.cs diff --git a/crypto/test/src/openpgp/examples/DirectKeySignature.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/DirectKeySignature.cs similarity index 100% rename from crypto/test/src/openpgp/examples/DirectKeySignature.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/DirectKeySignature.cs diff --git a/crypto/test/src/openpgp/examples/DsaElGamalKeyRingGenerator.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/DsaElGamalKeyRingGenerator.cs similarity index 100% rename from crypto/test/src/openpgp/examples/DsaElGamalKeyRingGenerator.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/DsaElGamalKeyRingGenerator.cs diff --git a/crypto/test/src/openpgp/examples/KeyBasedFileProcessor.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/KeyBasedFileProcessor.cs similarity index 100% rename from crypto/test/src/openpgp/examples/KeyBasedFileProcessor.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/KeyBasedFileProcessor.cs diff --git a/crypto/test/src/openpgp/examples/KeyBasedLargeFileProcessor.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/KeyBasedLargeFileProcessor.cs similarity index 100% rename from crypto/test/src/openpgp/examples/KeyBasedLargeFileProcessor.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/KeyBasedLargeFileProcessor.cs diff --git a/crypto/test/src/openpgp/examples/PbeFileProcessor.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/PbeFileProcessor.cs similarity index 100% rename from crypto/test/src/openpgp/examples/PbeFileProcessor.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/PbeFileProcessor.cs diff --git a/crypto/test/src/openpgp/examples/PgpExampleUtilities.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/PgpExampleUtilities.cs similarity index 100% rename from crypto/test/src/openpgp/examples/PgpExampleUtilities.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/PgpExampleUtilities.cs diff --git a/crypto/test/src/openpgp/examples/PublicKeyRingDump.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/PublicKeyRingDump.cs similarity index 100% rename from crypto/test/src/openpgp/examples/PublicKeyRingDump.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/PublicKeyRingDump.cs diff --git a/crypto/test/src/openpgp/examples/RsaKeyRingGenerator.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/RsaKeyRingGenerator.cs similarity index 100% rename from crypto/test/src/openpgp/examples/RsaKeyRingGenerator.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/RsaKeyRingGenerator.cs diff --git a/crypto/test/src/openpgp/examples/SignedFileProcessor.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/SignedFileProcessor.cs similarity index 100% rename from crypto/test/src/openpgp/examples/SignedFileProcessor.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/SignedFileProcessor.cs diff --git a/crypto/test/src/openpgp/examples/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/test/AllTests.cs similarity index 99% rename from crypto/test/src/openpgp/examples/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/test/AllTests.cs index 3403a4fdc7..fb620d70af 100644 --- a/crypto/test/src/openpgp/examples/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/examples/test/AllTests.cs @@ -418,7 +418,7 @@ private string GetLine( return bRd.ReadLine(); } - public static void Main(string[] args) + public void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/openpgp/test/DSA2Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/DSA2Test.cs similarity index 100% rename from crypto/test/src/openpgp/test/DSA2Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/DSA2Test.cs diff --git a/crypto/test/src/openpgp/test/PGPArmoredTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPArmoredTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PGPArmoredTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPArmoredTest.cs index e48827a35a..3a19e43134 100644 --- a/crypto/test/src/openpgp/test/PGPArmoredTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPArmoredTest.cs @@ -265,7 +265,7 @@ public override string Name get { return "PGPArmoredTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpArmoredTest()); diff --git a/crypto/test/src/openpgp/test/PGPClearSignedSignatureTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPClearSignedSignatureTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PGPClearSignedSignatureTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPClearSignedSignatureTest.cs index 668f8cce28..a785fc9d3c 100644 --- a/crypto/test/src/openpgp/test/PGPClearSignedSignatureTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPClearSignedSignatureTest.cs @@ -428,7 +428,7 @@ public override void PerformTest() generateTest(crNlMessage, "\\r\\n"); } - public static void Main( + public void Main( string[] args) { RunTest(new PgpClearSignedSignatureTest()); diff --git a/crypto/test/src/openpgp/test/PGPCompressionTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPCompressionTest.cs similarity index 98% rename from crypto/test/src/openpgp/test/PGPCompressionTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPCompressionTest.cs index fdcf7222ce..c606d760e0 100644 --- a/crypto/test/src/openpgp/test/PGPCompressionTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPCompressionTest.cs @@ -108,7 +108,7 @@ public override string Name get { return "PGPCompressionTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpCompressionTest()); diff --git a/crypto/test/src/openpgp/test/PGPDSAElGamalTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPDSAElGamalTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PGPDSAElGamalTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPDSAElGamalTest.cs index b86324954a..87ffc78135 100644 --- a/crypto/test/src/openpgp/test/PGPDSAElGamalTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPDSAElGamalTest.cs @@ -475,7 +475,7 @@ public override string Name get { return "PGPDSAElGamalTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpDsaElGamalTest()); diff --git a/crypto/test/src/openpgp/test/PGPDSATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPDSATest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PGPDSATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPDSATest.cs index 7808ed6cd6..f13d9351ae 100644 --- a/crypto/test/src/openpgp/test/PGPDSATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPDSATest.cs @@ -580,7 +580,7 @@ public override string Name get { return "PGPDSATest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpDsaTest()); diff --git a/crypto/test/src/openpgp/test/PGPNoPrivateKeyTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPNoPrivateKeyTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PGPNoPrivateKeyTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPNoPrivateKeyTest.cs index 8f702b67b7..477975f83b 100644 --- a/crypto/test/src/openpgp/test/PGPNoPrivateKeyTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPNoPrivateKeyTest.cs @@ -152,7 +152,7 @@ public override string Name get { return "PGPNoPrivateKeyTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpNoPrivateKeyTest()); diff --git a/crypto/test/src/openpgp/test/PGPPBETest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPPBETest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PGPPBETest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPPBETest.cs index 29b786a839..e3cafcd20a 100644 --- a/crypto/test/src/openpgp/test/PGPPBETest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPPBETest.cs @@ -367,7 +367,7 @@ public override string Name get { return "PGPPBETest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpPbeTest()); diff --git a/crypto/test/src/openpgp/test/PGPPacketTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPPacketTest.cs similarity index 98% rename from crypto/test/src/openpgp/test/PGPPacketTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPPacketTest.cs index b82f8526f3..42e4eaeef7 100644 --- a/crypto/test/src/openpgp/test/PGPPacketTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPPacketTest.cs @@ -63,7 +63,7 @@ public override string Name get { return "PGPPacketTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpPacketTest()); diff --git a/crypto/test/src/openpgp/test/PGPRSATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPRSATest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PGPRSATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPRSATest.cs index 82b569bbb8..13183b9b4a 100644 --- a/crypto/test/src/openpgp/test/PGPRSATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPRSATest.cs @@ -1216,7 +1216,7 @@ public override string Name get { return "PGPRSATest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpRsaTest()); diff --git a/crypto/test/src/openpgp/test/PGPSignatureTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPSignatureTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PGPSignatureTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPSignatureTest.cs index af490193a6..0c7de54e2d 100644 --- a/crypto/test/src/openpgp/test/PGPSignatureTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PGPSignatureTest.cs @@ -1069,7 +1069,7 @@ public override string Name get { return "PGPSignatureTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpSignatureTest()); diff --git a/crypto/test/src/openpgp/test/PgpECDHTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECDHTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PgpECDHTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECDHTest.cs index b7c500bd0e..a906590053 100644 --- a/crypto/test/src/openpgp/test/PgpECDHTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECDHTest.cs @@ -263,7 +263,7 @@ public override string Name get { return "PgpECDHTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpECDHTest()); diff --git a/crypto/test/src/openpgp/test/PgpECDsaTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECDsaTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PgpECDsaTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECDsaTest.cs index 6259ef6271..6866dc824b 100644 --- a/crypto/test/src/openpgp/test/PgpECDsaTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECDsaTest.cs @@ -188,7 +188,7 @@ public override string Name get { return "PgpECDsaTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpECDsaTest()); diff --git a/crypto/test/src/openpgp/test/PgpECMessageTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECMessageTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PgpECMessageTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECMessageTest.cs index ac82837214..b89255badc 100644 --- a/crypto/test/src/openpgp/test/PgpECMessageTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpECMessageTest.cs @@ -179,7 +179,7 @@ public override string Name get { return "PgpECMessageTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpECMessageTest()); diff --git a/crypto/test/src/openpgp/test/PgpKeyRingTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpKeyRingTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PgpKeyRingTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpKeyRingTest.cs index 5f1d83459c..fb2cc71e18 100644 --- a/crypto/test/src/openpgp/test/PgpKeyRingTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpKeyRingTest.cs @@ -2620,7 +2620,7 @@ public override string Name get { return "PgpKeyRingTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpKeyRingTest()); diff --git a/crypto/test/src/openpgp/test/PgpMarkerTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpMarkerTest.cs similarity index 99% rename from crypto/test/src/openpgp/test/PgpMarkerTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpMarkerTest.cs index 89be7cd52c..f5acd7f828 100644 --- a/crypto/test/src/openpgp/test/PgpMarkerTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpMarkerTest.cs @@ -85,7 +85,7 @@ public override string Name get { return "PgpMarkerTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpMarkerTest()); diff --git a/crypto/test/src/openpgp/test/PgpParsingTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpParsingTest.cs similarity index 95% rename from crypto/test/src/openpgp/test/PgpParsingTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpParsingTest.cs index 78fca75708..47a08d5df5 100644 --- a/crypto/test/src/openpgp/test/PgpParsingTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpParsingTest.cs @@ -23,7 +23,7 @@ public override string Name get { return "PgpParsingTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PgpParsingTest()); diff --git a/crypto/test/src/openpgp/test/PgpUnicodeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpUnicodeTest.cs similarity index 89% rename from crypto/test/src/openpgp/test/PgpUnicodeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/PgpUnicodeTest.cs index 534e8a471e..28ec30cff8 100644 --- a/crypto/test/src/openpgp/test/PgpUnicodeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/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,20 +122,20 @@ private PgpSecretKeyRingBundle LoadSecretKeyCollection(string keyName) return new PgpSecretKeyRingBundle(SimpleTest.GetTestDataAsStream("openpgp.unicode." + keyName)); } - public static void Main(string[] args) - { - Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); - } - - [Suite] - public static TestSuite Suite - { - get - { - TestSuite suite = new TestSuite("Unicode Password Tests"); - suite.Add(new PgpUnicodeTest()); - return suite; - } - } + //public void Main(string[] args) + //{ + // Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); + //} + + //[Suite] + //public static TestSuite Suite + //{ + // get + // { + // TestSuite suite = new TestSuite("Unicode Password Tests"); + // suite.Add(new PgpUnicodeTest()); + // return suite; + // } + //} } } diff --git a/crypto/test/src/openpgp/test/RegressionTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/RegressionTest.cs similarity index 96% rename from crypto/test/src/openpgp/test/RegressionTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/RegressionTest.cs index 329960bd8e..03d6e99d3b 100644 --- a/crypto/test/src/openpgp/test/RegressionTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openpgp/test/RegressionTest.cs @@ -26,7 +26,7 @@ public class RegressionTest new PgpParsingTest(), }; - public static void Main( + public void Main( string[] args) { foreach (ITest test in tests) diff --git a/crypto/test/src/openssl/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/openssl/test/AllTests.cs similarity index 98% rename from crypto/test/src/openssl/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openssl/test/AllTests.cs index 0cc2dcd85e..3b6c3e4850 100644 --- a/crypto/test/src/openssl/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openssl/test/AllTests.cs @@ -36,7 +36,7 @@ public char[] GetPassword() } #if !LIB - public static void Main(string[] args) + public void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/openssl/test/ReaderTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openssl/test/ReaderTest.cs similarity index 99% rename from crypto/test/src/openssl/test/ReaderTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openssl/test/ReaderTest.cs index c0be5c8488..87831c3df7 100644 --- a/crypto/test/src/openssl/test/ReaderTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openssl/test/ReaderTest.cs @@ -362,7 +362,7 @@ private static PemReader OpenPemResource( return new PemReader(tr, pGet); } - public static void Main( + public void Main( string[] args) { RunTest(new ReaderTest()); diff --git a/crypto/test/src/openssl/test/WriterTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/openssl/test/WriterTest.cs similarity index 99% rename from crypto/test/src/openssl/test/WriterTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/openssl/test/WriterTest.cs index 0d7887771f..61f7ab02bd 100644 --- a/crypto/test/src/openssl/test/WriterTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/openssl/test/WriterTest.cs @@ -168,7 +168,7 @@ private void DoWriteReadTest( } } - public static void Main( + public void Main( string[] args) { RunTest(new WriterTest()); diff --git a/crypto/test/src/pkcs/examples/PKCS12Example.cs b/test/Crypto.NetSdk.NUnitTest/tests/pkcs/examples/PKCS12Example.cs similarity index 100% rename from crypto/test/src/pkcs/examples/PKCS12Example.cs rename to test/Crypto.NetSdk.NUnitTest/tests/pkcs/examples/PKCS12Example.cs diff --git a/crypto/test/src/pkcs/test/EncryptedPrivateKeyInfoTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/EncryptedPrivateKeyInfoTest.cs similarity index 98% rename from crypto/test/src/pkcs/test/EncryptedPrivateKeyInfoTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/EncryptedPrivateKeyInfoTest.cs index 23639b1124..8f800f16b1 100644 --- a/crypto/test/src/pkcs/test/EncryptedPrivateKeyInfoTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/EncryptedPrivateKeyInfoTest.cs @@ -78,7 +78,7 @@ private void doOpensslTestKeys() } } - public static void Main( + public void Main( string[] args) { RunTest(new EncryptedPrivateKeyInfoTest()); diff --git a/crypto/test/src/pkcs/test/PKCS10Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/PKCS10Test.cs similarity index 98% rename from crypto/test/src/pkcs/test/PKCS10Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/PKCS10Test.cs index d0227b9de0..d577895a4a 100644 --- a/crypto/test/src/pkcs/test/PKCS10Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/PKCS10Test.cs @@ -71,7 +71,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new Pkcs10Test()); diff --git a/crypto/test/src/pkcs/test/PKCS12StoreTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/PKCS12StoreTest.cs similarity index 99% rename from crypto/test/src/pkcs/test/PKCS12StoreTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/PKCS12StoreTest.cs index cd9dfcfadb..31aa896f95 100644 --- a/crypto/test/src/pkcs/test/PKCS12StoreTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/pkcs/test/PKCS12StoreTest.cs @@ -904,7 +904,7 @@ public override void PerformTest() doTestPkcs12Store(); } - public static void Main( + public void Main( string[] args) { RunTest(new Pkcs12StoreTest()); diff --git a/crypto/test/src/security/test/SecureRandomTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/security/test/SecureRandomTest.cs similarity index 100% rename from crypto/test/src/security/test/SecureRandomTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/security/test/SecureRandomTest.cs diff --git a/crypto/test/src/security/test/TestDigestUtil.cs b/test/Crypto.NetSdk.NUnitTest/tests/security/test/TestDigestUtil.cs similarity index 100% rename from crypto/test/src/security/test/TestDigestUtil.cs rename to test/Crypto.NetSdk.NUnitTest/tests/security/test/TestDigestUtil.cs diff --git a/crypto/test/src/security/test/TestDotNetUtil.cs b/test/Crypto.NetSdk.NUnitTest/tests/security/test/TestDotNetUtil.cs similarity index 100% rename from crypto/test/src/security/test/TestDotNetUtil.cs rename to test/Crypto.NetSdk.NUnitTest/tests/security/test/TestDotNetUtil.cs diff --git a/crypto/test/src/security/test/TestEncodings.cs b/test/Crypto.NetSdk.NUnitTest/tests/security/test/TestEncodings.cs similarity index 100% rename from crypto/test/src/security/test/TestEncodings.cs rename to test/Crypto.NetSdk.NUnitTest/tests/security/test/TestEncodings.cs diff --git a/crypto/test/src/security/test/TestMacUtil.cs b/test/Crypto.NetSdk.NUnitTest/tests/security/test/TestMacUtil.cs similarity index 100% rename from crypto/test/src/security/test/TestMacUtil.cs rename to test/Crypto.NetSdk.NUnitTest/tests/security/test/TestMacUtil.cs diff --git a/crypto/test/src/security/test/TestParameterUtil.cs b/test/Crypto.NetSdk.NUnitTest/tests/security/test/TestParameterUtil.cs similarity index 100% rename from crypto/test/src/security/test/TestParameterUtil.cs rename to test/Crypto.NetSdk.NUnitTest/tests/security/test/TestParameterUtil.cs diff --git a/crypto/test/src/security/test/TestSignerUtil.cs b/test/Crypto.NetSdk.NUnitTest/tests/security/test/TestSignerUtil.cs similarity index 100% rename from crypto/test/src/security/test/TestSignerUtil.cs rename to test/Crypto.NetSdk.NUnitTest/tests/security/test/TestSignerUtil.cs diff --git a/crypto/test/src/test/AESSICTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/AESSICTest.cs similarity index 99% rename from crypto/test/src/test/AESSICTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/AESSICTest.cs index f8de35efd1..e322b946a1 100644 --- a/crypto/test/src/test/AESSICTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/AESSICTest.cs @@ -130,7 +130,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new AesSicTest()); diff --git a/crypto/test/src/test/AESTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/AESTest.cs similarity index 99% rename from crypto/test/src/test/AESTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/AESTest.cs index 5a1ce80463..4a99e188be 100644 --- a/crypto/test/src/test/AESTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/AESTest.cs @@ -354,7 +354,7 @@ public override void PerformTest() TestGcm(); } - public static void Main( + public void Main( string[] args) { RunTest(new AesTest()); diff --git a/crypto/test/src/test/AttrCertSelectorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/AttrCertSelectorTest.cs similarity index 99% rename from crypto/test/src/test/AttrCertSelectorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/AttrCertSelectorTest.cs index 37c1e66d21..565ed4895d 100644 --- a/crypto/test/src/test/AttrCertSelectorTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/AttrCertSelectorTest.cs @@ -205,7 +205,7 @@ public override void PerformTest() TestSelector(); } - public static void Main( + public void Main( string[] args) { RunTest(new AttrCertSelectorTest()); diff --git a/crypto/test/src/test/AttrCertTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/AttrCertTest.cs similarity index 99% rename from crypto/test/src/test/AttrCertTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/AttrCertTest.cs index d701d007ec..60cfb0c67a 100644 --- a/crypto/test/src/test/AttrCertTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/AttrCertTest.cs @@ -604,7 +604,7 @@ public override void PerformTest() doTestGenerateWithPrincipal(); } - public static void Main( + public void Main( string[] args) { RunTest(new AttrCertTest()); diff --git a/crypto/test/src/test/BaseBlockCipherTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/BaseBlockCipherTest.cs similarity index 100% rename from crypto/test/src/test/BaseBlockCipherTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/BaseBlockCipherTest.cs diff --git a/crypto/test/src/test/BlockCipherTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/BlockCipherTest.cs similarity index 99% rename from crypto/test/src/test/BlockCipherTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/BlockCipherTest.cs index 18753eb1a2..b17905d254 100644 --- a/crypto/test/src/test/BlockCipherTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/BlockCipherTest.cs @@ -1075,7 +1075,7 @@ public override void PerformTest() doTestExceptions(); } - public static void Main( + public void Main( string[] args) { RunTest(new BlockCipherTest()); diff --git a/crypto/test/src/test/CMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/CMacTest.cs similarity index 99% rename from crypto/test/src/test/CMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/CMacTest.cs index f80caca7d6..3c79b2f3e9 100644 --- a/crypto/test/src/test/CMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/CMacTest.cs @@ -260,7 +260,7 @@ public override string Name get { return "CMac"; } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new CMacTest()); } diff --git a/crypto/test/src/test/CRL5Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/CRL5Test.cs similarity index 99% rename from crypto/test/src/test/CRL5Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/CRL5Test.cs index ebd74af69a..0480a6443f 100644 --- a/crypto/test/src/test/CRL5Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/CRL5Test.cs @@ -248,7 +248,7 @@ public override void PerformTest() TestDirectCrl(); } - public static void Main( + public void Main( string[] args) { RunTest(new Crl5Test()); diff --git a/crypto/test/src/test/CamelliaTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/CamelliaTest.cs similarity index 99% rename from crypto/test/src/test/CamelliaTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/CamelliaTest.cs index f8e3520a3e..0d053508f3 100644 --- a/crypto/test/src/test/CamelliaTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/CamelliaTest.cs @@ -195,7 +195,7 @@ public override void PerformTest() TestWrapOids(); } - public static void Main( + public void Main( string[] args) { RunTest(new CamelliaTest()); diff --git a/crypto/test/src/test/CertPathBuilderTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/CertPathBuilderTest.cs similarity index 99% rename from crypto/test/src/test/CertPathBuilderTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/CertPathBuilderTest.cs index e31bde8666..9d032ef5bc 100644 --- a/crypto/test/src/test/CertPathBuilderTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/CertPathBuilderTest.cs @@ -146,7 +146,7 @@ public override string Name get { return "CertPathBuilder"; } } - public static void Main( + public void Main( string[] args) { RunTest(new CertPathBuilderTest()); diff --git a/crypto/test/src/test/CertPathTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/CertPathTest.cs similarity index 99% rename from crypto/test/src/test/CertPathTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/CertPathTest.cs index f1a7c94f64..37cbd115b1 100644 --- a/crypto/test/src/test/CertPathTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/CertPathTest.cs @@ -244,7 +244,7 @@ public override string Name get { return "CertPath"; } } - public static void Main( + public void Main( string[] args) { RunTest(new CertPathTest()); diff --git a/crypto/test/src/test/CertPathValidatorTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/CertPathValidatorTest.cs similarity index 99% rename from crypto/test/src/test/CertPathValidatorTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/CertPathValidatorTest.cs index 3f9ff57fa2..6cd3c4909d 100644 --- a/crypto/test/src/test/CertPathValidatorTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/CertPathValidatorTest.cs @@ -281,7 +281,7 @@ public override string Name get { return "CertPathValidator"; } } - public static void Main( + public void Main( string[] args) { RunTest(new CertPathValidatorTest()); diff --git a/crypto/test/src/test/CertTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/CertTest.cs similarity index 99% rename from crypto/test/src/test/CertTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/CertTest.cs index 46276a75bd..a5497fa4fe 100644 --- a/crypto/test/src/test/CertTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/CertTest.cs @@ -2598,7 +2598,7 @@ public override void PerformTest() checkCertificate(18, emptyDNCert); } - public static void Main( + public void Main( string[] args) { RunTest(new CertTest()); diff --git a/crypto/test/src/test/CipherStreamTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/CipherStreamTest.cs similarity index 99% rename from crypto/test/src/test/CipherStreamTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/CipherStreamTest.cs index 0809dfe80d..fdeab688f8 100644 --- a/crypto/test/src/test/CipherStreamTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/CipherStreamTest.cs @@ -440,7 +440,7 @@ public override string Name get { return "CipherStreamTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new CipherStreamTest()); diff --git a/crypto/test/src/test/DESedeTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/DESedeTest.cs similarity index 99% rename from crypto/test/src/test/DESedeTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/DESedeTest.cs index d84b994f0a..a21b8658af 100644 --- a/crypto/test/src/test/DESedeTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/DESedeTest.cs @@ -281,7 +281,7 @@ public override void PerformTest() wrapTest("TDEA", 1, kek1, iv1, in1, out1); } - public static void Main( + public void Main( string[] args) { RunTest(new DesEdeTest()); diff --git a/crypto/test/src/test/DHTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/DHTest.cs similarity index 99% rename from crypto/test/src/test/DHTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/DHTest.cs index 3ed79ca84e..fe78f15d62 100644 --- a/crypto/test/src/test/DHTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/DHTest.cs @@ -716,7 +716,7 @@ public override void PerformTest() TestSubgroupConfinement(); } - public static void Main( + public void Main( string[] args) { RunTest(new DHTest()); diff --git a/crypto/test/src/test/DSATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/DSATest.cs similarity index 99% rename from crypto/test/src/test/DSATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/DSATest.cs index 9ed1109e2c..623ac7a895 100644 --- a/crypto/test/src/test/DSATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/DSATest.cs @@ -819,7 +819,7 @@ public override string Name get { return "DSA/ECDSA"; } } - public static void Main( + public void Main( string[] args) { RunTest(new DsaTest()); diff --git a/crypto/test/src/test/DigestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/DigestTest.cs similarity index 99% rename from crypto/test/src/test/DigestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/DigestTest.cs index 9f68a8361a..528668d0b0 100644 --- a/crypto/test/src/test/DigestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/DigestTest.cs @@ -197,7 +197,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new DigestTest()); diff --git a/crypto/test/src/test/ECDSA5Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/ECDSA5Test.cs similarity index 99% rename from crypto/test/src/test/ECDSA5Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/ECDSA5Test.cs index 3bf746edb6..e787a46c6d 100644 --- a/crypto/test/src/test/ECDSA5Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/ECDSA5Test.cs @@ -291,7 +291,7 @@ public override void PerformTest() TestGeneration(); } - public static void Main( + public void Main( string[] args) { RunTest(new ECDsa5Test()); diff --git a/crypto/test/src/test/ECEncodingTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/ECEncodingTest.cs similarity index 99% rename from crypto/test/src/test/ECEncodingTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/ECEncodingTest.cs index 8d993c15e5..8b7784dce4 100644 --- a/crypto/test/src/test/ECEncodingTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/ECEncodingTest.cs @@ -225,7 +225,7 @@ private ECPublicKeyParameters SetPublicUncompressed( key.Parameters); } - public static void Main( + public void Main( string[] args) { RunTest(new ECEncodingTest()); diff --git a/crypto/test/src/test/ECNRTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/ECNRTest.cs similarity index 99% rename from crypto/test/src/test/ECNRTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/ECNRTest.cs index 8a24443c27..653009e22b 100644 --- a/crypto/test/src/test/ECNRTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/ECNRTest.cs @@ -195,7 +195,7 @@ public override void PerformTest() TestECNR521bitPrime(); } - public static void Main( + public void Main( string[] args) { RunTest(new ECNRTest()); diff --git a/crypto/test/src/test/ElGamalTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/ElGamalTest.cs similarity index 99% rename from crypto/test/src/test/ElGamalTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/ElGamalTest.cs index 9a87ea9b1e..7c7c8abcc0 100644 --- a/crypto/test/src/test/ElGamalTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/ElGamalTest.cs @@ -325,7 +325,7 @@ public override void PerformTest() TestRandom256(); } - public static void Main( + public void Main( string[] args) { RunTest(new ElGamalTest()); diff --git a/crypto/test/src/test/EncryptedPrivateKeyInfoTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/EncryptedPrivateKeyInfoTest.cs similarity index 99% rename from crypto/test/src/test/EncryptedPrivateKeyInfoTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/EncryptedPrivateKeyInfoTest.cs index baac5ff7f4..ca235ee3de 100644 --- a/crypto/test/src/test/EncryptedPrivateKeyInfoTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/EncryptedPrivateKeyInfoTest.cs @@ -137,7 +137,7 @@ public override string Name get { return "EncryptedPrivateKeyInfoTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new EncryptedPrivateKeyInfoTest()); diff --git a/crypto/test/src/test/FIPSDESTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/FIPSDESTest.cs similarity index 99% rename from crypto/test/src/test/FIPSDESTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/FIPSDESTest.cs index 1f40e15913..be7f59bd00 100644 --- a/crypto/test/src/test/FIPSDESTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/FIPSDESTest.cs @@ -185,7 +185,7 @@ public ITestResult Perform() return new SimpleTestResult(true, Name + ": Okay"); } - public static void Main( + public void Main( string[] args) { ITest test = new FipsDesTest(); diff --git a/crypto/test/src/test/GOST28147Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/GOST28147Test.cs similarity index 99% rename from crypto/test/src/test/GOST28147Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/GOST28147Test.cs index 0adfad3345..12bf6662d1 100644 --- a/crypto/test/src/test/GOST28147Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/GOST28147Test.cs @@ -228,7 +228,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new Gost28147Test()); diff --git a/crypto/test/src/test/GOST3410Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/GOST3410Test.cs similarity index 99% rename from crypto/test/src/test/GOST3410Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/GOST3410Test.cs index 03dcf31440..18ac175b70 100644 --- a/crypto/test/src/test/GOST3410Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/GOST3410Test.cs @@ -367,7 +367,7 @@ public override void PerformTest() parametersTest(); } - public static void Main( + public void Main( string[] args) { RunTest(new Gost3410Test()); diff --git a/crypto/test/src/test/HMacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/HMacTest.cs similarity index 99% rename from crypto/test/src/test/HMacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/HMacTest.cs index 4a018ac50b..54d10f8d72 100644 --- a/crypto/test/src/test/HMacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/HMacTest.cs @@ -244,7 +244,7 @@ public override string Name get { return "HMac"; } } - public static void Main( + public void Main( string[] args) { RunTest(new HMacTest()); diff --git a/crypto/test/src/test/IESTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/IESTest.cs similarity index 99% rename from crypto/test/src/test/IESTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/IESTest.cs index 99aacc66d4..64d3f98828 100644 --- a/crypto/test/src/test/IESTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/IESTest.cs @@ -221,7 +221,7 @@ public void doDefTest( // } } - public static void Main( + public void Main( string[] args) { RunTest(new IesTest()); diff --git a/crypto/test/src/test/MacTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/MacTest.cs similarity index 99% rename from crypto/test/src/test/MacTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/MacTest.cs index d4b3188bd1..0fc57c2079 100644 --- a/crypto/test/src/test/MacTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/MacTest.cs @@ -199,7 +199,7 @@ public override string Name get { return "Mac"; } } - public static void Main( + public void Main( string[] args) { RunTest(new MacTest()); diff --git a/crypto/test/src/test/MqvTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/MqvTest.cs similarity index 98% rename from crypto/test/src/test/MqvTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/MqvTest.cs index b26d5619b0..5af7c65d83 100644 --- a/crypto/test/src/test/MqvTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/MqvTest.cs @@ -77,7 +77,7 @@ public void TestECMqv() } } - public static void Main( + public void Main( string[] args) { RunTest(new MqvTest()); diff --git a/crypto/test/src/test/NamedCurveTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/NamedCurveTest.cs similarity index 99% rename from crypto/test/src/test/NamedCurveTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/NamedCurveTest.cs index f7c831f17b..b880aad8e8 100644 --- a/crypto/test/src/test/NamedCurveTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/NamedCurveTest.cs @@ -394,7 +394,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new NamedCurveTest()); diff --git a/crypto/test/src/test/NistCertPathTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/NistCertPathTest.cs similarity index 99% rename from crypto/test/src/test/NistCertPathTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/NistCertPathTest.cs index 0f42e24d08..ff3346e1d2 100644 --- a/crypto/test/src/test/NistCertPathTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/NistCertPathTest.cs @@ -5175,7 +5175,7 @@ private void Test(string _name, string[] _data, ISet _ipolset, End_Certificate_RL_09_01_crt }; - public static void Main( + public void Main( string[] args) { RunTest(new NistCertPathTest()); diff --git a/crypto/test/src/test/NoekeonTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/NoekeonTest.cs similarity index 99% rename from crypto/test/src/test/NoekeonTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/NoekeonTest.cs index c3745da1c8..bd8093d686 100644 --- a/crypto/test/src/test/NoekeonTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/NoekeonTest.cs @@ -140,7 +140,7 @@ public override void PerformTest() } } - public static void Main( + public void Main( string[] args) { RunTest(new NoekeonTest()); diff --git a/crypto/test/src/test/PBETest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/PBETest.cs similarity index 99% rename from crypto/test/src/test/PBETest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/PBETest.cs index ee61a027ca..6bce4fe1f0 100644 --- a/crypto/test/src/test/PBETest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/PBETest.cs @@ -510,7 +510,7 @@ public override string Name get { return "PbeTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PbeTest()); diff --git a/crypto/test/src/test/PEMData.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/PEMData.cs similarity index 100% rename from crypto/test/src/test/PEMData.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/PEMData.cs diff --git a/crypto/test/src/test/PKCS10CertRequestTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/PKCS10CertRequestTest.cs similarity index 99% rename from crypto/test/src/test/PKCS10CertRequestTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/PKCS10CertRequestTest.cs index ea27d5111e..fcf7faf74e 100644 --- a/crypto/test/src/test/PKCS10CertRequestTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/PKCS10CertRequestTest.cs @@ -440,7 +440,7 @@ public override void PerformTest() nullPointerTest(); } - public static void Main( + public void Main( string[] args) { RunTest(new Pkcs10CertRequestTest()); diff --git a/crypto/test/src/test/PSSTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/PSSTest.cs similarity index 99% rename from crypto/test/src/test/PSSTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/PSSTest.cs index 677289e7c8..9d98018aa1 100644 --- a/crypto/test/src/test/PSSTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/PSSTest.cs @@ -236,7 +236,7 @@ public override string Name get { return "PSS"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PssTest()); diff --git a/crypto/test/src/test/PkixNameConstraintsTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/PkixNameConstraintsTest.cs similarity index 99% rename from crypto/test/src/test/PkixNameConstraintsTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/PkixNameConstraintsTest.cs index a20fc33c4e..7d37629c2f 100644 --- a/crypto/test/src/test/PkixNameConstraintsTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/PkixNameConstraintsTest.cs @@ -416,7 +416,7 @@ private void TestConstraints( } } - public static void Main( + public void Main( string[] args) { RunTest(new PkixNameConstraintsTest()); diff --git a/crypto/test/src/test/PkixPolicyMappingTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/PkixPolicyMappingTest.cs similarity index 99% rename from crypto/test/src/test/PkixPolicyMappingTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/PkixPolicyMappingTest.cs index 47e2c3120d..0f9a916bd4 100644 --- a/crypto/test/src/test/PkixPolicyMappingTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/PkixPolicyMappingTest.cs @@ -402,7 +402,7 @@ private void CheckMessage( } } - public static void Main( + public void Main( string[] args) { RunTest(new PkixPolicyMappingTest()); diff --git a/crypto/test/src/test/PkixTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/PkixTest.cs similarity index 99% rename from crypto/test/src/test/PkixTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/PkixTest.cs index 8823196108..be613d98ce 100644 --- a/crypto/test/src/test/PkixTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/PkixTest.cs @@ -231,7 +231,7 @@ public override String Name get { return "PkixTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new PkixTest()); diff --git a/crypto/test/src/test/RSATest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/RSATest.cs similarity index 99% rename from crypto/test/src/test/RSATest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/RSATest.cs index a765ff1388..9ea70df63d 100644 --- a/crypto/test/src/test/RSATest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/RSATest.cs @@ -665,7 +665,7 @@ public override string Name get { return "RSATest"; } } - public static void Main( + public void Main( string[] args) { ITest test = new RsaTest(); diff --git a/crypto/test/src/test/RegressionTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/RegressionTest.cs similarity index 98% rename from crypto/test/src/test/RegressionTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/RegressionTest.cs index 7f4f38f00b..3ad0b4f9eb 100644 --- a/crypto/test/src/test/RegressionTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/RegressionTest.cs @@ -67,7 +67,7 @@ public class RegressionTest new SM4Test() }; - public static void Main( + public void Main( string[] args) { for (int i = 0; i != tests.Length; i++) diff --git a/crypto/test/src/test/SEEDTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/SEEDTest.cs similarity index 99% rename from crypto/test/src/test/SEEDTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/SEEDTest.cs index 2b380d5b79..f2276c0a1d 100644 --- a/crypto/test/src/test/SEEDTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/SEEDTest.cs @@ -181,7 +181,7 @@ public override void PerformTest() TestWrapOids(); } - public static void Main( + public void Main( string[] args) { RunTest(new SeedTest()); diff --git a/crypto/test/src/test/SM4Test.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/SM4Test.cs similarity index 98% rename from crypto/test/src/test/SM4Test.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/SM4Test.cs index 5d36b34311..b4b718f97c 100644 --- a/crypto/test/src/test/SM4Test.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/SM4Test.cs @@ -141,7 +141,7 @@ public override void PerformTest() } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new SM4Test()); } diff --git a/crypto/test/src/test/SigTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/SigTest.cs similarity index 99% rename from crypto/test/src/test/SigTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/SigTest.cs index 803a24493e..bbd698002f 100644 --- a/crypto/test/src/test/SigTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/SigTest.cs @@ -361,7 +361,7 @@ public override string Name get { return "SigTest"; } } - public static void Main( + public void Main( string[] args) { RunTest(new SigTest()); diff --git a/crypto/test/src/test/TestUtilities.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/TestUtilities.cs similarity index 100% rename from crypto/test/src/test/TestUtilities.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/TestUtilities.cs diff --git a/crypto/test/src/test/WrapTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/WrapTest.cs similarity index 98% rename from crypto/test/src/test/WrapTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/WrapTest.cs index bb49446e76..2efc2a0d06 100644 --- a/crypto/test/src/test/WrapTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/WrapTest.cs @@ -74,7 +74,7 @@ public string Name get { return "WrapTest"; } } - public static void Main( + public void Main( string[] args) { ITest test = new WrapTest(); diff --git a/crypto/test/src/test/X509CertificatePairTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/X509CertificatePairTest.cs similarity index 99% rename from crypto/test/src/test/X509CertificatePairTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/X509CertificatePairTest.cs index a83de4cf06..bd1fde4615 100644 --- a/crypto/test/src/test/X509CertificatePairTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/X509CertificatePairTest.cs @@ -132,7 +132,7 @@ public override string Name get { return "X509CertificatePair"; } } - public static void Main( + public void Main( string[] args) { RunTest(new X509CertificatePairTest()); diff --git a/crypto/test/src/test/X509StoreTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/X509StoreTest.cs similarity index 99% rename from crypto/test/src/test/X509StoreTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/X509StoreTest.cs index 37673b8b4b..65508eba12 100644 --- a/crypto/test/src/test/X509StoreTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/X509StoreTest.cs @@ -318,7 +318,7 @@ public override string Name get { return "IX509Store"; } } - public static void Main( + public void Main( string[] args) { RunTest(new X509StoreTest()); diff --git a/crypto/test/src/test/nist/NistCertPathTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/nist/NistCertPathTest.cs similarity index 100% rename from crypto/test/src/test/nist/NistCertPathTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/nist/NistCertPathTest.cs diff --git a/crypto/test/src/test/rsa3/RSA3CertTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/test/rsa3/RSA3CertTest.cs similarity index 97% rename from crypto/test/src/test/rsa3/RSA3CertTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/test/rsa3/RSA3CertTest.cs index 913f4f0155..648984cd2b 100644 --- a/crypto/test/src/test/rsa3/RSA3CertTest.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/test/rsa3/RSA3CertTest.cs @@ -108,7 +108,7 @@ private X509Certificate loadCert( return (X509Certificate) rd.ReadObject(); } -// public static void main (string[] args) +// public void Main (string[] args) // throws Exception // { // junit.textui.TestRunner.run(suite()); diff --git a/crypto/test/src/tsp/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/tsp/test/AllTests.cs similarity index 93% rename from crypto/test/src/tsp/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/tsp/test/AllTests.cs index 58d096d543..4df351f9b2 100644 --- a/crypto/test/src/tsp/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/tsp/test/AllTests.cs @@ -10,7 +10,7 @@ namespace Org.BouncyCastle.Tsp.Tests { public class AllTests { - public static void Main(string[] args) + public void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/tsp/test/GenTimeAccuracyTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/tsp/test/GenTimeAccuracyTest.cs similarity index 100% rename from crypto/test/src/tsp/test/GenTimeAccuracyTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/tsp/test/GenTimeAccuracyTest.cs diff --git a/crypto/test/src/tsp/test/ParseTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/tsp/test/ParseTest.cs similarity index 100% rename from crypto/test/src/tsp/test/ParseTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/tsp/test/ParseTest.cs diff --git a/crypto/test/src/tsp/test/TSPTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/tsp/test/TSPTest.cs similarity index 100% rename from crypto/test/src/tsp/test/TSPTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/tsp/test/TSPTest.cs diff --git a/crypto/test/src/tsp/test/TSPTestUtil.cs b/test/Crypto.NetSdk.NUnitTest/tests/tsp/test/TSPTestUtil.cs similarity index 100% rename from crypto/test/src/tsp/test/TSPTestUtil.cs rename to test/Crypto.NetSdk.NUnitTest/tests/tsp/test/TSPTestUtil.cs diff --git a/crypto/test/src/tsp/test/TimeStampTokenInfoTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/tsp/test/TimeStampTokenInfoTest.cs similarity index 100% rename from crypto/test/src/tsp/test/TimeStampTokenInfoTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/tsp/test/TimeStampTokenInfoTest.cs diff --git a/crypto/test/src/util/io/pem/test/AllTests.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/io/pem/test/AllTests.cs similarity index 97% rename from crypto/test/src/util/io/pem/test/AllTests.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/io/pem/test/AllTests.cs index 921c40cb84..0fffc1daf0 100644 --- a/crypto/test/src/util/io/pem/test/AllTests.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/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 void Main(string[] args) { Suite.Run(new NullListener(), NUnit.Core.TestFilter.Empty); } diff --git a/crypto/test/src/util/net/test/IPAddressTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/net/test/IPAddressTest.cs similarity index 100% rename from crypto/test/src/util/net/test/IPAddressTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/net/test/IPAddressTest.cs diff --git a/crypto/test/src/util/test/FixedSecureRandom.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/FixedSecureRandom.cs similarity index 100% rename from crypto/test/src/util/test/FixedSecureRandom.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/FixedSecureRandom.cs diff --git a/crypto/test/src/util/test/ITest.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/ITest.cs similarity index 100% rename from crypto/test/src/util/test/ITest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/ITest.cs diff --git a/crypto/test/src/util/test/ITestResult.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/ITestResult.cs similarity index 100% rename from crypto/test/src/util/test/ITestResult.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/ITestResult.cs diff --git a/crypto/test/src/util/test/NumberParsing.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/NumberParsing.cs similarity index 100% rename from crypto/test/src/util/test/NumberParsing.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/NumberParsing.cs diff --git a/crypto/test/src/util/test/SimpleTest.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/SimpleTest.cs similarity index 100% rename from crypto/test/src/util/test/SimpleTest.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/SimpleTest.cs diff --git a/crypto/test/src/util/test/SimpleTestResult.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/SimpleTestResult.cs similarity index 100% rename from crypto/test/src/util/test/SimpleTestResult.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/SimpleTestResult.cs diff --git a/crypto/test/src/util/test/TestFailedException.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/TestFailedException.cs similarity index 100% rename from crypto/test/src/util/test/TestFailedException.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/TestFailedException.cs diff --git a/crypto/test/src/util/test/TestRandomBigInteger.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/TestRandomBigInteger.cs similarity index 100% rename from crypto/test/src/util/test/TestRandomBigInteger.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/TestRandomBigInteger.cs diff --git a/crypto/test/src/util/test/UncloseableStream.cs b/test/Crypto.NetSdk.NUnitTest/tests/util/test/UncloseableStream.cs similarity index 100% rename from crypto/test/src/util/test/UncloseableStream.cs rename to test/Crypto.NetSdk.NUnitTest/tests/util/test/UncloseableStream.cs diff --git a/crypto/test/src/x509/test/TestCertificateGen.cs b/test/Crypto.NetSdk.NUnitTest/tests/x509/test/TestCertificateGen.cs similarity index 99% rename from crypto/test/src/x509/test/TestCertificateGen.cs rename to test/Crypto.NetSdk.NUnitTest/tests/x509/test/TestCertificateGen.cs index 24dbdf08f2..8588fb1d92 100644 --- a/crypto/test/src/x509/test/TestCertificateGen.cs +++ b/test/Crypto.NetSdk.NUnitTest/tests/x509/test/TestCertificateGen.cs @@ -721,7 +721,7 @@ public void TestCertLoading() } } - public static void Main(string[] args) + public void Main(string[] args) { RunTest(new TestCertificateGen()); } diff --git a/version.props b/version.props new file mode 100644 index 0000000000..fd96bdf828 --- /dev/null +++ b/version.props @@ -0,0 +1,8 @@ + + + + 1.9.0 + 1.9.0 + + + From cd7156fcba2b7c88fd956d6bfc15c919cf4084ec Mon Sep 17 00:00:00 2001 From: AlexPaskhin Date: Wed, 30 Jan 2019 07:50:12 +0000 Subject: [PATCH 2/7] Completed with nuget package https://www.nuget.org/packages/BouncyCastle.NetCoreSdk/1.9.0 --- .nupkgs/BouncyCastle.NetCoreSdk.1.9.0.nupkg | Bin 0 -> 4093929 bytes Directory.Build.props | 6 +- README.md | 14 +- .../BouncyCastle.NetCoreSdk.csproj | 8 +- src/BouncyCastle/Contributors.html | 266 +++++++------ .../Crypto.NetSdk.NUnitTest.csproj | 10 +- .../tests/asn1/test/ASN1IntegerTest.cs | 2 +- .../AdditionalInformationSyntaxUnitTest.cs | 2 +- .../asn1/test/AdmissionSyntaxUnitTest.cs | 2 +- .../tests/asn1/test/AdmissionsUnitTest.cs | 2 +- .../tests/asn1/test/AllTests.cs | 2 +- .../tests/asn1/test/AttributeTableUnitTest.cs | 2 +- .../tests/asn1/test/BiometricDataUnitTest.cs | 2 +- .../tests/asn1/test/BitStringTest.cs | 2 +- .../tests/asn1/test/CMSTest.cs | 2 +- .../tests/asn1/test/CertHashUnitTest.cs | 2 +- .../tests/asn1/test/CertificateTest.cs | 2 +- .../test/CommitmentTypeIndicationUnitTest.cs | 2 +- .../test/CommitmentTypeQualifierUnitTest.cs | 2 +- .../tests/asn1/test/ContentHintsUnitTest.cs | 2 +- .../tests/asn1/test/CscaMasterListTest.cs | 2 +- .../asn1/test/DERApplicationSpecificTest.cs | 2 +- .../tests/asn1/test/DERUTF8StringTest.cs | 2 +- .../tests/asn1/test/DataGroupHashUnitTest.cs | 2 +- .../test/DeclarationOfMajorityUnitTest.cs | 2 +- .../asn1/test/EncryptedPrivateKeyInfoTest.cs | 2 +- .../tests/asn1/test/EqualsAndHashCodeTest.cs | 2 +- .../tests/asn1/test/EssCertIDv2UnitTest.cs | 2 +- .../tests/asn1/test/GeneralNameTest.cs | 2 +- .../tests/asn1/test/GeneralizedTimeTest.cs | 2 +- .../tests/asn1/test/GenerationTest.cs | 2 +- .../tests/asn1/test/InputStreamTest.cs | 2 +- .../asn1/test/Iso4217CurrencyCodeUnitTest.cs | 2 +- .../asn1/test/IssuingDistributionPointTest.cs | 2 +- .../tests/asn1/test/KeyUsageTest.cs | 2 +- .../asn1/test/LDSSecurityObjectUnitTest.cs | 2 +- .../tests/asn1/test/MiscTest.cs | 2 +- .../tests/asn1/test/MonetaryLimitUnitTest.cs | 2 +- .../tests/asn1/test/MonetaryValueUnitTest.cs | 2 +- .../asn1/test/NameOrPseudonymUnitTest.cs | 2 +- .../asn1/test/NamingAuthorityUnitTest.cs | 2 +- .../tests/asn1/test/NetscapeCertTypeTest.cs | 2 +- .../tests/asn1/test/OCSPTest.cs | 2 +- .../tests/asn1/test/OIDTest.cs | 2 +- .../tests/asn1/test/OtherCertIDUnitTest.cs | 2 +- .../test/OtherSigningCertificateUnitTest.cs | 2 +- .../tests/asn1/test/PKCS10Test.cs | 2 +- .../tests/asn1/test/PKCS12Test.cs | 2 +- .../tests/asn1/test/PKIFailureInfoTest.cs | 2 +- .../tests/asn1/test/ParsingTest.cs | 2 +- .../tests/asn1/test/PersonalDataUnitTest.cs | 2 +- .../tests/asn1/test/PrivateKeyInfoTest.cs | 2 +- .../asn1/test/ProcurationSyntaxUnitTest.cs | 2 +- .../tests/asn1/test/ProfessionInfoUnitTest.cs | 2 +- .../tests/asn1/test/QCStatementUnitTest.cs | 2 +- .../tests/asn1/test/ReasonFlagsTest.cs | 2 +- .../tests/asn1/test/RegressionTest.cs | 2 +- .../asn1/test/RequestedCertificateUnitTest.cs | 2 +- .../tests/asn1/test/RestrictionUnitTest.cs | 2 +- .../tests/asn1/test/SMIMETest.cs | 2 +- .../asn1/test/SemanticsInformationUnitTest.cs | 2 +- .../tests/asn1/test/SetTest.cs | 2 +- .../tests/asn1/test/SignerLocationUnitTest.cs | 2 +- .../tests/asn1/test/StringTest.cs | 2 +- .../asn1/test/SubjectKeyIdentifierTest.cs | 2 +- .../tests/asn1/test/TagTest.cs | 2 +- .../tests/asn1/test/TargetInformationTest.cs | 2 +- .../asn1/test/TypeOfBiometricDataUnitTest.cs | 2 +- .../tests/asn1/test/UTCTimeTest.cs | 2 +- .../tests/asn1/test/X509ExtensionsTest.cs | 2 +- .../tests/asn1/test/X509NameTest.cs | 2 +- .../tests/asn1/test/X9Test.cs | 2 +- .../tests/cms/test/AllTests.cs | 2 +- .../tests/cms/test/AuthenticatedDataTest.cs | 2 +- .../tests/crypto/agreement/test/AllTests.cs | 2 +- .../agreement/test/JPakeParticipantTest.cs | 2 +- .../test/JPakePrimeOrderGroupTest.cs | 2 +- .../agreement/test/JPakeUtilitiesTest.cs | 2 +- .../tests/crypto/io/test/AllTests.cs | 2 +- .../tests/crypto/prng/test/CtrDrbgTest.cs | 2 +- .../tests/crypto/prng/test/HMacDrbgTest.cs | 2 +- .../tests/crypto/prng/test/HashDrbgTest.cs | 2 +- .../tests/crypto/prng/test/X931Test.cs | 2 +- .../tests/crypto/test/AESFastTest.cs | 2 +- .../tests/crypto/test/AESLightTest.cs | 2 +- .../tests/crypto/test/AESTest.cs | 2 +- .../tests/crypto/test/AESWrapTest.cs | 2 +- .../tests/crypto/test/AllTests.cs | 2 +- .../tests/crypto/test/BCryptTest.cs | 2 +- .../tests/crypto/test/Blake2bDigestTest.cs | 2 +- .../tests/crypto/test/Blake2sDigestTest.cs | 2 +- .../tests/crypto/test/BlowfishTest.cs | 2 +- .../tests/crypto/test/CAST6Test.cs | 2 +- .../tests/crypto/test/CCMTest.cs | 2 +- .../tests/crypto/test/CMacTest.cs | 2 +- .../tests/crypto/test/CTSTest.cs | 2 +- .../tests/crypto/test/CamelliaLightTest.cs | 2 +- .../tests/crypto/test/CamelliaTest.cs | 2 +- .../tests/crypto/test/Cast5Test.cs | 2 +- .../tests/crypto/test/ChaChaTest.cs | 2 +- .../tests/crypto/test/DESTest.cs | 2 +- .../tests/crypto/test/DESedeTest.cs | 2 +- .../tests/crypto/test/DHKEKGeneratorTest.cs | 2 +- .../tests/crypto/test/DHTest.cs | 2 +- .../tests/crypto/test/DSATest.cs | 2 +- .../tests/crypto/test/DSTU7564Test.cs | 2 +- .../tests/crypto/test/DSTU7624Test.cs | 2 +- .../tests/crypto/test/DeterministicDSATest.cs | 2 +- .../crypto/test/DigestRandomNumberTest.cs | 2 +- .../tests/crypto/test/EAXTest.cs | 2 +- .../tests/crypto/test/ECDHKEKGeneratorTest.cs | 2 +- .../tests/crypto/test/ECGOST3410Test.cs | 2 +- .../tests/crypto/test/ECIESTest.cs | 2 +- .../tests/crypto/test/ECNRTest.cs | 2 +- .../tests/crypto/test/ECTest.cs | 2 +- .../tests/crypto/test/Ed25519Test.cs | 2 +- .../tests/crypto/test/Ed448Test.cs | 2 +- .../tests/crypto/test/ElGamalTest.cs | 2 +- .../tests/crypto/test/EqualsHashCodeTest.cs | 2 +- .../tests/crypto/test/GCMTest.cs | 2 +- .../tests/crypto/test/GMacTest.cs | 2 +- .../tests/crypto/test/GOST28147MacTest.cs | 2 +- .../tests/crypto/test/GOST28147Test.cs | 2 +- .../tests/crypto/test/GOST3410Test.cs | 2 +- .../tests/crypto/test/GOST3411DigestTest.cs | 2 +- .../tests/crypto/test/HCFamilyTest.cs | 2 +- .../tests/crypto/test/HCFamilyVecTest.cs | 2 +- .../tests/crypto/test/HKDFGeneratorTest.cs | 2 +- .../tests/crypto/test/IDEATest.cs | 2 +- .../tests/crypto/test/ISAACTest.cs | 2 +- .../tests/crypto/test/ISO9796Test.cs | 2 +- .../tests/crypto/test/ISO9797Alg3MacTest.cs | 2 +- .../tests/crypto/test/KDF1GeneratorTest.cs | 2 +- .../tests/crypto/test/KDF2GeneratorTest.cs | 2 +- .../tests/crypto/test/KeccakDigestTest.cs | 2 +- .../tests/crypto/test/MD2DigestTest.cs | 2 +- .../tests/crypto/test/MD4DigestTest.cs | 2 +- .../tests/crypto/test/MD5DigestTest.cs | 2 +- .../tests/crypto/test/MD5HMacTest.cs | 2 +- .../tests/crypto/test/MGF1GeneratorTest.cs | 2 +- .../tests/crypto/test/MacTest.cs | 2 +- .../tests/crypto/test/ModeTest.cs | 2 +- .../tests/crypto/test/NaccacheSternTest.cs | 2 +- .../tests/crypto/test/NoekeonTest.cs | 2 +- .../crypto/test/NonMemoableDigestTest.cs | 2 +- .../tests/crypto/test/NullTest.cs | 2 +- .../tests/crypto/test/OAEPTest.cs | 2 +- .../tests/crypto/test/OCBTest.cs | 2 +- .../tests/crypto/test/OpenBsdBCryptTest.cs | 2 +- .../tests/crypto/test/PSSBlindTest.cs | 2 +- .../tests/crypto/test/PSSTest.cs | 2 +- .../tests/crypto/test/PaddingTest.cs | 2 +- .../tests/crypto/test/Pkcs12Test.cs | 2 +- .../tests/crypto/test/Pkcs5Test.cs | 2 +- .../tests/crypto/test/Poly1305Test.cs | 2 +- .../tests/crypto/test/RC2Test.cs | 2 +- .../tests/crypto/test/RC2WrapTest.cs | 2 +- .../tests/crypto/test/RC4Test.cs | 2 +- .../tests/crypto/test/RC5Test.cs | 2 +- .../tests/crypto/test/RC6Test.cs | 2 +- .../tests/crypto/test/RFC3211WrapTest.cs | 2 +- .../tests/crypto/test/RSABlindedTest.cs | 2 +- .../tests/crypto/test/RegressionTest.cs | 2 +- .../tests/crypto/test/RijndaelTest.cs | 2 +- .../tests/crypto/test/RipeMD128DigestTest.cs | 2 +- .../tests/crypto/test/RipeMD128HMacTest.cs | 2 +- .../tests/crypto/test/RipeMD160DigestTest.cs | 2 +- .../tests/crypto/test/RipeMD160HMacTest.cs | 2 +- .../tests/crypto/test/RipeMD256DigestTest.cs | 2 +- .../tests/crypto/test/RipeMD320DigestTest.cs | 2 +- .../tests/crypto/test/RsaTest.cs | 2 +- .../tests/crypto/test/SCryptTest.cs | 2 +- .../tests/crypto/test/SEEDTest.cs | 2 +- .../tests/crypto/test/SHA1DigestTest.cs | 2 +- .../tests/crypto/test/SHA1HMacTest.cs | 2 +- .../tests/crypto/test/SHA224DigestTest.cs | 2 +- .../tests/crypto/test/SHA224HMacTest.cs | 2 +- .../tests/crypto/test/SHA256DigestTest.cs | 2 +- .../tests/crypto/test/SHA256HMacTest.cs | 2 +- .../tests/crypto/test/SHA384DigestTest.cs | 2 +- .../tests/crypto/test/SHA384HMacTest.cs | 2 +- .../tests/crypto/test/SHA3DigestTest.cs | 2 +- .../tests/crypto/test/SHA512DigestTest.cs | 2 +- .../tests/crypto/test/SHA512HMacTest.cs | 2 +- .../tests/crypto/test/SHA512t224DigestTest.cs | 2 +- .../tests/crypto/test/SHA512t256DigestTest.cs | 2 +- .../tests/crypto/test/SM2EngineTest.cs | 2 +- .../tests/crypto/test/SM2KeyExchangeTest.cs | 2 +- .../tests/crypto/test/SM2SignerTest.cs | 2 +- .../tests/crypto/test/SM3DigestTest.cs | 2 +- .../tests/crypto/test/SM4Test.cs | 2 +- .../tests/crypto/test/SRP6Test.cs | 2 +- .../tests/crypto/test/Salsa20Test.cs | 2 +- .../tests/crypto/test/SerpentTest.cs | 2 +- .../tests/crypto/test/ShakeDigestTest.cs | 2 +- .../tests/crypto/test/ShortenedDigestTest.cs | 2 +- .../tests/crypto/test/SipHashTest.cs | 2 +- .../tests/crypto/test/SkeinDigestTest.cs | 2 +- .../tests/crypto/test/SkeinMacTest.cs | 2 +- .../tests/crypto/test/SkipjackTest.cs | 2 +- .../crypto/test/StreamCipherResetTest.cs | 2 +- .../tests/crypto/test/TEATest.cs | 2 +- .../tests/crypto/test/Threefish1024Test.cs | 2 +- .../tests/crypto/test/Threefish256Test.cs | 2 +- .../tests/crypto/test/Threefish512Test.cs | 2 +- .../tests/crypto/test/TigerDigestTest.cs | 2 +- .../tests/crypto/test/TnepresTest.cs | 2 +- .../tests/crypto/test/TwofishTest.cs | 2 +- .../tests/crypto/test/VMPCKSA3Test.cs | 2 +- .../tests/crypto/test/VMPCMacTest.cs | 2 +- .../tests/crypto/test/VMPCTest.cs | 2 +- .../tests/crypto/test/WhirlpoolDigestTest.cs | 2 +- .../tests/crypto/test/X25519Test.cs | 2 +- .../tests/crypto/test/X448Test.cs | 2 +- .../tests/crypto/test/X931SignerTest.cs | 2 +- .../tests/crypto/test/XSalsa20Test.cs | 2 +- .../tests/crypto/test/XTEATest.cs | 2 +- .../tests/crypto/tls/test/PskTlsClientTest.cs | 2 +- .../tests/crypto/tls/test/TlsClientTest.cs | 2 +- .../tests/crypto/tls/test/TlsServerTest.cs | 2 +- .../tests/math/ec/test/AllTests.cs | 2 +- .../math/ec/test/ECPointPerformanceTest.cs | 2 +- .../tests/math/ec/test/F2mProofer.cs | 2 +- .../tests/math/test/AllTests.cs | 2 +- .../tests/ocsp/test/AllTests.cs | 2 +- .../tests/ocsp/test/OCSPTest.cs | 2 +- .../tests/openpgp/examples/test/AllTests.cs | 2 +- .../tests/openpgp/test/PGPArmoredTest.cs | 2 +- .../test/PGPClearSignedSignatureTest.cs | 2 +- .../tests/openpgp/test/PGPCompressionTest.cs | 2 +- .../tests/openpgp/test/PGPDSAElGamalTest.cs | 2 +- .../tests/openpgp/test/PGPDSATest.cs | 2 +- .../tests/openpgp/test/PGPNoPrivateKeyTest.cs | 2 +- .../tests/openpgp/test/PGPPBETest.cs | 2 +- .../tests/openpgp/test/PGPPacketTest.cs | 2 +- .../tests/openpgp/test/PGPRSATest.cs | 2 +- .../tests/openpgp/test/PGPSignatureTest.cs | 2 +- .../tests/openpgp/test/PgpECDHTest.cs | 2 +- .../tests/openpgp/test/PgpECDsaTest.cs | 2 +- .../tests/openpgp/test/PgpECMessageTest.cs | 2 +- .../tests/openpgp/test/PgpKeyRingTest.cs | 2 +- .../tests/openpgp/test/PgpMarkerTest.cs | 2 +- .../tests/openpgp/test/PgpParsingTest.cs | 2 +- .../tests/openpgp/test/PgpUnicodeTest.cs | 2 +- .../tests/openpgp/test/RegressionTest.cs | 2 +- .../tests/openssl/test/AllTests.cs | 2 +- .../tests/openssl/test/ReaderTest.cs | 2 +- .../tests/openssl/test/WriterTest.cs | 2 +- .../pkcs/test/EncryptedPrivateKeyInfoTest.cs | 2 +- .../tests/pkcs/test/PKCS10Test.cs | 2 +- .../tests/pkcs/test/PKCS12StoreTest.cs | 2 +- .../tests/test/AESSICTest.cs | 2 +- .../tests/test/AESTest.cs | 2 +- .../tests/test/AttrCertSelectorTest.cs | 2 +- .../tests/test/AttrCertTest.cs | 2 +- .../tests/test/BlockCipherTest.cs | 2 +- .../tests/test/CMacTest.cs | 2 +- .../tests/test/CRL5Test.cs | 2 +- .../tests/test/CamelliaTest.cs | 2 +- .../tests/test/CertPathBuilderTest.cs | 2 +- .../tests/test/CertPathTest.cs | 2 +- .../tests/test/CertPathValidatorTest.cs | 2 +- .../tests/test/CertTest.cs | 2 +- .../tests/test/CipherStreamTest.cs | 2 +- .../tests/test/DESedeTest.cs | 2 +- .../tests/test/DHTest.cs | 2 +- .../tests/test/DSATest.cs | 2 +- .../tests/test/DigestTest.cs | 2 +- .../tests/test/ECDSA5Test.cs | 2 +- .../tests/test/ECEncodingTest.cs | 2 +- .../tests/test/ECNRTest.cs | 2 +- .../tests/test/ElGamalTest.cs | 2 +- .../tests/test/EncryptedPrivateKeyInfoTest.cs | 2 +- .../tests/test/FIPSDESTest.cs | 2 +- .../tests/test/GOST28147Test.cs | 2 +- .../tests/test/GOST3410Test.cs | 2 +- .../tests/test/HMacTest.cs | 2 +- .../tests/test/IESTest.cs | 2 +- .../tests/test/MacTest.cs | 2 +- .../tests/test/MqvTest.cs | 2 +- .../tests/test/NamedCurveTest.cs | 2 +- .../tests/test/NistCertPathTest.cs | 2 +- .../tests/test/NoekeonTest.cs | 2 +- .../tests/test/PBETest.cs | 2 +- .../tests/test/PKCS10CertRequestTest.cs | 2 +- .../tests/test/PSSTest.cs | 2 +- .../tests/test/PkixNameConstraintsTest.cs | 2 +- .../tests/test/PkixPolicyMappingTest.cs | 2 +- .../tests/test/PkixTest.cs | 2 +- .../tests/test/RSATest.cs | 2 +- .../tests/test/RegressionTest.cs | 2 +- .../tests/test/SEEDTest.cs | 2 +- .../tests/test/SM4Test.cs | 2 +- .../tests/test/SigTest.cs | 2 +- .../tests/test/WrapTest.cs | 2 +- .../tests/test/X509CertificatePairTest.cs | 2 +- .../tests/test/X509StoreTest.cs | 2 +- .../tests/tsp/test/AllTests.cs | 2 +- .../tests/util/io/pem/test/AllTests.cs | 2 +- .../tests/util/test/SimpleTest.cs | 352 +++++++++--------- .../tests/x509/test/TestCertificateGen.cs | 2 +- 301 files changed, 645 insertions(+), 599 deletions(-) create mode 100644 .nupkgs/BouncyCastle.NetCoreSdk.1.9.0.nupkg diff --git a/.nupkgs/BouncyCastle.NetCoreSdk.1.9.0.nupkg b/.nupkgs/BouncyCastle.NetCoreSdk.1.9.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..5a827eed924f7a13728cf47824bbde67a5bb9f72 GIT binary patch literal 4093929 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

ejQO~6Qr(pI;Eh#V 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

|*K>7;1FOoTpd<#<-hMT7~ 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

8aqRyR!bg7F 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