diff options
36 files changed, 12901 insertions, 799 deletions
diff --git a/.gitignore b/.gitignore index c6e54ef1b..463d451b4 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,6 @@ doc/ obj/ _Resharper.*/ -packages/ \ No newline at end of file +_Resharper*/ +*.ide/ +packages/ diff --git a/crypto/crypto.Net45.csproj b/crypto/crypto.Net45.csproj new file mode 100644 index 000000000..14b3581f5 --- /dev/null +++ b/crypto/crypto.Net45.csproj @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{45473847-8AF8-4BAF-B768-442C6875B8CF}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>crypto</RootNamespace> + <AssemblyName>crypto</AssemblyName> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <TargetFrameworkProfile /> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>TRACE;DEBUG;LIB;PCL;SILVERLIGHT</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE;LIB;PCL;SILVERLIGHT</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="src\**\*.cs" /> + <Compile Include="bzip2\**\*.cs" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file diff --git a/crypto/crypto.csproj b/crypto/crypto.csproj new file mode 100644 index 000000000..81f74e656 --- /dev/null +++ b/crypto/crypto.csproj @@ -0,0 +1,11542 @@ +<VisualStudioProject> + <CSHARP + ProjectType = "Local" + ProductVersion = "7.10.3077" + SchemaVersion = "2.0" + ProjectGuid = "{38872A5F-E87E-4FAD-B109-8EB7B2E6A4A0}" + > + <Build> + <Settings + ApplicationIcon = "" + AssemblyKeyContainerName = "" + AssemblyName = "crypto" + AssemblyOriginatorKeyFile = "" + DefaultClientScript = "JScript" + DefaultHTMLPageLayout = "Grid" + DefaultTargetSchema = "IE50" + DelaySign = "false" + OutputType = "Library" + PreBuildEvent = "" + PostBuildEvent = "" + RootNamespace = "crypto" + RunPostBuildEvent = "OnBuildSuccess" + StartupObject = "" + > + <Config + Name = "Debug" + AllowUnsafeBlocks = "false" + BaseAddress = "285212672" + CheckForOverflowUnderflow = "false" + ConfigurationOverrideFile = "" + DefineConstants = "DEBUG;TRACE;NET_1_1" + DocumentationFile = "doc\crypto.xml" + DebugSymbols = "true" + FileAlignment = "4096" + IncrementalBuild = "false" + NoStdLib = "false" + NoWarn = "1591" + Optimize = "false" + OutputPath = "bin\Debug\" + RegisterForComInterop = "false" + RemoveIntegerChecks = "false" + TreatWarningsAsErrors = "false" + WarningLevel = "4" + /> + <Config + Name = "Release" + AllowUnsafeBlocks = "false" + BaseAddress = "285212672" + CheckForOverflowUnderflow = "false" + ConfigurationOverrideFile = "" + DefineConstants = "TRACE;NET_1_1" + DocumentationFile = "doc\crypto.xml" + DebugSymbols = "false" + FileAlignment = "4096" + IncrementalBuild = "false" + NoStdLib = "false" + NoWarn = "1591" + Optimize = "true" + OutputPath = "bin\Release\" + RegisterForComInterop = "false" + RemoveIntegerChecks = "false" + TreatWarningsAsErrors = "false" + WarningLevel = "4" + /> + </Settings> + <References> + <Reference + Name = "System" + AssemblyName = "System" + HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll" + /> + <Reference + Name = "System.Data" + AssemblyName = "System.Data" + HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll" + /> + <Reference + Name = "System.XML" + AssemblyName = "System.Xml" + HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll" + /> + <Reference + Name = "nunit.core" + AssemblyName = "nunit.core" + HintPath = "test\lib\nunit.core.dll" + /> + <Reference + Name = "nunit.framework" + AssemblyName = "nunit.framework" + HintPath = "test\lib\nunit.framework.dll" + /> + <Reference + Name = "nunit.core.interfaces" + AssemblyName = "nunit.core.interfaces" + HintPath = "test\lib\nunit.core.interfaces.dll" + /> + </References> + </Build> + <Files> + <Include> + <File + RelPath = "Contributors.html" + BuildAction = "Content" + /> + <File + RelPath = "License.html" + BuildAction = "Content" + /> + <File + RelPath = "NBuild.build" + BuildAction = "None" + /> + <File + RelPath = "Readme.html" + BuildAction = "Content" + /> + <File + RelPath = "testcfg.nunit" + BuildAction = "None" + /> + <File + RelPath = "bzip2\src\BZip2Constants.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "bzip2\src\CBZip2InputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "bzip2\src\CBZip2OutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "bzip2\src\CRC.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\AssemblyInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1Encodable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1EncodableVector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\Asn1Exception.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1Generator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1InputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1Null.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1Object.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1OctetString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1OctetStringParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1OutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\Asn1ParsingException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1Sequence.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1SequenceParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1Set.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1SetParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1StreamParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1TaggedObject.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1TaggedObjectParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ASN1Tags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERApplicationSpecific.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERApplicationSpecificParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERNull.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BEROctetString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BEROctetStringGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BEROctetStringParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BEROutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERSequence.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERSequenceGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERSequenceParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERSet.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERSetGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERSetParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERTaggedObject.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\BERTaggedObjectParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ConstructedOctetStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DefiniteLengthInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERApplicationSpecific.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERBitString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERBMPString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERBoolean.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DEREnumerated.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERExternal.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERExternalParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERGeneralizedTime.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERGeneralString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERIA5String.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERInteger.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERNull.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERNumericString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERObjectIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DEROctetString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DEROctetStringParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DEROutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERPrintableString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERSequence.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERSequenceGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERSequenceParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERSet.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERSetGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERSetParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DerStringBase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERT61String.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERTaggedObject.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERUniversalString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERUTCTime.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERUTF8String.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\DERVisibleString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\IAsn1ApplicationSpecificParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\IAsn1Choice.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\IAsn1Convertible.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\IAsn1String.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\IndefiniteLengthInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\LazyASN1InputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\LazyDERSequence.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\LazyDERSet.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\LimitedInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\OIDTokenizer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\bc\BCObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CAKeyUpdAnnContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CertConfirmContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CertifiedKeyPair.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CertOrEncCert.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CertRepMessage.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CertResponse.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CertStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\Challenge.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CmpCertificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CmpObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\CrlAnnContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\ErrorMsgContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\GenMsgContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\GenRepContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\InfoTypeAndValue.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\KeyRecRepContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\OobCertHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PbmParameter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIBody.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIConfirmContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIFailureInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIFreeText.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIHeader.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIHeaderBuilder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIMessage.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIMessages.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PKIStatusInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PollRepContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PollReqContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\ProtectedPart.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PopoDecKeyChallContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\PopoDecKeyRespContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\RevAnnContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\RevDetails.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\RevRepContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\RevRepContentBuilder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cmp\RevReqContent.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\Attribute.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\Attributes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\AttributeTable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\AuthenticatedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\AuthenticatedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\AuthEnvelopedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\AuthEnvelopedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\CMSAttributes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\CMSObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\CompressedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\CompressedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\ContentInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\ContentInfoParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\EncryptedContentInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\EncryptedContentInfoParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\EncryptedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\EnvelopedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\EnvelopedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\Evidence.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\IssuerAndSerialNumber.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\KEKIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\KEKRecipientInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\KeyAgreeRecipientIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\KeyAgreeRecipientInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\KeyTransRecipientInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\MetaData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\OriginatorIdentifierOrKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\OriginatorInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\OriginatorPublicKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\OtherKeyAttribute.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\OtherRecipientInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\OtherRevocationInfoFormat.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\PasswordRecipientInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\RecipientEncryptedKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\RecipientIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\RecipientInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\RecipientKeyIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\SCVPReqRes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\SignedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\SignedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\SignerIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\SignerInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\Time.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\TimeStampAndCRL.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\TimeStampedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\TimeStampedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\TimeStampTokenEvidence.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cms\ecc\MQVuserKeyingMaterial.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\AttributeTypeAndValue.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\CertId.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\CertReqMessages.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\CertReqMsg.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\CertRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\CertTemplate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\CertTemplateBuilder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\Controls.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\CrmfObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\EncKeyWithID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\EncryptedKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\EncryptedValue.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\OptionalValidity.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\PKIArchiveOptions.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\PKIPublicationInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\PKMacValue.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\PopoPrivKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\PopoSigningKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\PopoSigningKeyInput.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\ProofOfPossession.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\SinglePubInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\crmf\SubsequentMessage.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cryptopro\CryptoProObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cryptopro\ECGOST3410NamedCurves.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cryptopro\ECGOST3410ParamSetParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cryptopro\GOST28147Parameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cryptopro\GOST3410NamedParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cryptopro\GOST3410ParamSetParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\cryptopro\GOST3410PublicKeyAlgParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\eac\EACObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CertificateValues.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CommitmentTypeIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CommitmentTypeIndication.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CommitmentTypeQualifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CompleteCertificateRefs.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CompleteRevocationRefs.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CrlIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CrlListID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CrlOcspRef.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\CrlValidatedID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\ESFAttributes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OcspIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OcspListID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OcspResponsesID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OtherCertID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OtherHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OtherHashAlgAndValue.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OtherRevRefs.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OtherRevVals.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\OtherSigningCertificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\RevocationValues.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\SignaturePolicyId.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\SignaturePolicyIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\SignerAttribute.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\SignerLocation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\esf\SigPolicyQualifierInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ess\ContentHints.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ess\ContentIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ess\ESSCertID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ess\ESSCertIDv2.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ess\OtherCertID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ess\OtherSigningCertificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ess\SigningCertificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ess\SigningCertificateV2.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\gnu\GNUObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\iana\IANAObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\icao\CscaMasterList.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\icao\DataGroupHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\icao\ICAOObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\icao\LDSSecurityObject.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\icao\LDSVersionInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\ISISMTTObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\ocsp\CertHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\ocsp\RequestedCertificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\AdditionalInformationSyntax.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\Admissions.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\AdmissionSyntax.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\DeclarationOfMajority.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\MonetaryLimit.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\NamingAuthority.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\ProcurationSyntax.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\ProfessionInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\isismtt\x509\Restriction.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\kisa\KISAObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\microsoft\MicrosoftObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\misc\CAST5CBCParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\misc\IDEACBCPar.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\misc\MiscObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\misc\NetscapeCertType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\misc\NetscapeRevocationURL.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\misc\VerisignCzagExtension.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\mozilla\PublicKeyAndChallenge.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\nist\NISTNamedCurves.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\nist\NISTObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ntt\NTTObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\BasicOCSPResponse.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\CertID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\CertStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\CrlID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\OCSPObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\OCSPRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\OCSPResponse.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\OCSPResponseStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\Request.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\ResponderID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\ResponseBytes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\ResponseData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\RevokedInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\ServiceLocator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\Signature.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\SingleResponse.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\ocsp\TBSRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\oiw\ElGamalParameter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\oiw\OIWObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\Attribute.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\AuthenticatedSafe.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\CertBag.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\CertificationRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\CertificationRequestInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\ContentInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\DHParameter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\EncryptedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\EncryptedPrivateKeyInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\EncryptionScheme.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\IssuerAndSerialNumber.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\KeyDerivationFunc.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\MacData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\PBEParameter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\PBES2Parameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\PBKDF2Params.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\Pfx.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\PKCS12PBEParams.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\PKCSObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\PrivateKeyInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\RC2CBCParameter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\RSAESOAEPparams.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\RSAPrivateKeyStructure.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\RSASSAPSSparams.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\SafeBag.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\SignedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\pkcs\SignerInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\sec\ECPrivateKeyStructure.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\sec\SECNamedCurves.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\sec\SECObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\smime\SMIMEAttributes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\smime\SMIMECapabilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\smime\SMIMECapabilitiesAttribute.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\smime\SMIMECapability.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\smime\SMIMECapabilityVector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\smime\SMIMEEncryptionKeyPreferenceAttribute.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\teletrust\TeleTrusTNamedCurves.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\teletrust\TeleTrusTObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\tsp\Accuracy.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\tsp\MessageImprint.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\tsp\TimeStampReq.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\tsp\TimeStampResp.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\tsp\TSTInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\util\ASN1Dump.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\util\Dump.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\util\FilterStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x500\DirectoryString.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AccessDescription.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AlgorithmIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AttCertIssuer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AttCertValidityPeriod.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\Attribute.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AttributeCertificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AttributeCertificateInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AttributeTable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AuthorityInformationAccess.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\AuthorityKeyIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\BasicConstraints.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\CertificateList.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\CertificatePair.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\CertificatePolicies.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\CertPolicyId.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\CRLDistPoint.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\CRLNumber.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\CRLReason.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\DigestInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\DisplayText.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\DistributionPoint.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\DistributionPointName.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\DSAParameter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\ExtendedKeyUsage.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\GeneralName.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\GeneralNames.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\GeneralSubtree.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\Holder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\IetfAttrSyntax.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\IssuerSerial.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\IssuingDistributionPoint.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\KeyPurposeId.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\KeyUsage.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\NameConstraints.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\NoticeReference.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\ObjectDigestInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\PolicyInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\PolicyMappings.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\PolicyQualifierId.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\PolicyQualifierInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\PrivateKeyUsagePeriod.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\ReasonFlags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\RoleSyntax.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\RSAPublicKeyStructure.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\SubjectDirectoryAttributes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\SubjectKeyIdentifier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\SubjectPublicKeyInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\Target.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\TargetInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\Targets.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\TBSCertificateStructure.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\TBSCertList.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\Time.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\UserNotice.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\V1TBSCertificateGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\V2AttributeCertificateInfoGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\V2Form.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\V2TBSCertListGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\V3TBSCertificateGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509Attributes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509CertificateStructure.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509DefaultEntryConverter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509Extension.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509Extensions.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509ExtensionsGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509Name.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509NameEntryConverter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509NameTokenizer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\X509ObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\qualified\BiometricData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\qualified\ETSIQCObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\qualified\Iso4217CurrencyCode.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\qualified\MonetaryValue.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\qualified\QCStatement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\qualified\RFC3739QCObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\qualified\SemanticsInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\qualified\TypeOfBiometricData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\sigi\NameOrPseudonym.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\sigi\PersonalData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x509\sigi\SigIObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\DHDomainParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\DHPublicKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\DHValidationParms.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\ECNamedCurveTable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\KeySpecificInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\OtherInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X962NamedCurves.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X962Parameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X9Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X9ECParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X9ECParametersHolder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X9ECPoint.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X9FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X9FieldID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X9IntegerConverter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\asn1\x9\X9ObjectIdentifiers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\ArmoredInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\ArmoredOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\BCPGInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\BCPGObject.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\BCPGOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\CompressedDataPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\CompressionAlgorithmTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\ContainedPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\CRC24.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\DSAPublicBCPGKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\DSASecretBCPGKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\ElGamalPublicBCPGKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\ElGamalSecretBCPGKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\ExperimentalPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\HashAlgorithmTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\IBcpgKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\InputStreamPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\LiteralDataPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\MarkerPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\ModDetectionCodePacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\MPInteger.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\OnePassSignaturePacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\OutputStreamPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\Packet.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\PacketTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\PublicKeyAlgorithmTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\PublicKeyEncSessionPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\PublicKeyPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\PublicSubkeyPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\RSAPublicBCPGKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\RSASecretBCPGKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\S2K.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SecretKeyPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SecretSubkeyPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SignaturePacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SignatureSubpacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SignatureSubpacketsReader.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SignatureSubpacketTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SymmetricEncDataPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SymmetricEncIntegrityPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SymmetricKeyAlgorithmTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\SymmetricKeyEncSessionPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\TrustPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\UserAttributePacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\UserAttributeSubpacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\UserAttributeSubpacketsReader.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\UserAttributeSubpacketTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\UserIDPacket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\attr\ImageAttrib.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\EmbeddedSignature.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\Exportable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\IssuerKeyID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\KeyExpirationTime.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\KeyFlags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\NotationData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\PreferredAlgorithms.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\PrimaryUserID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\Revocable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\RevocationKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\RevocationKeyTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\RevocationReason.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\RevocationReasonTags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\SignatureCreationTime.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\SignatureExpirationTime.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\SignerUserID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\bcpg\sig\TrustSignature.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\BaseDigestCalculator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAttributeTableGenerationException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAttributeTableGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAuthenticatedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAuthenticatedDataGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAuthenticatedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAuthenticatedDataStreamGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAuthenticatedGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAuthEnvelopedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSAuthEnvelopedGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSCompressedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSCompressedDataGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSCompressedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSCompressedDataStreamGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSContentInfoParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSEnvelopedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSEnvelopedDataGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSEnvelopedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSEnvelopedDataStreamGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSEnvelopedGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSEnvelopedHelper.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSPBEKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSProcessable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSProcessableByteArray.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSProcessableFile.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSProcessableInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSReadable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSSecureReadable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSSignedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSSignedDataGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSSignedDataParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSSignedDataStreamGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSSignedGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSSignedHelper.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSStreamException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSTypedStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CMSUtils.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\CounterSignatureDigestCalculator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\DefaultAuthenticatedAttributeTableGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\DefaultSignedAttributeTableGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\DigOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\IDigestCalculator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\KEKRecipientInfoGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\KEKRecipientInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\KeyAgreeRecipientInfoGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\KeyAgreeRecipientInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\KeyTransRecipientInfoGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\KeyTransRecipientInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\MacOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\OriginatorId.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\OriginatorInfoGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\OriginatorInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\PasswordRecipientInfoGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\PasswordRecipientInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\PKCS5Scheme2PBEKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\PKCS5Scheme2UTF8PBEKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\RecipientId.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\RecipientInfoGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\RecipientInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\RecipientInformationStore.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\SignerId.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\SignerInfoGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\SignerInformation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\SignerInformationStore.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\SigOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\cms\SimpleAttributeTableGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\AsymmetricCipherKeyPair.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\AsymmetricKeyParameter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\BufferedAeadBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\BufferedAsymmetricBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\BufferedBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\BufferedCipherBase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\BufferedIesCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\BufferedStreamCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\CipherKeyGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\CryptoException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\DataLengthException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IAsymmetricBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IAsymmetricCipherKeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IBasicAgreement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IBufferedCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\ICipherParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IDerivationFunction.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IDerivationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IDSA.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\InvalidCipherTextException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\ISigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\ISignerWithRecovery.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IStreamCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\IWrapper.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\KeyGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\MaxBytesExceededException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\PBEParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\StreamBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\DHAgreement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\DHBasicAgreement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\DHStandardGroups.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\ECDHBasicAgreement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\ECDHCBasicAgreement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\ECDHWithKdfBasicAgreement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\ECMqvBasicAgreement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\ECMqvWithKdfBasicAgreement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\kdf\DHKdfParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\kdf\DHKekGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\kdf\ECDHKekGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\srp\SRP6Client.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\srp\SRP6Server.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\srp\SRP6Utilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\agreement\srp\SRP6VerifierGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\GeneralDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\GOST3411Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\LongDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\MD2Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\MD4Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\MD5Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\NullDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\RIPEMD128Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\RIPEMD160Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\RIPEMD256Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\RIPEMD320Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\Sha1Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\Sha224Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\Sha256Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\Sha3Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\Sha384Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\Sha512Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\Sha512tDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\ShortenedDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\SkeinDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\SkeinEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\SM3Digest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\TigerDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\digests\WhirlpoolDigest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\ec\CustomNamedCurves.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\encodings\ISO9796d1Encoding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\encodings\OAEPEncoding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\encodings\PKCS1Encoding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\AESEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\AESFastEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\AESLightEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\AESWrapEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\BlowfishEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\CamelliaEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\CamelliaLightEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\CamelliaWrapEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\CAST5Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\CAST6Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\ChaChaEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\DESedeEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\DESedeWrapEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\DesEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\ElGamalEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\GOST28147Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\HC128Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\HC256Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\IDEAEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\IESEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\ISAACEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\NaccacheSternEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\NoekeonEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\NullEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RC2Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RC2WrapEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RC4Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RC532Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RC564Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RC6Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RFC3211WrapEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RFC3394WrapEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RijndaelEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RSABlindedEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RSABlindingEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RSACoreEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\RSAEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\Salsa20Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\SEEDEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\SEEDWrapEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\SerpentEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\SkipjackEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\TEAEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\ThreefishEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\TwofishEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\VMPCEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\VMPCKSA3Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\XSalsa20Engine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\engines\XTEAEngine.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\BaseKDFBytesGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DESedeKeyGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DESKeyGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DHBasicKeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DHKeyGeneratorHelper.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DHKeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DHParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DHParametersHelper.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DSAKeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\DSAParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\ECKeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\ElGamalKeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\ElGamalParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\GOST3410KeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\GOST3410ParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\KDF1BytesGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\KDF2BytesGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\MGF1BytesGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\NaccacheSternKeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\OpenSSLPBEParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\PKCS12ParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\PKCS5S1ParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\PKCS5S2ParametersGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\Poly1305KeyGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\RSABlindingFactorGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\RSAKeyPairGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\generators\SCrypt.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\io\CipherStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\io\DigestStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\io\MacStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\io\SignerStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\CBCBlockCipherMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\CFBBlockCipherMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\CMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\GMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\GOST28147Mac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\HMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\Poly1305.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\SipHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\SkeinMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\ISO9797Alg3Mac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\macs\VMPCMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\CBCBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\CCMBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\CFBBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\CTSBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\EAXBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\GCMBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\OCBBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\GOFBBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\IAeadBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\OFBBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\OpenPGPCFBBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\SICBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\gcm\BasicGcmExponentiator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\gcm\BasicGcmMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\gcm\GcmUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\gcm\IGcmExponentiator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\gcm\IGcmMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\gcm\Tables1kGcmExponentiator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\gcm\Tables64kGcmMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\modes\gcm\Tables8kGcmMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\paddings\BlockCipherPadding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\paddings\ISO10126d2Padding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\paddings\ISO7816d4Padding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\paddings\PaddedBufferedBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\paddings\PKCS7Padding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\paddings\TBCPadding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\paddings\X923Padding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\paddings\ZeroBytePadding.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\AEADParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\CCMParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DESedeParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DESParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DHKeyGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DHKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DHParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DHPrivateKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DHPublicKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DHValidationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DSAKeyGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DSAKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DSAParameterGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DSAParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DSAPrivateKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DSAPublicKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\DSAValidationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ECDomainParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ECKeyGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ECKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ECPrivateKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ECPublicKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ElGamalKeyGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ElGamalKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ElGamalParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ElGamalPrivateKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ElGamalPublicKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\GOST3410KeyGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\GOST3410KeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\GOST3410Parameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\GOST3410PrivateKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\GOST3410PublicKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\GOST3410ValidationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\IESParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\IESWithCipherParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ISO18033KDFParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\KDFParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\KeyParameter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\MGFParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\MqvPrivateParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\MqvPublicParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\NaccacheSternKeyGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\NaccacheSternKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\NaccacheSternPrivateKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ParametersWithIV.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ParametersWithRandom.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ParametersWithSalt.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\ParametersWithSBox.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\RC2Parameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\RC5Parameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\RSABlindingParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\RSAKeyGenerationParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\RSAKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\RSAPrivateCrtKeyParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\SkeinParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\parameters\TweakableBlockCipherParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\prng\CryptoApiRandomGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\prng\DigestRandomGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\prng\IRandomGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\prng\ReversedWindowGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\prng\ThreadedSeedGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\prng\VMPCRandomGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\DSADigestSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\DSASigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\ECDSASigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\ECGOST3410Signer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\ECNRSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\GenericSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\GOST3410DigestSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\GOST3410Signer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\HMacDsaKCalculator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\IDsaKCalculator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\ISO9796d2PSSSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\ISO9796d2Signer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\PSSSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\RandomDsaKCalculator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\signers\RSADigestSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsAgreementCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsCipherFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsClient.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsContext.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsEncryptionCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsPeer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsServer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AbstractTlsSignerCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AlertDescription.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\AlertLevel.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\BulkCipherAlgorithm.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ByteQueue.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CertChainType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\Certificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CertificateStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CertificateStatusRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CertificateStatusType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CertificateRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CertificateUrl.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\Chacha20Poly1305.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ChangeCipherSpec.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CipherSuite.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CipherType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ClientAuthenticationType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ClientCertificateType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CombinedHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\CompressionMethod.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ConnectionEnd.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ContentType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DefaultTlsAgreementCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DefaultTlsCipherFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DefaultTlsClient.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DefaultTlsEncryptionCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DefaultTlsServer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DefaultTlsSignerCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DeferredHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DigestInputBuffer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\DigitallySigned.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ECBasisType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ECCurveType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ECPointFormat.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\EncryptionAlgorithm.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ExporterLabel.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ExtensionType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\FiniteFieldDheGroup.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\HandshakeType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\HashAlgorithm.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\HeartbeatExtension.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\HeartbeatMessage.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\HeartbeatMessageType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\HeartbeatMode.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\KeyExchangeAlgorithm.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\MacAlgorithm.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\MaxFragmentLength.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\NamedCurve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\NameType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\NewSessionTicket.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\OcspStatusRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\PrfAlgorithm.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ProtocolVersion.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\PskTlsClient.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\RecordStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SecurityParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ServerDHParams.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ServerName.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ServerNameList.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\ServerOnlyTlsAuthentication.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SessionParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SignatureAlgorithm.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SignatureAndHashAlgorithm.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SignerInputBuffer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SrpTlsClient.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SrtpProtectionProfile.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\Ssl3Mac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SupplementalDataEntry.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\SupplementalDataType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsAeadCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsAgreementCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsAuthentication.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsBlockCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsCipherFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsClient.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsClientContext.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsClientContextImpl.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsClientProtocol.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsCompression.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsContext.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsDeflateCompression.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsDheKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsDHKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsDHUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsDsaSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsDssSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsEccUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsECDheKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsECDHKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsECDsaSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsEncryptionCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsExtensionsUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsFatalAlert.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsHandshakeHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsMac.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsNullCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsNullCompression.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsPeer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsProtocol.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsProtocolHandler.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsPskKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsPskIdentity.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsRsaKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsRsaUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsRsaSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsServer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsServerContext.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsServerContextImpl.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsServerProtocol.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsSession.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsSessionImpl.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsSigner.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsSignerCredentials.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsSrpKeyExchange.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsSrpUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsSrtpUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsStreamCipher.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\TlsUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\UrlAndHash.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\UserMappingType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\tls\UseSrtpData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\crypto\util\Pack.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\BigInteger.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\ECAlgorithms.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\ECCurve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\ECFieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\ECPoint.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\ECPointMap.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\LongArray.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\Mod.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\Nat.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\ScaleXPointMap.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\ScaleYPointMap.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\abc\SimpleBigDecimal.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\abc\Tnaf.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\abc\ZTauElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\djb\Curve25519.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\djb\Curve25519Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\djb\Curve25519FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\djb\Curve25519Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\Nat192.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\Nat224.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\Nat256.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\Nat384.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\Nat512.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP192K1Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP192K1Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP192K1FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP192K1Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP192R1Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP192R1Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP192R1FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP192R1Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP224K1Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP224K1Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP224K1FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP224K1Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP224R1Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP224R1Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP224R1FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP224R1Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP256K1Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP256K1Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP256K1FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP256K1Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP256R1Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP256R1Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP256R1FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP256R1Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP384R1Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP384R1Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP384R1FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP384R1Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP521R1Curve.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP521R1Field.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP521R1FieldElement.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\custom\sec\SecP521R1Point.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\endo\ECEndomorphism.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\endo\GlvEndomorphism.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\endo\GlvTypeBEndomorphism.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\endo\GlvTypeBParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\AbstractECMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\DoubleAddMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\ECMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\FixedPointCombMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\FixedPointPreCompInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\FixedPointUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\GlvMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\MixedNafR2LMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\MontgomeryLadderMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\NafL2RMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\NafR2LMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\PreCompInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\ReferenceMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\WNafL2RMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\WNafPreCompInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\WNafUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\WTauNafMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\WTauNafPreCompInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\ZSignedDigitL2RMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\ec\multiplier\ZSignedDigitR2LMultiplier.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\field\FiniteFields.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\field\GF2Polynomial.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\field\GenericPolynomialExtensionField.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\field\IExtensionField.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\field\IFiniteField.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\field\IPolynomial.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\field\IPolynomialExtensionField.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\math\field\PrimeField.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\BasicOCSPResp.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\BasicOCSPRespGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\CertificateID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\CertificateStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\OCSPException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\OCSPReq.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\OCSPReqGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\OCSPResp.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\OCSPRespGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\OCSPRespStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\OCSPUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\Req.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\RespData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\RespID.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\RevokedStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\SingleResp.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\ocsp\UnknownStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\IStreamGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPCompressedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPCompressedDataGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPDataValidationException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPEncryptedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPEncryptedDataGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPEncryptedDataList.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PgpExperimental.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPKeyFlags.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPKeyPair.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPKeyRing.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPKeyRingGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPKeyValidationException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPLiteralData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPLiteralDataGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPMarker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPObject.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPObjectFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPOnePassSignature.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPOnePassSignatureList.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPPBEEncryptedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPPrivateKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPPublicKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPPublicKeyEncryptedData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPPublicKeyRing.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PgpPublicKeyRingBundle.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPSecretKey.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPSecretKeyRing.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PgpSecretKeyRingBundle.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPSignature.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPSignatureGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPSignatureList.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPSignatureSubpacketGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPSignatureSubpacketVector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPUserAttributeSubpacketVector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPUserAttributeSubpacketVectorGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PgpUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\PGPV3SignatureGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openpgp\WrappedGeneratorStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\EncryptionException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\IPasswordFinder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\MiscPemGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\PasswordException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\PEMException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\PEMReader.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\PEMUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\PEMWriter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\openssl\Pkcs8Generator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\AsymmetricKeyEntry.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\EncryptedPrivateKeyInfoFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\PKCS10CertificationRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\Pkcs10CertificationRequestDelaySigned.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\PKCS12Entry.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\PKCS12Store.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\PKCS12StoreBuilder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\PKCS12Utilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\PrivateKeyInfoFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkcs\X509CertificateEntry.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\CertStatus.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixAttrCertChecker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixAttrCertPathBuilder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixAttrCertPathValidator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixBuilderParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPath.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPathBuilder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPathBuilderException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPathBuilderResult.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPathChecker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPathValidator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPathValidatorException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPathValidatorResult.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCertPathValidatorUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixCrlUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixNameConstraintValidator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixNameConstraintValidatorException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\PkixPolicyNode.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\ReasonsMask.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\Rfc3280CertPathUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\Rfc3281CertPathUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\pkix\TrustAnchor.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\AgreementUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\CipherUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\DigestUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\DotNetUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\GeneralSecurityException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\GeneratorUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\InvalidKeyException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\InvalidParameterException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\KeyException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\MacUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\NoSuchAlgorithmException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\ParameterUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\PbeUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\PrivateKeyFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\PublicKeyFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\SecureRandom.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\SecurityUtilityException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\SignatureException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\SignerUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\WrapperUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\cert\CertificateEncodingException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\cert\CertificateException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\cert\CertificateExpiredException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\cert\CertificateNotYetValidException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\cert\CertificateParsingException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\security\cert\CrlException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\GenTimeAccuracy.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TimeStampRequest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TimeStampRequestGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TimeStampResponse.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TimeStampResponseGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TimeStampToken.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TimeStampTokenGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TimeStampTokenInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TSPAlgorithms.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TSPException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TSPUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\tsp\TSPValidationException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\Arrays.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\BigIntegers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\Enums.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\IMemoable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\Integers.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\MemoableResetException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\Platform.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\Strings.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\Times.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\CollectionUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\EmptyEnumerable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\EnumerableProxy.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\HashSet.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\ISet.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\LinkedDictionary.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\UnmodifiableDictionary.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\UnmodifiableDictionaryProxy.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\UnmodifiableList.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\UnmodifiableListProxy.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\UnmodifiableSet.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\collections\UnmodifiableSetProxy.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\date\DateTimeObject.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\date\DateTimeUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\Base64.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\Base64Encoder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\BufferedDecoder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\BufferedEncoder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\Hex.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\HexEncoder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\HexTranslator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\IEncoder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\Translator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\UrlBase64.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\encoders\UrlBase64Encoder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\BaseInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\BaseOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\NullOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\PushbackStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\StreamOverflowException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\Streams.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\TeeInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\TeeOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\pem\PemGenerationException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\pem\PemHeader.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\pem\PemObject.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\pem\PemObjectGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\pem\PemObjectParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\pem\PemReader.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\io\pem\PemWriter.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\net\IPAddress.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\Adler32.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\Deflate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\InfBlocks.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\InfCodes.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\Inflate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\InfTree.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\JZlib.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\StaticTree.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\Tree.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\ZDeflaterOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\ZInflaterInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\ZInputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\ZOutputStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\util\zlib\ZStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\AttributeCertificateHolder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\AttributeCertificateIssuer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\IX509AttributeCertificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\IX509Extension.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\PEMParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\PrincipalUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\SubjectPublicKeyInfoFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509AttrCertParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509Attribute.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509Certificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509CertificatePair.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509CertificateParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509CertPairParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509Crl.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509CrlEntry.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509CrlParser.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509ExtensionBase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509KeyUsage.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509SignatureUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509Utilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509V1CertificateGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509V2AttributeCertificate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509V2AttributeCertificateGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509V2CRLGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\X509V3CertificateGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\extension\AuthorityKeyIdentifierStructure.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\extension\SubjectKeyIdentifierStructure.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\extension\X509ExtensionUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\IX509Selector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\IX509Store.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\IX509StoreParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\NoSuchStoreException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\X509AttrCertStoreSelector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\X509CertPairStoreSelector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\X509CertStoreSelector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\X509CollectionStore.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\X509CollectionStoreParameters.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\X509CrlStoreSelector.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\X509StoreException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "src\x509\store\X509StoreFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\data\asn1\masterlist-content.data" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\cms\sigs\counterSig.p7m" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\cms\sigs\PSSSignData.data" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\cms\sigs\PSSSignDataSHA1.sig" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\cms\sigs\PSSSignDataSHA1Enc.sig" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\cms\sigs\PSSSignDataSHA256.sig" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\cms\sigs\PSSSignDataSHA256Enc.sig" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\cms\sigs\PSSSignDataSHA512.sig" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\cms\sigs\PSSSignDataSHA512Enc.sig" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\hc256\hc128\ecrypt_HC-128.txt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\hc256\hc256\ecrypt_HC-256_128K_128IV.txt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\hc256\hc256\ecrypt_HC-256_128K_256IV.txt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\hc256\hc256\ecrypt_HC-256_256K_128IV.txt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\hc256\hc256\ecrypt_HC-256_256K_256IV.txt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\README.txt" + BuildAction = "None" + /> + <File + RelPath = "test\data\keys\pbes1\pbe_WithSHA1And128BitRC2_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbe_WithSHA1And128BitRC4.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbe_WithSHA1And2_Key_TripleDES_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbe_WithSHA1And3_Key_TripleDES_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbe_WithSHA1And40BitRC2_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbe_WithSHA1And40BitRC4.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbeWithMD2AndDES_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbeWithMD2AndRC2_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbeWithMD5AndDES_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbeWithMD5AndRC2_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbeWithSHA1AndDES_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes1\pbeWithSHA1AndRC2_CBC.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes128.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-128-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-128-cfb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-128-cfb1.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-128-cfb8.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-128-ecb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-128-ofb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes192.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-192-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-192-cfb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-192-cfb1.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-192-cfb8.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-192-ecb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-192-ofb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes256.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-256-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-256-cfb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-256-cfb1.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-256-cfb8.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-256-ecb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.aes-256-ofb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.bf.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.bf-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.blowfish.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.cast.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.cast5-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.cast-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des3.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des-cfb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des-cfb1.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des-cfb8.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des-ecb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des-ede.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des-ede3-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.des-ofb.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.rc2.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.rc2-40-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.rc2-64-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\keys\pbes2\pbes2.rc2-cbc.key" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\README.txt" + BuildAction = "None" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-1024-160.pub" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-1024-160.sec" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-15360-512.pub" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-15360-512.sec" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-2048-224.pub" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-2048-224.sec" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-3072-256.pub" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-3072-256.sec" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-7680-384.pub" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\keys\DSA-7680-384.sec" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-1024-160-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-1024-224-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-1024-256-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-1024-384-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-1024-512-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-15360-512-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-2048-224-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-3072-256-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openpgp\dsa\sigs\dsa-7680-384-sign.gpg" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\eckey.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\enckey.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\pkcs7.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\pkcs8test.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\README.txt" + BuildAction = "None" + /> + <File + RelPath = "test\data\openssl\test.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes128_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes128_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes128_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes128_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes192_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes192_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes192_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes192_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes256_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes256_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes256_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_aes256_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_blowfish_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_blowfish_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_blowfish_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_blowfish_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des1_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des1_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des1_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des1_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des2_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des2_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des2_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des2_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des3_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des3_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des3_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_des3_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_rc2_128_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_rc2_128_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_rc2_128_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_rc2_128_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_rc2_40_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_rc2_64_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\dsa\openssl_dsa_unencrypted.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\pkcs8\openssl_pkcs8_rsa.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\pkcs8\openssl_pkcs8_rsa_enc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes128_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes128_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes128_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes128_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes192_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes192_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes192_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes192_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes256_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes256_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes256_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_aes256_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_blowfish_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_blowfish_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_blowfish_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_blowfish_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des1_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des1_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des1_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des1_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des2_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des2_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des2_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des2_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des3_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des3_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des3_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_des3_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_rc2_128_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_rc2_128_cfb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_rc2_128_ecb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_rc2_128_ofb.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_rc2_40_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_rc2_64_cbc.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\openssl\rsa\openssl_rsa_unencrypted.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\README.txt" + BuildAction = "None" + /> + <File + RelPath = "test\data\PKITS\certs\AllCertificatesanyPolicyTest11EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\AllCertificatesNoPoliciesTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\AllCertificatesSamePoliciesTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\AllCertificatesSamePoliciesTest13EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\anyPolicyCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\AnyPolicyTest14EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BadCRLIssuerNameCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BadCRLSignatureCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BadnotAfterDateCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BadnotBeforeDateCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BadSignedCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\basicConstraintsCriticalcAFalseCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\basicConstraintsNotCriticalCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\basicConstraintsNotCriticalcAFalseCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BasicSelfIssuedCRLSigningKeyCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BasicSelfIssuedCRLSigningKeyCRLCert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BasicSelfIssuedNewKeyCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BasicSelfIssuedNewKeyOldWithNewCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BasicSelfIssuedOldKeyCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\BasicSelfIssuedOldKeyNewWithOldCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\CPSPointerQualifierTest20EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\deltaCRLCA1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\deltaCRLCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\deltaCRLCA3Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\deltaCRLIndicatorNoBaseCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DifferentPoliciesTest12EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DifferentPoliciesTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DifferentPoliciesTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DifferentPoliciesTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DifferentPoliciesTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DifferentPoliciesTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DifferentPoliciesTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\distributionPoint1CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\distributionPoint2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DSACACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\DSAParametersInheritedCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\GeneralizedTimeCRLnextUpdateCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\GoodCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\GoodsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\GoodsubCAPanyPolicyMapping1to2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\indirectCRLCA1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\indirectCRLCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\indirectCRLCA3Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\indirectCRLCA3cRLIssuerCert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\indirectCRLCA4Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\indirectCRLCA4cRLIssuerCert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\indirectCRLCA5Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\indirectCRLCA6Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy0CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy1CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy1SelfIssuedCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy1subCA1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy1subCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy1subCAIAP5Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy1subsubCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy5CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy5subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicy5subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitAnyPolicyTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping0CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping0subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P12CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P12subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P12subCAIPM5Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P12subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P12subsubCAIPM5Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P1CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P1SelfIssuedCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P1SelfIssuedsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P1subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping1P1subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping5CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping5subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping5subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\inhibitPolicyMapping5subsubsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidBadCRLIssuerNameTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidBadCRLSignatureTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidBasicSelfIssuedNewWithOldTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidBasicSelfIssuedOldWithNewTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidcAFalseTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidcAFalseTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidCAnotAfterDateTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidCAnotBeforeDateTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidCASignatureTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidcRLIssuerTest27EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidcRLIssuerTest31EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidcRLIssuerTest32EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidcRLIssuerTest34EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidcRLIssuerTest35EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddeltaCRLIndicatorNoBaseTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddeltaCRLTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddeltaCRLTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddeltaCRLTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddeltaCRLTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddeltaCRLTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddistributionPointTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddistributionPointTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddistributionPointTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddistributionPointTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvaliddistributionPointTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNandRFC822nameConstraintsTest28EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNandRFC822nameConstraintsTest29EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest12EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest13EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest15EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest16EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest17EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest20EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNnameConstraintsTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNSnameConstraintsTest31EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNSnameConstraintsTest33EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDNSnameConstraintsTest38EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidDSASignatureTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidEEnotAfterDateTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidEEnotBeforeDateTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidEESignatureTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidIDPwithindirectCRLTest23EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidIDPwithindirectCRLTest26EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidinhibitAnyPolicyTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidinhibitAnyPolicyTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidinhibitAnyPolicyTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidinhibitAnyPolicyTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidinhibitPolicyMappingTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidinhibitPolicyMappingTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidinhibitPolicyMappingTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidinhibitPolicyMappingTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidLongSerialNumberTest18EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidMappingFromanyPolicyTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidMappingToanyPolicyTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidMissingbasicConstraintsTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidMissingCRLTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidNameChainingOrderTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidNameChainingTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidNegativeSerialNumberTest15EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidOldCRLnextUpdateTest11EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidonlyContainsAttributeCertsTest14EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidonlyContainsCACertsTest12EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidonlyContainsUserCertsTest11EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidonlySomeReasonsTest15EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidonlySomeReasonsTest16EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidonlySomeReasonsTest17EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidonlySomeReasonsTest20EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidonlySomeReasonsTest21EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidpathLenConstraintTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidpathLenConstraintTest11EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidpathLenConstraintTest12EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidpathLenConstraintTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidpathLenConstraintTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidpathLenConstraintTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidPolicyMappingTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidPolicyMappingTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidPolicyMappingTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\Invalidpre2000CRLnextUpdateTest12EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\Invalidpre2000UTCEEnotAfterDateTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidrequireExplicitPolicyTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidrequireExplicitPolicyTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidRevokedCATest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidRevokedEETest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidRFC822nameConstraintsTest22EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidRFC822nameConstraintsTest24EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidRFC822nameConstraintsTest26EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedpathLenConstraintTest16EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSeparateCertificateandCRLKeysTest20EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidSeparateCertificateandCRLKeysTest21EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidUnknownCriticalCertificateExtensionTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidUnknownCRLEntryExtensionTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidUnknownCRLExtensionTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidUnknownCRLExtensionTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidURInameConstraintsTest35EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidURInameConstraintsTest37EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\InvalidWrongCRLTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\keyUsageCriticalcRLSignFalseCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\keyUsageCriticalkeyCertSignFalseCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\keyUsageNotCriticalCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\keyUsageNotCriticalcRLSignFalseCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\keyUsageNotCriticalkeyCertSignFalseCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\LongSerialNumberCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\Mapping1to2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\MappingFromanyPolicyCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\MappingToanyPolicyCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\MissingbasicConstraintsCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN1CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN1SelfIssuedCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN1subCA1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN1subCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN1subCA3Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN3CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN3subCA1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN3subCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN4CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDN5CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDNS1CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsDNS2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsRFC822CA1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsRFC822CA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsRFC822CA3Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsURI1CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\nameConstraintsURI2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\NameOrderingCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\NegativeSerialNumberCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\NoCRLCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\NoissuingDistributionPointCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\NoPoliciesCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\OldCRLnextUpdateCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\onlyContainsAttributeCertsCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\onlyContainsCACertsCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\onlyContainsUserCertsCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\onlySomeReasonsCA1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\onlySomeReasonsCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\onlySomeReasonsCA3Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\onlySomeReasonsCA4Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\OverlappingPoliciesTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\P12Mapping1to3CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\P12Mapping1to3subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\P12Mapping1to3subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\P1anyPolicyMapping1to2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\P1Mapping1to234CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\P1Mapping1to234subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PanyPolicyMapping1to2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint0CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint0SelfIssuedCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint0subCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint0subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint1CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint1SelfIssuedCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint1SelfIssuedsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint1subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6subCA0Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6subCA1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6subCA4Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6subsubCA00Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6subsubCA11Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6subsubCA41Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6subsubsubCA11XCert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pathLenConstraint6subsubsubCA41XCert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP1234CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP1234subCAP123Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP1234subsubCAP123P12Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP123CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP123subCAP12Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP123subsubCAP12P1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP123subsubCAP12P2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP123subsubsubCAP12P2P1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP12CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP12subCAP1Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP12subsubCAP1P2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP2subCA2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP2subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\PoliciesP3CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\pre2000CRLnextUpdateCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy0CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy0subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy0subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy0subsubsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy10CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy10subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy10subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy10subsubsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy2CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy2SelfIssuedCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy2SelfIssuedsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy2subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy4CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy4subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy4subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy4subsubsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy5CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy5subCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy5subsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy5subsubsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy7CACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy7subCARE2Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy7subsubCARE2RE4Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\requireExplicitPolicy7subsubsubCARE2RE4Cert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\RevokedsubCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\RFC3280MandatoryAttributeTypesCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\RFC3280OptionalAttributeTypesCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\RolloverfromPrintableStringtoUTF8StringCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\SeparateCertificateandCRLKeysCA2CRLSigningCert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\SeparateCertificateandCRLKeysCertificateSigningCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\SeparateCertificateandCRLKeysCRLSigningCert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\TrustAnchorRootCertificate.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\TwoCRLsCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UIDCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UnknownCRLEntryExtensionCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UnknownCRLExtensionCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UserNoticeQualifierTest15EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UserNoticeQualifierTest16EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UserNoticeQualifierTest17EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UserNoticeQualifierTest18EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UserNoticeQualifierTest19EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UTF8StringCaseInsensitiveMatchCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\UTF8StringEncodedNamesCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidbasicConstraintsNotCriticalTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidBasicSelfIssuedNewWithOldTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidBasicSelfIssuedNewWithOldTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidBasicSelfIssuedOldWithNewTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidCertificatePathTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidcRLIssuerTest28EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidcRLIssuerTest29EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidcRLIssuerTest30EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidcRLIssuerTest33EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValiddeltaCRLTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValiddeltaCRLTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValiddeltaCRLTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValiddeltaCRLTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValiddistributionPointTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValiddistributionPointTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValiddistributionPointTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValiddistributionPointTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNandRFC822nameConstraintsTest27EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNnameConstraintsTest11EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNnameConstraintsTest14EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNnameConstraintsTest18EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNnameConstraintsTest19EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNnameConstraintsTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNnameConstraintsTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNnameConstraintsTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNnameConstraintsTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNSnameConstraintsTest30EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDNSnameConstraintsTest32EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDSAParameterInheritanceTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidDSASignaturesTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidGeneralizedTimeCRLnextUpdateTest13EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidGeneralizedTimenotAfterDateTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidGeneralizedTimenotBeforeDateTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidIDPwithindirectCRLTest22EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidIDPwithindirectCRLTest24EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidIDPwithindirectCRLTest25EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidinhibitAnyPolicyTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidinhibitPolicyMappingTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidinhibitPolicyMappingTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidkeyUsageNotCriticalTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidLongSerialNumberTest16EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidLongSerialNumberTest17EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidNameChainingCapitalizationTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidNameChainingWhitespaceTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidNameChainingWhitespaceTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidNameUIDsTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidNegativeSerialNumberTest14EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidNoissuingDistributionPointTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidonlyContainsCACertsTest13EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidonlySomeReasonsTest18EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidonlySomeReasonsTest19EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidpathLenConstraintTest13EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidpathLenConstraintTest14EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidpathLenConstraintTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidpathLenConstraintTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest11EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest12EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest13EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest14EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest5EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidPolicyMappingTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\Validpre2000UTCnotBeforeDateTest3EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidrequireExplicitPolicyTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidrequireExplicitPolicyTest2EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidrequireExplicitPolicyTest4EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidRFC3280MandatoryAttributeTypesTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidRFC3280OptionalAttributeTypesTest8EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidRFC822nameConstraintsTest21EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidRFC822nameConstraintsTest23EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidRFC822nameConstraintsTest25EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidSelfIssuedinhibitAnyPolicyTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidSelfIssuedinhibitAnyPolicyTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidSelfIssuedinhibitPolicyMappingTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidSelfIssuedpathLenConstraintTest15EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidSelfIssuedpathLenConstraintTest17EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidSelfIssuedrequireExplicitPolicyTest6EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidSeparateCertificateandCRLKeysTest19EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidTwoCRLsTest7EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidUnknownNotCriticalCertificateExtensionTest1EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidURInameConstraintsTest34EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidURInameConstraintsTest36EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidUTF8StringCaseInsensitiveMatchTest11EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\ValidUTF8StringEncodedNamesTest9EE.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\certs\WrongCRLCACert.crt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\anyPolicyCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BadCRLIssuerNameCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BadCRLSignatureCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BadnotAfterDateCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BadnotBeforeDateCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BadSignedCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\basicConstraintsCriticalcAFalseCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\basicConstraintsNotCriticalCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\basicConstraintsNotCriticalcAFalseCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BasicSelfIssuedCRLSigningKeyCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BasicSelfIssuedNewKeyCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BasicSelfIssuedOldKeyCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\BasicSelfIssuedOldKeySelfIssuedCertCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\deltaCRLCA1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\deltaCRLCA1deltaCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\deltaCRLCA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\deltaCRLCA2deltaCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\deltaCRLCA3CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\deltaCRLCA3deltaCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\deltaCRLIndicatorNoBaseCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\distributionPoint1CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\distributionPoint2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\DSACACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\DSAParametersInheritedCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\GeneralizedTimeCRLnextUpdateCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\GoodCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\GoodsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\GoodsubCAPanyPolicyMapping1to2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\indirectCRLCA1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\indirectCRLCA3CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\indirectCRLCA3cRLIssuerCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\indirectCRLCA4cRLIssuerCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\indirectCRLCA5CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy0CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy1CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy1subCA1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy1subCA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy1subCAIAP5CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy1subsubCA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy5CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy5subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitAnyPolicy5subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping0CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping0subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping1P12CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping1P12subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping1P12subCAIPM5CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping1P12subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping1P12subsubCAIPM5CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping1P1CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping1P1subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping1P1subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping5CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping5subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping5subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\inhibitPolicyMapping5subsubsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\keyUsageCriticalcRLSignFalseCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\keyUsageCriticalkeyCertSignFalseCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\keyUsageNotCriticalCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\keyUsageNotCriticalcRLSignFalseCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\keyUsageNotCriticalkeyCertSignFalseCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\LongSerialNumberCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\Mapping1to2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\MappingFromanyPolicyCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\MappingToanyPolicyCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\MissingbasicConstraintsCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN1CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN1subCA1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN1subCA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN1subCA3CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN3CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN3subCA1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN3subCA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN4CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDN5CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDNS1CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsDNS2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsRFC822CA1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsRFC822CA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsRFC822CA3CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsURI1CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\nameConstraintsURI2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\NameOrderCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\NegativeSerialNumberCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\NoissuingDistributionPointCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\NoPoliciesCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\OldCRLnextUpdateCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlyContainsAttributeCertsCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlyContainsCACertsCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlyContainsUserCertsCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlySomeReasonsCA1compromiseCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlySomeReasonsCA1otherreasonsCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlySomeReasonsCA2CRL1.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlySomeReasonsCA2CRL2.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlySomeReasonsCA3compromiseCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlySomeReasonsCA3otherreasonsCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlySomeReasonsCA4compromiseCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\onlySomeReasonsCA4otherreasonsCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\P12Mapping1to3CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\P12Mapping1to3subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\P12Mapping1to3subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\P1anyPolicyMapping1to2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\P1Mapping1to234CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\P1Mapping1to234subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PanyPolicyMapping1to2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint0CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint0subCA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint0subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint1CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint1subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6subCA0CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6subCA1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6subCA4CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6subsubCA00CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6subsubCA11CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6subsubCA41CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6subsubsubCA11XCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pathLenConstraint6subsubsubCA41XCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP1234CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP1234subCAP123CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP1234subsubCAP123P12CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP123CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP123subCAP12CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP123subsubCAP12P1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP123subsubCAP2P2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP123subsubsubCAP12P2P1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP12CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP12subCAP1CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP12subsubCAP1P2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP2subCA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP2subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\PoliciesP3CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\pre2000CRLnextUpdateCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy0CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy0subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy0subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy0subsubsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy10CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy10subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy10subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy10subsubsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy2CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy2subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy4CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy4subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy4subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy4subsubsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy5CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy5subCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy5subsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy5subsubsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy7CACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy7subCARE2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy7subsubCARE2RE4CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\requireExplicitPolicy7subsubsubCARE2RE4CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\RevokedsubCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\RFC3280MandatoryAttributeTypesCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\RFC3280OptionalAttributeTypesCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\RolloverfromPrintableStringtoUTF8StringCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\SeparateCertificateandCRLKeysCA2CRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\SeparateCertificateandCRLKeysCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\TrustAnchorRootCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\TwoCRLsCABadCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\TwoCRLsCAGoodCRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\UIDCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\UnknownCRLEntryExtensionCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\UnknownCRLExtensionCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\UTF8StringCaseInsensitiveMatchCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\UTF8StringEncodedNamesCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\PKITS\crls\WrongCRLCACRL.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\3.1.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\3.2.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.1.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.10.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.11.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.2.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.3.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.4.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.5.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.6.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.7.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.8.eml" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\4.9.eml" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\5.1.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\5.2.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\5.3.eml" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\6.0.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\7.1.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\7.2.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\AliceDSSSignByCarlNoInherit.cer" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\AlicePrivDSSSign.pri" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\AlicePrivRSASign.pri" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\AliceRSASignByCarl.cer" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\BobPrivRSAEncrypt.pri" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\BobRSASignByCarl.cer" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlDSSCRLEmpty.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlDSSCRLForAll.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlDSSCRLForCarl.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlDSSSelf.cer" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlPrivDSSSign.pri" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlPrivRSASign.pri" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlRSACRLEmpty.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlRSACRLForAll.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlRSACRLForCarl.crl" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\CarlRSASelf.cer" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\DianeDSSSignByCarlInherit.cer" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\DianePrivDSSSign.pri" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\DianePrivRSASignEncrypt.pri" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\DianeRSASignByCarl.cer" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\ExContent.bin" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rfc4134\rfc4134.txt" + BuildAction = "None" + /> + <File + RelPath = "test\data\rsa3\self-testcase-A.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-A.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-B.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-B.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-C.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-C.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-D.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-D.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-E.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-E.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-F.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-F.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-G.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-G.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-H.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-H.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-I.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-I.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-J.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-J.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-L.p12" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\self-testcase-L.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\rsa3\testcases.README" + BuildAction = "None" + /> + <File + RelPath = "test\data\scrypt\TestVectors.txt" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\x509-ca-key.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\x509-ca.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\x509-client-key.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\x509-client.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\x509-server-key.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\x509-server.pem" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\keystores\client_store.dsa" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\keystores\client_store.rsa" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\keystores\server_store.dsa" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\data\tls\keystores\server_store.rsa" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "test\lib\nunit.core.dll" + BuildAction = "Content" + /> + <File + RelPath = "test\lib\nunit.core.interfaces.dll" + BuildAction = "Content" + /> + <File + RelPath = "test\lib\nunit.framework.dll" + BuildAction = "Content" + /> + <File + RelPath = "test\src\asn1\test\AdditionalInformationSyntaxUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\AdmissionsUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\AdmissionSyntaxUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\ASN1SequenceParserTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\ASN1UnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\AttributeTableUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\BiometricDataUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\BitStringConstantTester.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\BitStringTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\CertHashUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\CertificateTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\CMSTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\CommitmentTypeIndicationUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\CommitmentTypeQualifierUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\ContentHintsUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\CscaMasterListTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\DataGroupHashUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\DeclarationOfMajorityUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\DERApplicationSpecificTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\DERUTF8StringTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\EncryptedPrivateKeyInfoTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\EqualsAndHashCodeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\EnumeratedTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\EssCertIDv2UnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\GeneralizedTimeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\GeneralNameTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\GenerationTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\InputStreamTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\Iso4217CurrencyCodeUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\IssuingDistributionPointTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\KeyUsageTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\LDSSecurityObjectUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\MiscTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\MonetaryLimitUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\MonetaryValueUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\NameOrPseudonymUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\NamingAuthorityUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\NetscapeCertTypeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\OCSPTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\OctetStringTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\OIDTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\OtherCertIDUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\OtherSigningCertificateUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\ParseTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\ParsingTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\PersonalDataUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\PKCS10Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\PKCS12Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\PKIFailureInfoTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\ProcurationSyntaxUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\ProfessionInfoUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\QCStatementUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\ReasonFlagsTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\RegressionTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\RequestedCertificateUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\RestrictionUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\SemanticsInformationUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\SetTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\SignerLocationUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\SMIMETest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\StringTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\SubjectKeyIdentifierTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\TagTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\TargetInformationTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\TimeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\TypeOfBiometricDataUnitTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\UTCTimeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\X509ExtensionsTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\X509NameTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\asn1\test\X9Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\AuthenticatedDataStreamTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\AuthenticatedDataTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\CMSSampleMessages.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\CMSTestUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\CompressedDataStreamTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\CompressedDataTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\EnvelopedDataStreamTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\EnvelopedDataTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\MiscDataStreamTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\Rfc4134Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\SignedDataStreamTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\cms\test\SignedDataTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\examples\DESExample.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\io\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\io\test\CipherStreamTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\AeadTestUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\AESFastTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\AESLightTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\AESTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\AESWrapTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\BlockCipherMonteCarloTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\BlockCipherVectorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\BlowfishTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\CamelliaLightTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\CamelliaTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\Cast5Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\CAST6Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\CCMTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ChaChaTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\CipherTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\CMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\CTSTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\DESedeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\DESTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\DeterministicDSATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\DHKEKGeneratorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\DHTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\DigestRandomNumberTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\DSATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\EAXTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ECDHKEKGeneratorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ECGOST3410Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ECIESTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ECNRTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ECTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ElGamalTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\EqualsHashCodeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\GcmReorderTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\GCMTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\GMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\OCBTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\GOST28147MacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\GOST28147Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\GOST3410Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\GOST3411DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\HCFamilyTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\HCFamilyVecTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\IDEATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ISAACTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ISO9796Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ISO9797Alg3MacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\KDF1GeneratorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\KDF2GeneratorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\MacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\MD2DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\MD4DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\MD5DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\MD5HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\MGF1GeneratorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ModeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\NaccacheSternTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\NoekeonTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\NullTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\OAEPTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\PaddingTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\Pkcs12Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\Pkcs5Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\Poly1305Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\PSSBlindTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\PSSTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RC2Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RC2WrapTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RC4Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RC5Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RC6Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RegressionTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RFC3211WrapTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RijndaelTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RipeMD128DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RipeMD128HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RipeMD160DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RipeMD160HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RipeMD256DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RipeMD320DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RSABlindedTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\RsaTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\Salsa20Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SCryptTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SEEDTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SerpentTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA1DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA1HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA224DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA224HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA256DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA256HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA3DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA384DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA384HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA512DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA512t224DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA512t256DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SHA512HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\ShortenedDigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SipHashTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SkeinDigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SkeinMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SkipjackTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SM3DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\SRP6Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\StreamCipherVectorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\TEATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\TigerDigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\Threefish1024Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\Threefish256Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\Threefish512Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\TwofishTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\VMPCKSA3Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\VMPCMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\VMPCTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\WhirlpoolDigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\XSalsa20Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\test\XTEATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\tls\test\MockTlsClient.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\tls\test\MockTlsServer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\tls\test\TlsClientTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\tls\test\TlsServerTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\crypto\tls\test\TlsTestUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\math\ec\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\math\ec\test\ECPointPerformanceTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\math\ec\test\ECAlgorithmsTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\math\ec\test\ECPointTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\math\ec\test\F2mProofer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\math\ec\test\TnafTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\math\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\math\test\BigIntegerTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\ocsp\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\ocsp\test\OCSPTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\ocsp\test\OCSPTestUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\ByteArrayHandler.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\ClearSignedFileProcessor.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\DetachedSignatureProcessor.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\DirectKeySignature.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\DsaElGamalKeyRingGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\KeyBasedFileProcessor.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\KeyBasedLargeFileProcessor.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\PbeFileProcessor.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\PgpExampleUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\PublicKeyRingDump.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\RsaKeyRingGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\SignedFileProcessor.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\examples\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\DSA2Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPArmoredTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPClearSignedSignatureTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPCompressionTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPDSAElGamalTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPDSATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PgpKeyRingTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PgpMarkerTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPNoPrivateKeyTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPPacketTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPPBETest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPRSATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\PGPSignatureTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openpgp\test\RegressionTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openssl\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openssl\test\ReaderTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\openssl\test\WriterTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\pkcs\examples\PKCS12Example.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\pkcs\test\EncryptedPrivateKeyInfoTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\pkcs\test\PKCS10Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\pkcs\test\PKCS12StoreTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\security\test\SecureRandomTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\security\test\TestDigestUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\security\test\TestDotNetUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\security\test\TestEncodings.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\security\test\TestParameterUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\security\test\TestSignerUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\AESSICTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\AESTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\AttrCertSelectorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\AttrCertTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\BaseBlockCipherTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\BlockCipherTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\CamelliaTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\CertPathBuilderTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\CertPathTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\CertPathValidatorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\CertTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\CipherStreamTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\CMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\CRL5Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\DESedeTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\DHTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\DigestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\DSATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\ECDSA5Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\ECEncodingTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\ECNRTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\ElGamalTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\EncryptedPrivateKeyInfoTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\FIPSDESTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\GOST28147Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\GOST3410Test.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\HMacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\IESTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\MacTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\MqvTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\NamedCurveTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\NistCertPathTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\NoekeonTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\PBETest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\PEMData.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\PKCS10CertRequestTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\PkixNameConstraintsTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\PkixPolicyMappingTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\PkixTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\PSSTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\RegressionTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\RSATest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\SEEDTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\SigTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\TestUtilities.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\WrapTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\X509CertificatePairTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\X509StoreTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\nist\NistCertPathTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\test\rsa3\RSA3CertTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\tsp\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\tsp\test\GenTimeAccuracyTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\tsp\test\ParseTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\tsp\test\TimeStampTokenInfoTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\tsp\test\TSPTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\tsp\test\TSPTestUtil.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\io\pem\test\AllTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\net\test\IPAddressTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\test\FixedSecureRandom.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\test\ITest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\test\ITestResult.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\test\NumberParsing.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\test\SimpleTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\test\SimpleTestResult.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\test\TestFailedException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\util\test\UncloseableStream.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "test\src\x509\test\TestCertificateGen.cs" + SubType = "Code" + BuildAction = "Compile" + /> + </Include> + </Files> + </CSHARP> +</VisualStudioProject> + diff --git a/crypto/crypto.pcl.csproj b/crypto/crypto.pcl.csproj index 220ff7d7c..b13f923f6 100644 --- a/crypto/crypto.pcl.csproj +++ b/crypto/crypto.pcl.csproj @@ -2719,6 +2719,7 @@ <Compile Include="src\crypto\tls\ExtensionType.cs"> <SubType>Code</SubType> </Compile> + <Compile Include="src\crypto\tls\FiniteFieldDheGroup.cs" /> <Compile Include="src\crypto\tls\HandshakeType.cs"> <SubType>Code</SubType> </Compile> diff --git a/crypto/doc/crypto.xml b/crypto/doc/crypto.xml index 03a699341..c49a6b0c4 100644 --- a/crypto/doc/crypto.xml +++ b/crypto/doc/crypto.xml @@ -149,9 +149,6 @@ @exception ArgumentException if the tagged object cannot be converted. </member> - <member name="M:Org.BouncyCastle.Asn1.Asn1Set.LessThanOrEqual(System.Byte[],System.Byte[])"> - return true if a <= b (arrays are assumed padded with zeros). - </member> <member name="P:Org.BouncyCastle.Asn1.Asn1Set.Item(System.Int32)"> return the object at the set position indicated by index. @@ -15557,6 +15554,9 @@ <member name="M:Org.BouncyCastle.Crypto.Tls.TlsExtensionsUtilities.HasEncryptThenMacExtension(System.Collections.IDictionary)"> <exception cref="T:System.IO.IOException"></exception> </member> + <member name="M:Org.BouncyCastle.Crypto.Tls.TlsExtensionsUtilities.HasExtendedMasterSecretExtension(System.Collections.IDictionary)"> + <exception cref="T:System.IO.IOException"></exception> + </member> <member name="M:Org.BouncyCastle.Crypto.Tls.TlsExtensionsUtilities.HasTruncatedHMacExtension(System.Collections.IDictionary)"> <exception cref="T:System.IO.IOException"></exception> </member> @@ -15578,6 +15578,9 @@ <member name="M:Org.BouncyCastle.Crypto.Tls.TlsExtensionsUtilities.ReadEncryptThenMacExtension(System.Byte[])"> <exception cref="T:System.IO.IOException"></exception> </member> + <member name="M:Org.BouncyCastle.Crypto.Tls.TlsExtensionsUtilities.ReadExtendedMasterSecretExtension(System.Byte[])"> + <exception cref="T:System.IO.IOException"></exception> + </member> <member name="M:Org.BouncyCastle.Crypto.Tls.TlsExtensionsUtilities.ReadHeartbeatExtension(System.Byte[])"> <exception cref="T:System.IO.IOException"></exception> </member> @@ -19985,6 +19988,25 @@ <param name="mechanism">A string representation of the encoding.</param> <returns>A DerObjectIdentifier, null if the Oid is not available.</returns> </member> + <member name="M:Org.BouncyCastle.Security.SecureRandom.GetInstance(System.String)"> + <summary> + Create and auto-seed an instance based on the given algorithm. + </summary> + <remarks>Equivalent to GetInstance(algorithm, true)</remarks> + <param name="algorithm">e.g. "SHA256PRNG"</param> + </member> + <member name="M:Org.BouncyCastle.Security.SecureRandom.GetInstance(System.String,System.Boolean)"> + <summary> + Create an instance based on the given algorithm, with optional auto-seeding + </summary> + <param name="algorithm">e.g. "SHA256PRNG"</param> + <param name="autoSeed">If true, the instance will be auto-seeded.</param> + </member> + <member name="M:Org.BouncyCastle.Security.SecureRandom.#ctor(System.Byte[])"> + <remarks> + To replicate existing predictable output, replace with GetInstance("SHA1PRNG", false), followed by SetSeed(seed) + </remarks> + </member> <member name="M:Org.BouncyCastle.Security.SecureRandom.#ctor(Org.BouncyCastle.Crypto.Prng.IRandomGenerator)"> <summary>Use the specified instance of IRandomGenerator as random source.</summary> <remarks> diff --git a/crypto/src/asn1/Asn1Set.cs b/crypto/src/asn1/Asn1Set.cs index 2e77ca2a9..31a061b40 100644 --- a/crypto/src/asn1/Asn1Set.cs +++ b/crypto/src/asn1/Asn1Set.cs @@ -1,6 +1,8 @@ using System; using System.Collections; +using System.Collections.Generic; using System.IO; +using System.Linq; using Org.BouncyCastle.Utilities; using Org.BouncyCastle.Utilities.Collections; @@ -278,67 +280,40 @@ namespace Org.BouncyCastle.Asn1 return encObj; } - /** - * return true if a <= b (arrays are assumed padded with zeros). - */ - private bool LessThanOrEqual( - byte[] a, - byte[] b) - { - int len = System.Math.Min(a.Length, b.Length); - for (int i = 0; i != len; ++i) - { - if (a[i] != b[i]) - { - return a[i] < b[i]; - } - } - return len == a.Length; - } - protected internal void Sort() { - if (_set.Count > 1) - { - bool swapped = true; - int lastSwap = _set.Count - 1; + if (_set.Count < 2) + return; - while (swapped) - { - int index = 0; - int swapIndex = 0; - byte[] a = ((Asn1Encodable) _set[0]).GetEncoded(); - - swapped = false; - - while (index != lastSwap) - { - byte[] b = ((Asn1Encodable) _set[index + 1]).GetEncoded(); - - if (LessThanOrEqual(a, b)) - { - a = b; - } - else - { - object o = _set[index]; - _set[index] = _set[index + 1]; - _set[index + 1] = o; - - swapped = true; - swapIndex = index; - } - - index++; - } - - lastSwap = swapIndex; - } + //Asn1Encodable[] items = new Asn1Encodable[_set.Count]; + //byte[][] keys = new byte[_set.Count][]; + + //for (int i = 0; i < _set.Count; ++i) + //{ + // Asn1Encodable item = (Asn1Encodable)_set[i]; + // items[i] = item; + // keys[i] = item.GetEncoded(Asn1Encodable.Der); + //} + + //Array.Sort(keys, items, new DerComparer()); + + var sorted = _set.Cast<Asn1Encodable>() + .Select(a => new {Item = a, Key = a.GetEncoded(Asn1Encodable.Der)}) + .OrderBy(t => t.Key, new DerComparer()) + .Select(t => t.Item) + .ToList(); + + + //List<Asn1Encodable[]> t; + + + for (int i = 0; i < _set.Count; ++i) + { + _set[i] = sorted[i]; } } - protected internal void AddObject( - Asn1Encodable obj) + protected internal void AddObject(Asn1Encodable obj) { _set.Add(obj); } @@ -347,5 +322,36 @@ namespace Org.BouncyCastle.Asn1 { return CollectionUtilities.ToString(_set); } + + private class DerComparer + : IComparer<byte[]> + { + public int Compare(byte[] x, byte[] y) + { + byte[] a = x, b = y; + int len = System.Math.Min(a.Length, b.Length); + for (int i = 0; i != len; ++i) + { + byte ai = a[i], bi = b[i]; + if (ai != bi) + return ai < bi ? -1 : 1; + } + if (a.Length > b.Length) + return AllZeroesFrom(a, len) ? 0 : 1; + if (a.Length < b.Length) + return AllZeroesFrom(b, len) ? 0 : -1; + return 0; + } + + private bool AllZeroesFrom(byte[] bs, int pos) + { + while (pos < bs.Length) + { + if (bs[pos++] != 0) + return false; + } + return true; + } + } } } diff --git a/crypto/src/crypto/agreement/DHStandardGroups.cs b/crypto/src/crypto/agreement/DHStandardGroups.cs index 6c46b60de..93b65af98 100644 --- a/crypto/src/crypto/agreement/DHStandardGroups.cs +++ b/crypto/src/crypto/agreement/DHStandardGroups.cs @@ -9,19 +9,19 @@ namespace Org.BouncyCastle.Crypto.Agreement /// <summary>Standard Diffie-Hellman groups from various IETF specifications.</summary> public class DHStandardGroups { + private static BigInteger FromHex(string hex) + { + return new BigInteger(1, Hex.Decode(hex)); + } + private static DHParameters FromPG(string hexP, string hexG) { - BigInteger p = new BigInteger(1, Hex.Decode(hexP)); - BigInteger g = new BigInteger(1, Hex.Decode(hexG)); - return new DHParameters(p, g); + return new DHParameters(FromHex(hexP), FromHex(hexG)); } private static DHParameters FromPGQ(string hexP, string hexG, string hexQ) { - BigInteger p = new BigInteger(1, Hex.Decode(hexP)); - BigInteger g = new BigInteger(1, Hex.Decode(hexG)); - BigInteger q = new BigInteger(1, Hex.Decode(hexQ)); - return new DHParameters(p, g, q); + return new DHParameters(FromHex(hexP), FromHex(hexG), FromHex(hexQ)); } /* diff --git a/crypto/src/crypto/prng/CryptoApiRandomGenerator.cs b/crypto/src/crypto/prng/CryptoApiRandomGenerator.cs index d815656f6..0719e18ad 100644 --- a/crypto/src/crypto/prng/CryptoApiRandomGenerator.cs +++ b/crypto/src/crypto/prng/CryptoApiRandomGenerator.cs @@ -5,62 +5,62 @@ using System.Security.Cryptography; namespace Org.BouncyCastle.Crypto.Prng { - /// <summary> - /// Uses Microsoft's RNGCryptoServiceProvider - /// </summary> - public class CryptoApiRandomGenerator - : IRandomGenerator - { - private readonly RandomNumberGenerator rndProv; + /// <summary> + /// Uses Microsoft's RNGCryptoServiceProvider + /// </summary> + public class CryptoApiRandomGenerator + : IRandomGenerator + { + private readonly RandomNumberGenerator rndProv; - public CryptoApiRandomGenerator() - : this(new RNGCryptoServiceProvider()) - { - } + public CryptoApiRandomGenerator() + : this(new RNGCryptoServiceProvider()) + { + } - public CryptoApiRandomGenerator(RandomNumberGenerator rng) - { - this.rndProv = rng; - } + public CryptoApiRandomGenerator(RandomNumberGenerator rng) + { + this.rndProv = rng; + } - #region IRandomGenerator Members + #region IRandomGenerator Members - public virtual void AddSeedMaterial(byte[] seed) - { - // We don't care about the seed - } + public virtual void AddSeedMaterial(byte[] seed) + { + // We don't care about the seed + } - public virtual void AddSeedMaterial(long seed) - { - // We don't care about the seed - } + public virtual void AddSeedMaterial(long seed) + { + // We don't care about the seed + } - public virtual void NextBytes(byte[] bytes) - { - rndProv.GetBytes(bytes); - } + public virtual void NextBytes(byte[] bytes) + { + rndProv.GetBytes(bytes); + } - public virtual void NextBytes(byte[] bytes, int start, int len) - { - if (start < 0) - throw new ArgumentException("Start offset cannot be negative", "start"); - if (bytes.Length < (start + len)) - throw new ArgumentException("Byte array too small for requested offset and length"); + public virtual void NextBytes(byte[] bytes, int start, int len) + { + if (start < 0) + throw new ArgumentException("Start offset cannot be negative", "start"); + if (bytes.Length < (start + len)) + throw new ArgumentException("Byte array too small for requested offset and length"); - if (bytes.Length == len && start == 0) - { - NextBytes(bytes); - } - else - { - byte[] tmpBuf = new byte[len]; - rndProv.GetBytes(tmpBuf); - Array.Copy(tmpBuf, 0, bytes, start, len); - } - } + if (bytes.Length == len && start == 0) + { + NextBytes(bytes); + } + else + { + byte[] tmpBuf = new byte[len]; + NextBytes(tmpBuf); + Array.Copy(tmpBuf, 0, bytes, start, len); + } + } - #endregion - } + #endregion + } } #endif diff --git a/crypto/src/crypto/signers/GenericSigner.cs b/crypto/src/crypto/signers/GenericSigner.cs index 1a53eee2b..5035b454d 100644 --- a/crypto/src/crypto/signers/GenericSigner.cs +++ b/crypto/src/crypto/signers/GenericSigner.cs @@ -6,124 +6,125 @@ using Org.BouncyCastle.Utilities; namespace Org.BouncyCastle.Crypto.Signers { - public class GenericSigner - : ISigner - { - private readonly IAsymmetricBlockCipher engine; - private readonly IDigest digest; - private bool forSigning; - - public GenericSigner( - IAsymmetricBlockCipher engine, - IDigest digest) - { - this.engine = engine; - this.digest = digest; - } - - public string AlgorithmName - { - get { return "Generic(" + engine.AlgorithmName + "/" + digest.AlgorithmName + ")"; } - } - - /** - * initialise the signer for signing or verification. - * - * @param forSigning - * true if for signing, false otherwise - * @param parameters - * necessary parameters. - */ - public void Init( - bool forSigning, - ICipherParameters parameters) - { - this.forSigning = forSigning; - AsymmetricKeyParameter k; - - if (parameters is ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)parameters).Parameters; - } - else - { - k = (AsymmetricKeyParameter)parameters; - } + public class GenericSigner + : ISigner + { + private readonly IAsymmetricBlockCipher engine; + private readonly IDigest digest; + private bool forSigning; + + public GenericSigner( + IAsymmetricBlockCipher engine, + IDigest digest) + { + this.engine = engine; + this.digest = digest; + } + + public string AlgorithmName + { + get { return "Generic(" + engine.AlgorithmName + "/" + digest.AlgorithmName + ")"; } + } + + /** + * initialise the signer for signing or verification. + * + * @param forSigning + * true if for signing, false otherwise + * @param parameters + * necessary parameters. + */ + public void Init(bool forSigning, ICipherParameters parameters) + { + this.forSigning = forSigning; + + AsymmetricKeyParameter k; + if (parameters is ParametersWithRandom) + { + k = (AsymmetricKeyParameter)((ParametersWithRandom)parameters).Parameters; + } + else + { + k = (AsymmetricKeyParameter)parameters; + } if (forSigning && !k.IsPrivate) throw new InvalidKeyException("Signing requires private key."); - if (!forSigning && k.IsPrivate) + if (!forSigning && k.IsPrivate) throw new InvalidKeyException("Verification requires public key."); - Reset(); - - engine.Init(forSigning, parameters); - } - - /** - * update the internal digest with the byte b - */ - public void Update( - byte input) - { - digest.Update(input); - } - - /** - * update the internal digest with the byte array in - */ - public void BlockUpdate( - byte[] input, - int inOff, - int length) - { - digest.BlockUpdate(input, inOff, length); - } - - /** - * Generate a signature for the message we've been loaded with using the key - * we were initialised with. - */ - public byte[] GenerateSignature() - { - if (!forSigning) - throw new InvalidOperationException("GenericSigner not initialised for signature generation."); - - byte[] hash = new byte[digest.GetDigestSize()]; - digest.DoFinal(hash, 0); - - return engine.ProcessBlock(hash, 0, hash.Length); - } - - /** - * return true if the internal state represents the signature described in - * the passed in array. - */ - public bool VerifySignature( - byte[] signature) - { - if (forSigning) - throw new InvalidOperationException("GenericSigner not initialised for verification"); - - byte[] hash = new byte[digest.GetDigestSize()]; - digest.DoFinal(hash, 0); - - try - { - byte[] sig = engine.ProcessBlock(signature, 0, signature.Length); - - return Arrays.ConstantTimeAreEqual(sig, hash); - } - catch (Exception) - { - return false; - } - } - - public void Reset() - { - digest.Reset(); - } - } + Reset(); + + engine.Init(forSigning, parameters); + } + + /** + * update the internal digest with the byte b + */ + public void Update(byte input) + { + digest.Update(input); + } + + /** + * update the internal digest with the byte array in + */ + public void BlockUpdate(byte[] input, int inOff, int length) + { + digest.BlockUpdate(input, inOff, length); + } + + /** + * Generate a signature for the message we've been loaded with using the key + * we were initialised with. + */ + public byte[] GenerateSignature() + { + if (!forSigning) + throw new InvalidOperationException("GenericSigner not initialised for signature generation."); + + byte[] hash = new byte[digest.GetDigestSize()]; + digest.DoFinal(hash, 0); + + return engine.ProcessBlock(hash, 0, hash.Length); + } + + /** + * return true if the internal state represents the signature described in + * the passed in array. + */ + public bool VerifySignature(byte[] signature) + { + if (forSigning) + throw new InvalidOperationException("GenericSigner not initialised for verification"); + + byte[] hash = new byte[digest.GetDigestSize()]; + digest.DoFinal(hash, 0); + + try + { + byte[] sig = engine.ProcessBlock(signature, 0, signature.Length); + + // Extend with leading zeroes to match the digest size, if necessary. + if (sig.Length < hash.Length) + { + byte[] tmp = new byte[hash.Length]; + Array.Copy(sig, 0, tmp, tmp.Length - sig.Length, sig.Length); + sig = tmp; + } + + return Arrays.ConstantTimeAreEqual(sig, hash); + } + catch (Exception) + { + return false; + } + } + + public void Reset() + { + digest.Reset(); + } + } } diff --git a/crypto/src/crypto/tls/AbstractTlsServer.cs b/crypto/src/crypto/tls/AbstractTlsServer.cs index 47542c796..c2c6fd57c 100644 --- a/crypto/src/crypto/tls/AbstractTlsServer.cs +++ b/crypto/src/crypto/tls/AbstractTlsServer.cs @@ -223,9 +223,10 @@ namespace Org.BouncyCastle.Crypto.Tls if (this.mEncryptThenMacOffered && AllowEncryptThenMac) { /* - * draft-ietf-tls-encrypt-then-mac-03 3. If a server receives an encrypt-then-MAC - * request extension from a client and then selects a stream or AEAD cipher suite, it - * MUST NOT send an encrypt-then-MAC response extension back to the client. + * RFC 7366 3. If a server receives an encrypt-then-MAC request extension from a client + * and then selects a stream or Authenticated Encryption with Associated Data (AEAD) + * ciphersuite, it MUST NOT send an encrypt-then-MAC response extension back to the + * client. */ if (TlsUtilities.IsBlockCipherSuite(this.mSelectedCipherSuite)) { @@ -233,9 +234,11 @@ namespace Org.BouncyCastle.Crypto.Tls } } - if (this.mMaxFragmentLengthOffered >= 0) + if (this.mMaxFragmentLengthOffered >= 0 + && TlsUtilities.IsValidUint8(mMaxFragmentLengthOffered) + && MaxFragmentLength.IsValid((byte)mMaxFragmentLengthOffered)) { - TlsExtensionsUtilities.AddMaxFragmentLengthExtension(CheckServerExtensions(), (byte)this.mMaxFragmentLengthOffered); + TlsExtensionsUtilities.AddMaxFragmentLengthExtension(CheckServerExtensions(), (byte)mMaxFragmentLengthOffered); } if (this.mTruncatedHMacOffered && AllowTruncatedHMac) diff --git a/crypto/src/crypto/tls/AlertDescription.cs b/crypto/src/crypto/tls/AlertDescription.cs index e09da6cab..5b6e88bf7 100644 --- a/crypto/src/crypto/tls/AlertDescription.cs +++ b/crypto/src/crypto/tls/AlertDescription.cs @@ -213,5 +213,79 @@ namespace Org.BouncyCastle.Crypto.Tls * "unknown_psk_identity" alert message. */ public const byte unknown_psk_identity = 115; + + public static string GetName(byte alertDescription) + { + switch (alertDescription) + { + case close_notify: + return "close_notify"; + case unexpected_message: + return "unexpected_message"; + case bad_record_mac: + return "bad_record_mac"; + case decryption_failed: + return "decryption_failed"; + case record_overflow: + return "record_overflow"; + case decompression_failure: + return "decompression_failure"; + case handshake_failure: + return "handshake_failure"; + case no_certificate: + return "no_certificate"; + case bad_certificate: + return "bad_certificate"; + case unsupported_certificate: + return "unsupported_certificate"; + case certificate_revoked: + return "certificate_revoked"; + case certificate_expired: + return "certificate_expired"; + case certificate_unknown: + return "certificate_unknown"; + case illegal_parameter: + return "illegal_parameter"; + case unknown_ca: + return "unknown_ca"; + case access_denied: + return "access_denied"; + case decode_error: + return "decode_error"; + case decrypt_error: + return "decrypt_error"; + case export_restriction: + return "export_restriction"; + case protocol_version: + return "protocol_version"; + case insufficient_security: + return "insufficient_security"; + case internal_error: + return "internal_error"; + case user_canceled: + return "user_canceled"; + case no_renegotiation: + return "no_renegotiation"; + case unsupported_extension: + return "unsupported_extension"; + case certificate_unobtainable: + return "certificate_unobtainable"; + case unrecognized_name: + return "unrecognized_name"; + case bad_certificate_status_response: + return "bad_certificate_status_response"; + case bad_certificate_hash_value: + return "bad_certificate_hash_value"; + case unknown_psk_identity: + return "unknown_psk_identity"; + default: + return "UNKNOWN"; + } + } + + public static string GetText(byte alertDescription) + { + return GetName(alertDescription) + "(" + alertDescription + ")"; + } } } diff --git a/crypto/src/crypto/tls/AlertLevel.cs b/crypto/src/crypto/tls/AlertLevel.cs index d77251dfb..9461a0b58 100644 --- a/crypto/src/crypto/tls/AlertLevel.cs +++ b/crypto/src/crypto/tls/AlertLevel.cs @@ -7,5 +7,23 @@ namespace Org.BouncyCastle.Crypto.Tls { public const byte warning = 1; public const byte fatal = 2; + + public static string GetName(byte alertDescription) + { + switch (alertDescription) + { + case warning: + return "warning"; + case fatal: + return "fatal"; + default: + return "UNKNOWN"; + } + } + + public static string GetText(byte alertDescription) + { + return GetName(alertDescription) + "(" + alertDescription + ")"; + } } } diff --git a/crypto/src/crypto/tls/ExporterLabel.cs b/crypto/src/crypto/tls/ExporterLabel.cs index f301ea3c0..280321e2a 100644 --- a/crypto/src/crypto/tls/ExporterLabel.cs +++ b/crypto/src/crypto/tls/ExporterLabel.cs @@ -28,5 +28,10 @@ namespace Org.BouncyCastle.Crypto.Tls * RFC 5764 */ public const string dtls_srtp = "EXTRACTOR-dtls_srtp"; + + /* + * draft-ietf-tls-session-hash-01 + */ + public static readonly string extended_master_secret = "extended master secret"; } } diff --git a/crypto/src/crypto/tls/ExtensionType.cs b/crypto/src/crypto/tls/ExtensionType.cs index 929c134d5..acee380b6 100644 --- a/crypto/src/crypto/tls/ExtensionType.cs +++ b/crypto/src/crypto/tls/ExtensionType.cs @@ -44,14 +44,28 @@ namespace Org.BouncyCastle.Crypto.Tls public const int heartbeat = 15; /* + * RFC 7366 + */ + public const int encrypt_then_mac = 22; + + /* + * draft-ietf-tls-session-hash-01 + * + * NOTE: Early code-point assignment + */ + public const int extended_master_secret = 23; + + /* * RFC 5077 7. */ public const int session_ticket = 35; /* - * draft-ietf-tls-encrypt-then-mac-03 + * draft-ietf-tls-negotiated-ff-dhe-01 + * + * WARNING: Placeholder value; the real value is TBA */ - public const int encrypt_then_mac = 22; + public static readonly int negotiated_ff_dhe_groups = 101; /* * RFC 5746 3.2. diff --git a/crypto/src/crypto/tls/FiniteFieldDheGroup.cs b/crypto/src/crypto/tls/FiniteFieldDheGroup.cs new file mode 100644 index 000000000..437504941 --- /dev/null +++ b/crypto/src/crypto/tls/FiniteFieldDheGroup.cs @@ -0,0 +1,21 @@ +using System; + +namespace Org.BouncyCastle.Crypto.Tls +{ + /* + * draft-ietf-tls-negotiated-ff-dhe-01 + */ + public abstract class FiniteFieldDheGroup + { + public const byte ffdhe2432 = 0; + public const byte ffdhe3072 = 1; + public const byte ffdhe4096 = 2; + public const byte ffdhe6144 = 3; + public const byte ffdhe8192 = 4; + + public static bool IsValid(byte group) + { + return group >= ffdhe2432 && group <= ffdhe8192; + } + } +} diff --git a/crypto/src/crypto/tls/LegacyTlsAuthentication.cs b/crypto/src/crypto/tls/LegacyTlsAuthentication.cs index 395f94208..5da9576af 100644 --- a/crypto/src/crypto/tls/LegacyTlsAuthentication.cs +++ b/crypto/src/crypto/tls/LegacyTlsAuthentication.cs @@ -1,3 +1,4 @@ +#if FALSE using System; namespace Org.BouncyCastle.Crypto.Tls @@ -28,3 +29,4 @@ namespace Org.BouncyCastle.Crypto.Tls } } } +#endif \ No newline at end of file diff --git a/crypto/src/crypto/tls/LegacyTlsClient.cs b/crypto/src/crypto/tls/LegacyTlsClient.cs index fbb9a732e..98a8bcbfc 100644 --- a/crypto/src/crypto/tls/LegacyTlsClient.cs +++ b/crypto/src/crypto/tls/LegacyTlsClient.cs @@ -1,3 +1,4 @@ +#if FALSE using System; namespace Org.BouncyCastle.Crypto.Tls @@ -23,4 +24,5 @@ namespace Org.BouncyCastle.Crypto.Tls return new LegacyTlsAuthentication(verifyer); } } -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/crypto/src/crypto/tls/SecurityParameters.cs b/crypto/src/crypto/tls/SecurityParameters.cs index 6a115a911..12bb59f22 100644 --- a/crypto/src/crypto/tls/SecurityParameters.cs +++ b/crypto/src/crypto/tls/SecurityParameters.cs @@ -14,21 +14,13 @@ namespace Org.BouncyCastle.Crypto.Tls internal byte[] masterSecret = null; internal byte[] clientRandom = null; internal byte[] serverRandom = null; + internal byte[] sessionHash = null; // TODO Keep these internal, since it's maybe not the ideal place for them internal short maxFragmentLength = -1; internal bool truncatedHMac = false; internal bool encryptThenMac = false; - - internal void CopySessionParametersFrom(SecurityParameters other) - { - this.entity = other.entity; - this.cipherSuite = other.cipherSuite; - this.compressionAlgorithm = other.compressionAlgorithm; - this.prfAlgorithm = other.prfAlgorithm; - this.verifyDataLength = other.verifyDataLength; - this.masterSecret = Arrays.Clone(other.masterSecret); - } + internal bool extendedMasterSecret = false; internal virtual void Clear() { @@ -90,5 +82,10 @@ namespace Org.BouncyCastle.Crypto.Tls { get { return serverRandom; } } + + public virtual byte[] SessionHash + { + get { return sessionHash; } + } } } diff --git a/crypto/src/crypto/tls/TlsClientProtocol.cs b/crypto/src/crypto/tls/TlsClientProtocol.cs index e48c92d30..9fe50add8 100644 --- a/crypto/src/crypto/tls/TlsClientProtocol.cs +++ b/crypto/src/crypto/tls/TlsClientProtocol.cs @@ -360,11 +360,12 @@ namespace Org.BouncyCastle.Crypto.Tls SendClientKeyExchangeMessage(); this.mConnectionState = CS_CLIENT_KEY_EXCHANGE; + TlsHandshakeHash prepareFinishHash = mRecordStream.PrepareToFinish(); + this.mSecurityParameters.sessionHash = GetCurrentPrfHash(Context, prepareFinishHash, null); + EstablishMasterSecret(Context, mKeyExchange); mRecordStream.SetPendingConnectionState(Peer.GetCompression(), Peer.GetCipher()); - TlsHandshakeHash prepareFinishHash = mRecordStream.PrepareToFinish(); - if (clientCreds != null && clientCreds is TlsSignerCredentials) { TlsSignerCredentials signerCredentials = (TlsSignerCredentials)clientCreds; @@ -386,7 +387,7 @@ namespace Org.BouncyCastle.Crypto.Tls else { signatureAndHashAlgorithm = null; - hash = GetCurrentPrfHash(Context, prepareFinishHash, null); + hash = mSecurityParameters.SessionHash; } byte[] signature = signerCredentials.GenerateCertificateSignature(hash); @@ -562,7 +563,7 @@ namespace Org.BouncyCastle.Crypto.Tls { NewSessionTicket newSessionTicket = NewSessionTicket.Parse(buf); - TlsProtocol.AssertEmpty(buf); + AssertEmpty(buf); mTlsClient.NotifyNewSessionTicket(newSessionTicket); } @@ -635,6 +636,15 @@ namespace Org.BouncyCastle.Crypto.Tls this.mServerExtensions = ReadExtensions(buf); /* + * draft-ietf-tls-session-hash-01 5.2. If a server receives the "extended_master_secret" + * extension, it MUST include the "extended_master_secret" extension in its ServerHello + * message. + */ + bool serverSentExtendedMasterSecret = TlsExtensionsUtilities.HasExtendedMasterSecretExtension(mServerExtensions); + if (serverSentExtendedMasterSecret != mSecurityParameters.extendedMasterSecret) + throw new TlsFatalAlert(AlertDescription.handshake_failure); + + /* * RFC 3546 2.2 Note that the extended server hello message is only sent in response to an * extended client hello message. * @@ -656,6 +666,25 @@ namespace Org.BouncyCastle.Crypto.Tls continue; /* + * RFC 5246 7.4.1.4 An extension type MUST NOT appear in the ServerHello unless the + * same extension type appeared in the corresponding ClientHello. If a client + * receives an extension type in ServerHello that it did not request in the + * associated ClientHello, it MUST abort the handshake with an unsupported_extension + * fatal alert. + */ + if (null == TlsUtilities.GetExtensionData(this.mClientExtensions, extType)) + throw new TlsFatalAlert(AlertDescription.unsupported_extension); + + /* + * draft-ietf-tls-session-hash-01 5.2. Implementation note: if the server decides to + * proceed with resumption, the extension does not have any effect. Requiring the + * extension to be included anyway makes the extension negotiation logic easier, + * because it does not depend on whether resumption is accepted or not. + */ + if (extType == ExtensionType.extended_master_secret) + continue; + + /* * RFC 3546 2.3. If [...] the older session is resumed, then the server MUST ignore * extensions appearing in the client hello, and Send a server hello containing no * extensions[.] @@ -667,16 +696,6 @@ namespace Org.BouncyCastle.Crypto.Tls // TODO[compat-polarssl] PolarSSL test server Sends server extensions e.g. ec_point_formats // throw new TlsFatalAlert(AlertDescription.illegal_parameter); } - - /* - * RFC 5246 7.4.1.4 An extension type MUST NOT appear in the ServerHello unless the - * same extension type appeared in the corresponding ClientHello. If a client - * receives an extension type in ServerHello that it did not request in the - * associated ClientHello, it MUST abort the handshake with an unsupported_extension - * fatal alert. - */ - if (null == TlsUtilities.GetExtensionData(this.mClientExtensions, extType)) - throw new TlsFatalAlert(AlertDescription.unsupported_extension); } } @@ -718,6 +737,8 @@ namespace Org.BouncyCastle.Crypto.Tls sessionClientExtensions = null; sessionServerExtensions = this.mSessionParameters.ReadServerExtensions(); + + this.mSecurityParameters.extendedMasterSecret = TlsExtensionsUtilities.HasExtendedMasterSecretExtension(sessionServerExtensions); } this.mSecurityParameters.cipherSuite = selectedCipherSuite; @@ -726,9 +747,10 @@ namespace Org.BouncyCastle.Crypto.Tls if (sessionServerExtensions != null) { /* - * draft-ietf-tls-encrypt-then-mac-03 3. If a server receives an encrypt-then-MAC - * request extension from a client and then selects a stream or AEAD cipher suite, it - * MUST NOT Send an encrypt-then-MAC response extension back to the client. + * RFC 7366 3. If a server receives an encrypt-then-MAC request extension from a client + * and then selects a stream or Authenticated Encryption with Associated Data (AEAD) + * ciphersuite, it MUST NOT send an encrypt-then-MAC response extension back to the + * client. */ bool serverSentEncryptThenMAC = TlsExtensionsUtilities.HasEncryptThenMacExtension(sessionServerExtensions); if (serverSentEncryptThenMAC && !TlsUtilities.IsBlockCipherSuite(selectedCipherSuite)) @@ -808,6 +830,8 @@ namespace Org.BouncyCastle.Crypto.Tls this.mClientExtensions = this.mTlsClient.GetClientExtensions(); + this.mSecurityParameters.extendedMasterSecret = TlsExtensionsUtilities.HasExtendedMasterSecretExtension(mClientExtensions); + HandshakeMessage message = new HandshakeMessage(HandshakeType.client_hello); TlsUtilities.WriteVersion(client_version, message); diff --git a/crypto/src/crypto/tls/TlsDHUtilities.cs b/crypto/src/crypto/tls/TlsDHUtilities.cs index 477c3ebac..b29f75e30 100644 --- a/crypto/src/crypto/tls/TlsDHUtilities.cs +++ b/crypto/src/crypto/tls/TlsDHUtilities.cs @@ -1,4 +1,5 @@ using System; +using System.Collections; using System.IO; using Org.BouncyCastle.Crypto.Agreement; @@ -7,14 +8,386 @@ using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Math; using Org.BouncyCastle.Security; using Org.BouncyCastle.Utilities; +using Org.BouncyCastle.Utilities.Encoders; namespace Org.BouncyCastle.Crypto.Tls { public abstract class TlsDHUtilities { - internal static readonly BigInteger One = BigInteger.One; internal static readonly BigInteger Two = BigInteger.Two; + /* + * TODO[draft-ietf-tls-negotiated-ff-dhe-01] Move these groups to DHStandardGroups once reaches RFC + */ + private static BigInteger FromHex(String hex) + { + return new BigInteger(1, Hex.Decode(hex)); + } + + private static DHParameters FromSafeP(String hexP) + { + BigInteger p = FromHex(hexP), q = p.ShiftRight(1); + return new DHParameters(p, Two, q); + } + + private static readonly string draft_ffdhe2432_p = + "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1" + + "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9" + + "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561" + + "2433F51F5F066ED0856365553DED1AF3B557135E7F57C935" + + "984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE735" + + "30ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FB" + + "B96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB19" + + "0B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F61" + + "9172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD73" + + "3BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA" + + "886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C0238" + + "61B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91C" + + "AEFE13098533C8B3FFFFFFFFFFFFFFFF"; + internal static readonly DHParameters draft_ffdhe2432 = FromSafeP(draft_ffdhe2432_p); + + private static readonly string draft_ffdhe3072_p = + "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1" + + "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9" + + "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561" + + "2433F51F5F066ED0856365553DED1AF3B557135E7F57C935" + + "984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE735" + + "30ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FB" + + "B96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB19" + + "0B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F61" + + "9172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD73" + + "3BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA" + + "886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C0238" + + "61B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91C" + + "AEFE130985139270B4130C93BC437944F4FD4452E2D74DD3" + + "64F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0D" + + "ABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF" + + "3C1B20EE3FD59D7C25E41D2B66C62E37FFFFFFFFFFFFFFFF"; + internal static readonly DHParameters draft_ffdhe3072 = FromSafeP(draft_ffdhe3072_p); + + private static readonly string draft_ffdhe4096_p = + "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1" + + "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9" + + "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561" + + "2433F51F5F066ED0856365553DED1AF3B557135E7F57C935" + + "984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE735" + + "30ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FB" + + "B96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB19" + + "0B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F61" + + "9172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD73" + + "3BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA" + + "886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C0238" + + "61B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91C" + + "AEFE130985139270B4130C93BC437944F4FD4452E2D74DD3" + + "64F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0D" + + "ABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF" + + "3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB" + + "7930E9E4E58857B6AC7D5F42D69F6D187763CF1D55034004" + + "87F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832" + + "A907600A918130C46DC778F971AD0038092999A333CB8B7A" + + "1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF" + + "8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E655F6A" + + "FFFFFFFFFFFFFFFF"; + internal static readonly DHParameters draft_ffdhe4096 = FromSafeP(draft_ffdhe4096_p); + + private static readonly string draft_ffdhe6144_p = + "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1" + + "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9" + + "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561" + + "2433F51F5F066ED0856365553DED1AF3B557135E7F57C935" + + "984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE735" + + "30ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FB" + + "B96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB19" + + "0B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F61" + + "9172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD73" + + "3BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA" + + "886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C0238" + + "61B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91C" + + "AEFE130985139270B4130C93BC437944F4FD4452E2D74DD3" + + "64F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0D" + + "ABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF" + + "3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB" + + "7930E9E4E58857B6AC7D5F42D69F6D187763CF1D55034004" + + "87F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832" + + "A907600A918130C46DC778F971AD0038092999A333CB8B7A" + + "1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF" + + "8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E0DD902" + + "0BFD64B645036C7A4E677D2C38532A3A23BA4442CAF53EA6" + + "3BB454329B7624C8917BDD64B1C0FD4CB38E8C334C701C3A" + + "CDAD0657FCCFEC719B1F5C3E4E46041F388147FB4CFDB477" + + "A52471F7A9A96910B855322EDB6340D8A00EF092350511E3" + + "0ABEC1FFF9E3A26E7FB29F8C183023C3587E38DA0077D9B4" + + "763E4E4B94B2BBC194C6651E77CAF992EEAAC0232A281BF6" + + "B3A739C1226116820AE8DB5847A67CBEF9C9091B462D538C" + + "D72B03746AE77F5E62292C311562A846505DC82DB854338A" + + "E49F5235C95B91178CCF2DD5CACEF403EC9D1810C6272B04" + + "5B3B71F9DC6B80D63FDD4A8E9ADB1E6962A69526D43161C1" + + "A41D570D7938DAD4A40E329CD0E40E65FFFFFFFFFFFFFFFF"; + internal static readonly DHParameters draft_ffdhe6144 = FromSafeP(draft_ffdhe6144_p); + + private static readonly string draft_ffdhe8192_p = + "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1" + + "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9" + + "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561" + + "2433F51F5F066ED0856365553DED1AF3B557135E7F57C935" + + "984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE735" + + "30ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FB" + + "B96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB19" + + "0B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F61" + + "9172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD73" + + "3BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA" + + "886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C0238" + + "61B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91C" + + "AEFE130985139270B4130C93BC437944F4FD4452E2D74DD3" + + "64F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0D" + + "ABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF" + + "3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB" + + "7930E9E4E58857B6AC7D5F42D69F6D187763CF1D55034004" + + "87F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832" + + "A907600A918130C46DC778F971AD0038092999A333CB8B7A" + + "1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF" + + "8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E0DD902" + + "0BFD64B645036C7A4E677D2C38532A3A23BA4442CAF53EA6" + + "3BB454329B7624C8917BDD64B1C0FD4CB38E8C334C701C3A" + + "CDAD0657FCCFEC719B1F5C3E4E46041F388147FB4CFDB477" + + "A52471F7A9A96910B855322EDB6340D8A00EF092350511E3" + + "0ABEC1FFF9E3A26E7FB29F8C183023C3587E38DA0077D9B4" + + "763E4E4B94B2BBC194C6651E77CAF992EEAAC0232A281BF6" + + "B3A739C1226116820AE8DB5847A67CBEF9C9091B462D538C" + + "D72B03746AE77F5E62292C311562A846505DC82DB854338A" + + "E49F5235C95B91178CCF2DD5CACEF403EC9D1810C6272B04" + + "5B3B71F9DC6B80D63FDD4A8E9ADB1E6962A69526D43161C1" + + "A41D570D7938DAD4A40E329CCFF46AAA36AD004CF600C838" + + "1E425A31D951AE64FDB23FCEC9509D43687FEB69EDD1CC5E" + + "0B8CC3BDF64B10EF86B63142A3AB8829555B2F747C932665" + + "CB2C0F1CC01BD70229388839D2AF05E454504AC78B758282" + + "2846C0BA35C35F5C59160CC046FD8251541FC68C9C86B022" + + "BB7099876A460E7451A8A93109703FEE1C217E6C3826E52C" + + "51AA691E0E423CFC99E9E31650C1217B624816CDAD9A95F9" + + "D5B8019488D9C0A0A1FE3075A577E23183F81D4A3F2FA457" + + "1EFC8CE0BA8A4FE8B6855DFE72B0A66EDED2FBABFBE58A30" + + "FAFABE1C5D71A87E2F741EF8C1FE86FEA6BBFDE530677F0D" + + "97D11D49F7A8443D0822E506A9F4614E011E2A94838FF88C" + + "D68C8BB7C5C6424CFFFFFFFFFFFFFFFF"; + internal static readonly DHParameters draft_ffdhe8192 = FromSafeP(draft_ffdhe8192_p); + + + public static void AddNegotiatedDheGroupsClientExtension(IDictionary extensions, byte[] dheGroups) + { + extensions[ExtensionType.negotiated_ff_dhe_groups] = CreateNegotiatedDheGroupsClientExtension(dheGroups); + } + + public static void AddNegotiatedDheGroupsServerExtension(IDictionary extensions, byte dheGroup) + { + extensions[ExtensionType.negotiated_ff_dhe_groups] = CreateNegotiatedDheGroupsServerExtension(dheGroup); + } + + public static byte[] GetNegotiatedDheGroupsClientExtension(IDictionary extensions) + { + byte[] extensionData = TlsUtilities.GetExtensionData(extensions, ExtensionType.negotiated_ff_dhe_groups); + return extensionData == null ? null : ReadNegotiatedDheGroupsClientExtension(extensionData); + } + + public static short GetNegotiatedDheGroupsServerExtension(IDictionary extensions) + { + byte[] extensionData = TlsUtilities.GetExtensionData(extensions, ExtensionType.negotiated_ff_dhe_groups); + return extensionData == null ? (short)-1 : (short)ReadNegotiatedDheGroupsServerExtension(extensionData); + } + + public static byte[] CreateNegotiatedDheGroupsClientExtension(byte[] dheGroups) + { + if (dheGroups == null || dheGroups.Length < 1 || dheGroups.Length > 255) + throw new TlsFatalAlert(AlertDescription.internal_error); + + return TlsUtilities.EncodeUint8ArrayWithUint8Length(dheGroups); + } + + public static byte[] CreateNegotiatedDheGroupsServerExtension(byte dheGroup) + { + return new byte[]{ dheGroup }; + } + + public static byte[] ReadNegotiatedDheGroupsClientExtension(byte[] extensionData) + { + if (extensionData == null) + throw new ArgumentNullException("extensionData"); + + MemoryStream buf = new MemoryStream(extensionData, false); + + byte length = TlsUtilities.ReadUint8(buf); + if (length < 1) + throw new TlsFatalAlert(AlertDescription.decode_error); + + byte[] dheGroups = TlsUtilities.ReadUint8Array(length, buf); + + TlsProtocol.AssertEmpty(buf); + + return dheGroups; + } + + public static byte ReadNegotiatedDheGroupsServerExtension(byte[] extensionData) + { + if (extensionData == null) + throw new ArgumentNullException("extensionData"); + + if (extensionData.Length != 1) + throw new TlsFatalAlert(AlertDescription.decode_error); + + return extensionData[0]; + } + + public static DHParameters GetParametersForDHEGroup(short dheGroup) + { + switch (dheGroup) + { + case FiniteFieldDheGroup.ffdhe2432: + return draft_ffdhe2432; + case FiniteFieldDheGroup.ffdhe3072: + return draft_ffdhe3072; + case FiniteFieldDheGroup.ffdhe4096: + return draft_ffdhe4096; + case FiniteFieldDheGroup.ffdhe6144: + return draft_ffdhe6144; + case FiniteFieldDheGroup.ffdhe8192: + return draft_ffdhe8192; + default: + return null; + } + } + + public static bool ContainsDheCipherSuites(int[] cipherSuites) + { + for (int i = 0; i < cipherSuites.Length; ++i) + { + if (IsDheCipherSuite(cipherSuites[i])) + return true; + } + return false; + } + + public static bool IsDheCipherSuite(int cipherSuite) + { + switch (cipherSuite) + { + /* + * RFC 2246 + */ + case CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA: + case CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA: + case CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: + case CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA: + case CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA: + case CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: + + /* + * RFC 3268 + */ + case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA: + case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA: + case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA: + case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA: + + /* + * RFC 5932 + */ + case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: + case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: + case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: + case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: + case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256: + case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256: + case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256: + case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256: + + /* + * RFC 4162 + */ + case CipherSuite.TLS_DHE_DSS_WITH_SEED_CBC_SHA: + case CipherSuite.TLS_DHE_RSA_WITH_SEED_CBC_SHA: + + /* + * RFC 4279 + */ + case CipherSuite.TLS_DHE_PSK_WITH_RC4_128_SHA: + case CipherSuite.TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA: + case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CBC_SHA: + case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CBC_SHA: + + /* + * RFC 4785 + */ + case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA: + + /* + * RFC 5246 + */ + case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: + case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: + case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: + case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: + + /* + * RFC 5288 + */ + case CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: + case CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: + case CipherSuite.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: + case CipherSuite.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: + + /* + * RFC 5487 + */ + case CipherSuite.TLS_DHE_PSK_WITH_AES_128_GCM_SHA256: + case CipherSuite.TLS_DHE_PSK_WITH_AES_256_GCM_SHA384: + case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CBC_SHA256: + case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CBC_SHA384: + case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA256: + case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA384: + + /* + * RFC 6367 + */ + case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256: + case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384: + case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256: + case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384: + case CipherSuite.TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256: + case CipherSuite.TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384: + case CipherSuite.TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256: + case CipherSuite.TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384: + + /* + * RFC 6655 + */ + case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM: + case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM: + case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM_8: + case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM_8: + case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CCM: + case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CCM: + case CipherSuite.TLS_PSK_DHE_WITH_AES_128_CCM_8: + case CipherSuite.TLS_PSK_DHE_WITH_AES_256_CCM_8: + + /* + * draft-agl-tls-chacha20poly1305-04 + */ + case CipherSuite.TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256: + + /* + * draft-josefsson-salsa20-tls-04 + */ + case CipherSuite.TLS_DHE_PSK_WITH_ESTREAM_SALSA20_SHA1: + case CipherSuite.TLS_DHE_PSK_WITH_SALSA20_SHA1: + case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_SHA1: + case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_SHA1: + + return true; + + default: + return false; + } + } + public static bool AreCompatibleParameters(DHParameters a, DHParameters b) { return a.P.Equals(b.P) && a.G.Equals(b.G); @@ -78,7 +451,7 @@ namespace Org.BouncyCastle.Crypto.Tls { throw new TlsFatalAlert(AlertDescription.illegal_parameter); } - if (Y.CompareTo(Two) < 0 || Y.CompareTo(p.Subtract(One)) > 0) + if (Y.CompareTo(Two) < 0 || Y.CompareTo(p.Subtract(Two)) > 0) { throw new TlsFatalAlert(AlertDescription.illegal_parameter); } diff --git a/crypto/src/crypto/tls/TlsExtensionsUtilities.cs b/crypto/src/crypto/tls/TlsExtensionsUtilities.cs index 8876911e6..46851b66c 100644 --- a/crypto/src/crypto/tls/TlsExtensionsUtilities.cs +++ b/crypto/src/crypto/tls/TlsExtensionsUtilities.cs @@ -18,6 +18,11 @@ namespace Org.BouncyCastle.Crypto.Tls extensions[ExtensionType.encrypt_then_mac] = CreateEncryptThenMacExtension(); } + public static void AddExtendedMasterSecretExtension(IDictionary extensions) + { + extensions[ExtensionType.extended_master_secret] = CreateExtendedMasterSecretExtension(); + } + /// <exception cref="IOException"></exception> public static void AddHeartbeatExtension(IDictionary extensions, HeartbeatExtension heartbeatExtension) { @@ -83,6 +88,13 @@ namespace Org.BouncyCastle.Crypto.Tls } /// <exception cref="IOException"></exception> + public static bool HasExtendedMasterSecretExtension(IDictionary extensions) + { + byte[] extensionData = TlsUtilities.GetExtensionData(extensions, ExtensionType.extended_master_secret); + return extensionData == null ? false : ReadExtendedMasterSecretExtension(extensionData); + } + + /// <exception cref="IOException"></exception> public static bool HasTruncatedHMacExtension(IDictionary extensions) { byte[] extensionData = TlsUtilities.GetExtensionData(extensions, ExtensionType.truncated_hmac); @@ -99,6 +111,11 @@ namespace Org.BouncyCastle.Crypto.Tls return CreateEmptyExtensionData(); } + public static byte[] CreateExtendedMasterSecretExtension() + { + return CreateEmptyExtensionData(); + } + /// <exception cref="IOException"></exception> public static byte[] CreateHeartbeatExtension(HeartbeatExtension heartbeatExtension) { @@ -115,9 +132,6 @@ namespace Org.BouncyCastle.Crypto.Tls /// <exception cref="IOException"></exception> public static byte[] CreateMaxFragmentLengthExtension(byte maxFragmentLength) { - if (!MaxFragmentLength.IsValid(maxFragmentLength)) - throw new TlsFatalAlert(AlertDescription.internal_error); - return new byte[]{ maxFragmentLength }; } @@ -173,6 +187,12 @@ namespace Org.BouncyCastle.Crypto.Tls } /// <exception cref="IOException"></exception> + public static bool ReadExtendedMasterSecretExtension(byte[] extensionData) + { + return ReadEmptyExtensionData(extensionData); + } + + /// <exception cref="IOException"></exception> public static HeartbeatExtension ReadHeartbeatExtension(byte[] extensionData) { if (extensionData == null) @@ -196,12 +216,7 @@ namespace Org.BouncyCastle.Crypto.Tls if (extensionData.Length != 1) throw new TlsFatalAlert(AlertDescription.decode_error); - byte maxFragmentLength = extensionData[0]; - - if (!MaxFragmentLength.IsValid(maxFragmentLength)) - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - - return maxFragmentLength; + return extensionData[0]; } /// <exception cref="IOException"></exception> diff --git a/crypto/src/crypto/tls/TlsFatalAlert.cs b/crypto/src/crypto/tls/TlsFatalAlert.cs index 0c7ed88d9..55d784dd9 100644 --- a/crypto/src/crypto/tls/TlsFatalAlert.cs +++ b/crypto/src/crypto/tls/TlsFatalAlert.cs @@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Crypto.Tls } public TlsFatalAlert(byte alertDescription, Exception alertCause) - : base("Fatal alert: " + alertDescription, alertCause) + : base(Tls.AlertDescription.GetText(alertDescription), alertCause) { this.alertDescription = alertDescription; } diff --git a/crypto/src/crypto/tls/TlsServerProtocol.cs b/crypto/src/crypto/tls/TlsServerProtocol.cs index 589ede802..165d6a147 100644 --- a/crypto/src/crypto/tls/TlsServerProtocol.cs +++ b/crypto/src/crypto/tls/TlsServerProtocol.cs @@ -422,14 +422,14 @@ namespace Org.BouncyCastle.Crypto.Tls // Verify the CertificateVerify message contains a correct signature. try { - byte[] certificateVerifyHash; + byte[] hash; if (TlsUtilities.IsTlsV12(Context)) { - certificateVerifyHash = mPrepareFinishHash.GetFinalHash(clientCertificateVerify.Algorithm.Hash); + hash = mPrepareFinishHash.GetFinalHash(clientCertificateVerify.Algorithm.Hash); } else { - certificateVerifyHash = TlsProtocol.GetCurrentPrfHash(Context, mPrepareFinishHash, null); + hash = mSecurityParameters.SessionHash; } X509CertificateStructure x509Cert = mPeerCertificate.GetCertificateAt(0); @@ -439,7 +439,7 @@ namespace Org.BouncyCastle.Crypto.Tls TlsSigner tlsSigner = TlsUtilities.CreateTlsSigner((byte)mClientCertificateType); tlsSigner.Init(Context); if (!tlsSigner.VerifyRawSignature(clientCertificateVerify.Algorithm, - clientCertificateVerify.Signature, publicKey, certificateVerifyHash)) + clientCertificateVerify.Signature, publicKey, hash)) { throw new TlsFatalAlert(AlertDescription.decrypt_error); } @@ -494,6 +494,8 @@ namespace Org.BouncyCastle.Crypto.Tls */ this.mClientExtensions = ReadExtensions(buf); + this.mSecurityParameters.extendedMasterSecret = TlsExtensionsUtilities.HasExtendedMasterSecretExtension(mClientExtensions); + ContextAdmin.SetClientVersion(client_version); mTlsServer.NotifyClientVersion(client_version); @@ -556,11 +558,12 @@ namespace Org.BouncyCastle.Crypto.Tls AssertEmpty(buf); + this.mPrepareFinishHash = mRecordStream.PrepareToFinish(); + this.mSecurityParameters.sessionHash = GetCurrentPrfHash(Context, mPrepareFinishHash, null); + EstablishMasterSecret(Context, mKeyExchange); mRecordStream.SetPendingConnectionState(Peer.GetCompression(), Peer.GetCipher()); - this.mPrepareFinishHash = mRecordStream.PrepareToFinish(); - if (!mExpectSessionTicket) { SendChangeCipherSpecMessage(); @@ -669,6 +672,12 @@ namespace Org.BouncyCastle.Crypto.Tls } } + if (mSecurityParameters.extendedMasterSecret) + { + this.mServerExtensions = TlsExtensionsUtilities.EnsureExtensionsInitialised(mServerExtensions); + TlsExtensionsUtilities.AddExtendedMasterSecretExtension(mServerExtensions); + } + /* * TODO RFC 3546 2.3 If [...] the older session is resumed, then the server MUST ignore * extensions appearing in the client hello, and Send a server hello containing no diff --git a/crypto/src/crypto/tls/TlsUtilities.cs b/crypto/src/crypto/tls/TlsUtilities.cs index f1ea0996d..d571e5900 100644 --- a/crypto/src/crypto/tls/TlsUtilities.cs +++ b/crypto/src/crypto/tls/TlsUtilities.cs @@ -740,9 +740,7 @@ namespace Org.BouncyCastle.Crypto.Tls int prfAlgorithm = context.SecurityParameters.PrfAlgorithm; if (prfAlgorithm == PrfAlgorithm.tls_prf_legacy) - { return PRF_legacy(secret, label, labelSeed, size); - } IDigest prfDigest = CreatePrfHash(prfAlgorithm); byte[] buf = new byte[size]; @@ -817,9 +815,7 @@ namespace Org.BouncyCastle.Crypto.Tls DerBitString ku = KeyUsage.GetInstance(ext); int bits = ku.GetBytes()[0]; if ((bits & keyUsageBits) != keyUsageBits) - { throw new TlsFatalAlert(AlertDescription.certificate_unknown); - } } } } @@ -831,9 +827,7 @@ namespace Org.BouncyCastle.Crypto.Tls byte[] seed = Concat(securityParameters.ServerRandom, securityParameters.ClientRandom); if (IsSsl(context)) - { return CalculateKeyBlock_Ssl(master_secret, seed, size); - } return PRF(context, master_secret, ExporterLabel.key_expansion, seed, size); } @@ -870,14 +864,19 @@ namespace Org.BouncyCastle.Crypto.Tls internal static byte[] CalculateMasterSecret(TlsContext context, byte[] pre_master_secret) { SecurityParameters securityParameters = context.SecurityParameters; - byte[] seed = Concat(securityParameters.ClientRandom, securityParameters.ServerRandom); + + byte[] seed = securityParameters.extendedMasterSecret + ? securityParameters.SessionHash + : Concat(securityParameters.ClientRandom, securityParameters.ServerRandom); if (IsSsl(context)) - { return CalculateMasterSecret_Ssl(pre_master_secret, seed); - } - return PRF(context, pre_master_secret, ExporterLabel.master_secret, seed, 48); + string asciiLabel = securityParameters.extendedMasterSecret + ? ExporterLabel.extended_master_secret + : ExporterLabel.master_secret; + + return PRF(context, pre_master_secret, asciiLabel, seed, 48); } internal static byte[] CalculateMasterSecret_Ssl(byte[] pre_master_secret, byte[] random) @@ -912,9 +911,7 @@ namespace Org.BouncyCastle.Crypto.Tls internal static byte[] CalculateVerifyData(TlsContext context, string asciiLabel, byte[] handshakeHash) { if (IsSsl(context)) - { return handshakeHash; - } SecurityParameters securityParameters = context.SecurityParameters; byte[] master_secret = securityParameters.MasterSecret; diff --git a/crypto/src/math/ec/multiplier/FpNafMultiplier.cs b/crypto/src/math/ec/multiplier/FpNafMultiplier.cs index f5a98501a..7c034ce6e 100644 --- a/crypto/src/math/ec/multiplier/FpNafMultiplier.cs +++ b/crypto/src/math/ec/multiplier/FpNafMultiplier.cs @@ -1,3 +1,4 @@ +#if FALSE namespace Org.BouncyCastle.Math.EC.Multiplier { /** @@ -37,3 +38,4 @@ namespace Org.BouncyCastle.Math.EC.Multiplier } } } +#endif \ No newline at end of file diff --git a/crypto/src/math/ec/multiplier/WNafMultiplier.cs b/crypto/src/math/ec/multiplier/WNafMultiplier.cs index b5cf34ba8..484bb30e7 100644 --- a/crypto/src/math/ec/multiplier/WNafMultiplier.cs +++ b/crypto/src/math/ec/multiplier/WNafMultiplier.cs @@ -1,3 +1,4 @@ +#if FALSE using System; namespace Org.BouncyCastle.Math.EC.Multiplier @@ -239,3 +240,4 @@ namespace Org.BouncyCastle.Math.EC.Multiplier } } } +#endif \ No newline at end of file diff --git a/crypto/src/openssl/PEMReader.cs b/crypto/src/openssl/PEMReader.cs index 9d3560838..8c19fe601 100644 --- a/crypto/src/openssl/PEMReader.cs +++ b/crypto/src/openssl/PEMReader.cs @@ -276,7 +276,7 @@ namespace Org.BouncyCastle.OpenSsl if (seq.Count != 9) throw new PemException("malformed sequence in RSA private key"); - RsaPrivateKeyStructure rsa = new RsaPrivateKeyStructure(seq); + RsaPrivateKeyStructure rsa = RsaPrivateKeyStructure.GetInstance(seq); pubSpec = new RsaKeyParameters(false, rsa.Modulus, rsa.PublicExponent); privSpec = new RsaPrivateCrtKeyParameters( diff --git a/crypto/src/pkcs/Pkcs12Store.cs b/crypto/src/pkcs/Pkcs12Store.cs index 7e9976c9f..a024bcd6b 100644 --- a/crypto/src/pkcs/Pkcs12Store.cs +++ b/crypto/src/pkcs/Pkcs12Store.cs @@ -29,6 +29,8 @@ namespace Org.BouncyCastle.Pkcs private readonly DerObjectIdentifier certAlgorithm; private readonly bool useDerEncoding; + private AsymmetricKeyEntry unmarkedKeyEntry = null; + private const int MinIterations = 1024; private const int SaltSize = 20; @@ -108,95 +110,22 @@ namespace Org.BouncyCastle.Pkcs Load(input, password); } - public void Load( - Stream input, - char[] password) + protected virtual void LoadKeyBag(PrivateKeyInfo privKeyInfo, Asn1Set bagAttributes) { - if (input == null) - throw new ArgumentNullException("input"); - if (password == null) - throw new ArgumentNullException("password"); - - Asn1Sequence obj = (Asn1Sequence) Asn1Object.FromStream(input); - Pfx bag = new Pfx(obj); - ContentInfo info = bag.AuthSafe; - bool unmarkedKey = false; - bool wrongPkcs12Zero = false; - - if (bag.MacData != null) // check the mac code - { - MacData mData = bag.MacData; - DigestInfo dInfo = mData.Mac; - AlgorithmIdentifier algId = dInfo.AlgorithmID; - byte[] salt = mData.GetSalt(); - int itCount = mData.IterationCount.IntValue; - - byte[] data = ((Asn1OctetString) info.Content).GetOctets(); - - byte[] mac = CalculatePbeMac(algId.ObjectID, salt, itCount, password, false, data); - byte[] dig = dInfo.GetDigest(); - - if (!Arrays.ConstantTimeAreEqual(mac, dig)) - { - if (password.Length > 0) - throw new IOException("PKCS12 key store MAC invalid - wrong password or corrupted file."); - - // Try with incorrect zero length password - mac = CalculatePbeMac(algId.ObjectID, salt, itCount, password, true, data); - - if (!Arrays.ConstantTimeAreEqual(mac, dig)) - throw new IOException("PKCS12 key store MAC invalid - wrong password or corrupted file."); - - wrongPkcs12Zero = true; - } - } - - keys.Clear(); - localIds.Clear(); - - IList chain = Platform.CreateArrayList(); - - if (info.ContentType.Equals(PkcsObjectIdentifiers.Data)) - { - byte[] octs = ((Asn1OctetString)info.Content).GetOctets(); - AuthenticatedSafe authSafe = new AuthenticatedSafe( - (Asn1Sequence) Asn1OctetString.FromByteArray(octs)); - ContentInfo[] cis = authSafe.GetContentInfo(); - - foreach (ContentInfo ci in cis) - { - DerObjectIdentifier oid = ci.ContentType; - - if (oid.Equals(PkcsObjectIdentifiers.Data)) - { - byte[] octets = ((Asn1OctetString)ci.Content).GetOctets(); - Asn1Sequence seq = (Asn1Sequence) Asn1Object.FromByteArray(octets); + AsymmetricKeyParameter privKey = PrivateKeyFactory.CreateKey(privKeyInfo); - foreach (Asn1Sequence subSeq in seq) - { - SafeBag b = new SafeBag(subSeq); - - if (b.BagID.Equals(PkcsObjectIdentifiers.Pkcs8ShroudedKeyBag)) - { - EncryptedPrivateKeyInfo eIn = EncryptedPrivateKeyInfo.GetInstance(b.BagValue); - PrivateKeyInfo privInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo( - password, wrongPkcs12Zero, eIn); - AsymmetricKeyParameter privKey = PrivateKeyFactory.CreateKey(privInfo); - - // - // set the attributes on the key - // IDictionary attributes = Platform.CreateHashtable(); - AsymmetricKeyEntry pkcs12Key = new AsymmetricKeyEntry(privKey, attributes); + AsymmetricKeyEntry keyEntry = new AsymmetricKeyEntry(privKey, attributes); + string alias = null; Asn1OctetString localId = null; - if (b.BagAttributes != null) + if (bagAttributes != null) { - foreach (Asn1Sequence sq in b.BagAttributes) + foreach (Asn1Sequence sq in bagAttributes) { - DerObjectIdentifier aOid = (DerObjectIdentifier) sq[0]; - Asn1Set attrSet = (Asn1Set) sq[1]; + DerObjectIdentifier aOid = DerObjectIdentifier.GetInstance(sq[0]); + Asn1Set attrSet = Asn1Set.GetInstance(sq[1]); Asn1Encodable attr = null; if (attrSet.Count > 0) @@ -210,10 +139,8 @@ namespace Org.BouncyCastle.Pkcs { // OK, but the value has to be the same if (!attributes[aOid.Id].Equals(attr)) - { throw new IOException("attempt to add existing attribute with different value"); } - } else { attributes.Add(aOid.Id, attr); @@ -223,7 +150,7 @@ namespace Org.BouncyCastle.Pkcs { alias = ((DerBmpString)attr).GetString(); // TODO Do these in a separate loop, just collect aliases here - keys[alias] = pkcs12Key; + keys[alias] = keyEntry; } else if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtLocalKeyID)) { @@ -239,7 +166,7 @@ namespace Org.BouncyCastle.Pkcs if (alias == null) { - keys[name] = pkcs12Key; + keys[name] = keyEntry; } else { @@ -249,183 +176,124 @@ namespace Org.BouncyCastle.Pkcs } else { - unmarkedKey = true; - keys["unmarked"] = pkcs12Key; + unmarkedKeyEntry = keyEntry; } } - else if (b.BagID.Equals(PkcsObjectIdentifiers.CertBag)) + + protected virtual void LoadPkcs8ShroudedKeyBag(EncryptedPrivateKeyInfo encPrivKeyInfo, Asn1Set bagAttributes, + char[] password, bool wrongPkcs12Zero) { - chain.Add(b); - } - else + if (password != null) { - Debug.WriteLine("extra " + b.BagID); - Debug.WriteLine("extra " + Asn1Dump.DumpAsString(b)); + PrivateKeyInfo privInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo( + password, wrongPkcs12Zero, encPrivKeyInfo); + + LoadKeyBag(privInfo, bagAttributes); } } - } - else if (oid.Equals(PkcsObjectIdentifiers.EncryptedData)) - { - EncryptedData d = EncryptedData.GetInstance(ci.Content); - byte[] octets = CryptPbeData(false, d.EncryptionAlgorithm, - password, wrongPkcs12Zero, d.Content.GetOctets()); - Asn1Sequence seq = (Asn1Sequence) Asn1Object.FromByteArray(octets); - foreach (Asn1Sequence subSeq in seq) + public void Load( + Stream input, + char[] password) { - SafeBag b = new SafeBag(subSeq); + if (input == null) + throw new ArgumentNullException("input"); - if (b.BagID.Equals(PkcsObjectIdentifiers.CertBag)) - { - chain.Add(b); - } - else if (b.BagID.Equals(PkcsObjectIdentifiers.Pkcs8ShroudedKeyBag)) + Asn1Sequence obj = (Asn1Sequence) Asn1Object.FromStream(input); + Pfx bag = new Pfx(obj); + ContentInfo info = bag.AuthSafe; + bool wrongPkcs12Zero = false; + + if (password != null && bag.MacData != null) // check the mac code { - EncryptedPrivateKeyInfo eIn = EncryptedPrivateKeyInfo.GetInstance(b.BagValue); - PrivateKeyInfo privInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo( - password, wrongPkcs12Zero, eIn); - AsymmetricKeyParameter privKey = PrivateKeyFactory.CreateKey(privInfo); - - // - // set the attributes on the key - // - IDictionary attributes = Platform.CreateHashtable(); - AsymmetricKeyEntry pkcs12Key = new AsymmetricKeyEntry(privKey, attributes); - string alias = null; - Asn1OctetString localId = null; + MacData mData = bag.MacData; + DigestInfo dInfo = mData.Mac; + AlgorithmIdentifier algId = dInfo.AlgorithmID; + byte[] salt = mData.GetSalt(); + int itCount = mData.IterationCount.IntValue; - foreach (Asn1Sequence sq in b.BagAttributes) - { - DerObjectIdentifier aOid = (DerObjectIdentifier) sq[0]; - Asn1Set attrSet = (Asn1Set) sq[1]; - Asn1Encodable attr = null; + byte[] data = ((Asn1OctetString) info.Content).GetOctets(); + + byte[] mac = CalculatePbeMac(algId.ObjectID, salt, itCount, password, false, data); + byte[] dig = dInfo.GetDigest(); - if (attrSet.Count > 0) + if (!Arrays.ConstantTimeAreEqual(mac, dig)) { - // TODO We should be adding all attributes in the set - attr = attrSet[0]; + if (password.Length > 0) + throw new IOException("PKCS12 key store MAC invalid - wrong password or corrupted file."); - // TODO We might want to "merge" attribute sets with - // the same OID - currently, differing values give an error - if (attributes.Contains(aOid.Id)) - { - // OK, but the value has to be the same - if (!attributes[aOid.Id].Equals(attr)) - { - throw new IOException("attempt to add existing attribute with different value"); - } - } - else - { - attributes.Add(aOid.Id, attr); - } + // Try with incorrect zero length password + mac = CalculatePbeMac(algId.ObjectID, salt, itCount, password, true, data); - if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtFriendlyName)) - { - alias = ((DerBmpString)attr).GetString(); - // TODO Do these in a separate loop, just collect aliases here - keys[alias] = pkcs12Key; + if (!Arrays.ConstantTimeAreEqual(mac, dig)) + throw new IOException("PKCS12 key store MAC invalid - wrong password or corrupted file."); + + wrongPkcs12Zero = true; } - else if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtLocalKeyID)) - { - localId = (Asn1OctetString)attr; } - } - } - // TODO Should we be checking localIds != null here - // as for PkcsObjectIdentifiers.Data version above? + keys.Clear(); + localIds.Clear(); + unmarkedKeyEntry = null; - string name = Hex.ToHexString(localId.GetOctets()); + IList certBags = Platform.CreateArrayList(); - if (alias == null) - { - keys[name] = pkcs12Key; - } - else - { - // TODO There may have been more than one alias - localIds[alias] = name; - } - } - else if (b.BagID.Equals(PkcsObjectIdentifiers.KeyBag)) + if (info.ContentType.Equals(PkcsObjectIdentifiers.Data)) { - PrivateKeyInfo privKeyInfo = PrivateKeyInfo.GetInstance(b.BagValue); - AsymmetricKeyParameter privKey = PrivateKeyFactory.CreateKey(privKeyInfo); - - // - // set the attributes on the key - // - string alias = null; - Asn1OctetString localId = null; - IDictionary attributes = Platform.CreateHashtable(); - AsymmetricKeyEntry pkcs12Key = new AsymmetricKeyEntry(privKey, attributes); + byte[] octs = ((Asn1OctetString)info.Content).GetOctets(); + AuthenticatedSafe authSafe = new AuthenticatedSafe( + (Asn1Sequence) Asn1OctetString.FromByteArray(octs)); + ContentInfo[] cis = authSafe.GetContentInfo(); - foreach (Asn1Sequence sq in b.BagAttributes) + foreach (ContentInfo ci in cis) { - DerObjectIdentifier aOid = DerObjectIdentifier.GetInstance(sq[0]); - Asn1Set attrSet = Asn1Set.GetInstance(sq[1]); - Asn1Encodable attr = null; + DerObjectIdentifier oid = ci.ContentType; - if (attrSet.Count > 0) + byte[] octets = null; + if (oid.Equals(PkcsObjectIdentifiers.Data)) { - // TODO We should be adding all attributes in the set - attr = attrSet[0]; - - // TODO We might want to "merge" attribute sets with - // the same OID - currently, differing values give an error - if (attributes.Contains(aOid.Id)) + octets = ((Asn1OctetString)ci.Content).GetOctets(); + } + else if (oid.Equals(PkcsObjectIdentifiers.EncryptedData)) { - // OK, but the value has to be the same - if (!attributes[aOid.Id].Equals(attr)) + if (password != null) { - throw new IOException("attempt to add existing attribute with different value"); + EncryptedData d = EncryptedData.GetInstance(ci.Content); + octets = CryptPbeData(false, d.EncryptionAlgorithm, + password, wrongPkcs12Zero, d.Content.GetOctets()); } } else { - attributes.Add(aOid.Id, attr); + // TODO Other data types } - if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtFriendlyName)) + if (octets != null) { - alias = ((DerBmpString)attr).GetString(); - // TODO Do these in a separate loop, just collect aliases here - keys[alias] = pkcs12Key; - } - else if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtLocalKeyID)) - { - localId = (Asn1OctetString)attr; - } - } - } - - // TODO Should we be checking localIds != null here - // as for PkcsObjectIdentifiers.Data version above? + Asn1Sequence seq = (Asn1Sequence)Asn1Object.FromByteArray(octets); - string name = Hex.ToHexString(localId.GetOctets()); + foreach (Asn1Sequence subSeq in seq) + { + SafeBag b = new SafeBag(subSeq); - if (alias == null) + if (b.BagID.Equals(PkcsObjectIdentifiers.CertBag)) { - keys[name] = pkcs12Key; + certBags.Add(b); } - else + else if (b.BagID.Equals(PkcsObjectIdentifiers.Pkcs8ShroudedKeyBag)) { - // TODO There may have been more than one alias - localIds[alias] = name; + LoadPkcs8ShroudedKeyBag(EncryptedPrivateKeyInfo.GetInstance(b.BagValue), + b.BagAttributes, password, wrongPkcs12Zero); } + else if (b.BagID.Equals(PkcsObjectIdentifiers.KeyBag)) + { + LoadKeyBag(PrivateKeyInfo.GetInstance(b.BagValue), b.BagAttributes); } else { - Debug.WriteLine("extra " + b.BagID); - Debug.WriteLine("extra " + Asn1Dump.DumpAsString(b)); - } + // TODO Other bag types } } - else - { - Debug.WriteLine("extra " + oid); - Debug.WriteLine("extra " + Asn1Dump.DumpAsString(ci.Content)); } } } @@ -434,10 +302,10 @@ namespace Org.BouncyCastle.Pkcs chainCerts.Clear(); keyCerts.Clear(); - foreach (SafeBag b in chain) + foreach (SafeBag b in certBags) { - CertBag cb = new CertBag((Asn1Sequence)b.BagValue); - byte[] octets = ((Asn1OctetString) cb.CertValue).GetOctets(); + CertBag certBag = new CertBag((Asn1Sequence)b.BagValue); + byte[] octets = ((Asn1OctetString)certBag.CertValue).GetOctets(); X509Certificate cert = new X509CertificateParser().ReadCertificate(octets); // @@ -487,21 +355,18 @@ namespace Org.BouncyCastle.Pkcs } CertId certId = new CertId(cert.GetPublicKey()); - X509CertificateEntry pkcs12Cert = new X509CertificateEntry(cert, attributes); + X509CertificateEntry certEntry = new X509CertificateEntry(cert, attributes); - chainCerts[certId] = pkcs12Cert; + chainCerts[certId] = certEntry; - if (unmarkedKey) + if (unmarkedKeyEntry != null) { if (keyCerts.Count == 0) { string name = Hex.ToHexString(certId.Id); - keyCerts[name] = pkcs12Cert; - - object temp = keys["unmarked"]; - keys.Remove("unmarked"); - keys[name] = temp; + keyCerts[name] = certEntry; + keys[name] = unmarkedKeyEntry; } } else @@ -510,13 +375,13 @@ namespace Org.BouncyCastle.Pkcs { string name = Hex.ToHexString(localId.GetOctets()); - keyCerts[name] = pkcs12Cert; + keyCerts[name] = certEntry; } if (alias != null) { // TODO There may have been more than one alias - certs[alias] = pkcs12Cert; + certs[alias] = certEntry; } } } @@ -842,24 +707,34 @@ namespace Org.BouncyCastle.Pkcs { if (stream == null) throw new ArgumentNullException("stream"); - if (password == null) - throw new ArgumentNullException("password"); if (random == null) throw new ArgumentNullException("random"); // - // handle the key + // handle the keys // - Asn1EncodableVector keyS = new Asn1EncodableVector(); + Asn1EncodableVector keyBags = new Asn1EncodableVector(); foreach (string name in keys.Keys) { byte[] kSalt = new byte[SaltSize]; random.NextBytes(kSalt); - AsymmetricKeyEntry privKey = (AsymmetricKeyEntry) keys[name]; - EncryptedPrivateKeyInfo kInfo = - EncryptedPrivateKeyInfoFactory.CreateEncryptedPrivateKeyInfo( + AsymmetricKeyEntry privKey = (AsymmetricKeyEntry)keys[name]; + + DerObjectIdentifier bagOid; + Asn1Encodable bagData; + + if (password == null) + { + bagOid = PkcsObjectIdentifiers.KeyBag; + bagData = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privKey.Key); + } + else + { + bagOid = PkcsObjectIdentifiers.Pkcs8ShroudedKeyBag; + bagData = EncryptedPrivateKeyInfoFactory.CreateEncryptedPrivateKeyInfo( keyAlgorithm, password, kSalt, MinIterations, privKey.Key); + } Asn1EncodableVector kName = new Asn1EncodableVector(); @@ -904,13 +779,11 @@ namespace Org.BouncyCastle.Pkcs new DerSet(subjectKeyID))); } - SafeBag kBag = new SafeBag(PkcsObjectIdentifiers.Pkcs8ShroudedKeyBag, kInfo.ToAsn1Object(), new DerSet(kName)); - keyS.Add(kBag); + keyBags.Add(new SafeBag(bagOid, bagData.ToAsn1Object(), new DerSet(kName))); } - byte[] derEncodedBytes = new DerSequence(keyS).GetDerEncoded(); - - BerOctetString keyString = new BerOctetString(derEncodedBytes); + byte[] keyBagsEncoding = new DerSequence(keyBags).GetDerEncoded(); + ContentInfo keysInfo = new ContentInfo(PkcsObjectIdentifiers.Data, new BerOctetString(keyBagsEncoding)); // // certificate processing @@ -919,7 +792,7 @@ namespace Org.BouncyCastle.Pkcs random.NextBytes(cSalt); - Asn1EncodableVector certSeq = new Asn1EncodableVector(); + Asn1EncodableVector certBags = new Asn1EncodableVector(); Pkcs12PbeParams cParams = new Pkcs12PbeParams(cSalt, MinIterations); AlgorithmIdentifier cAlgId = new AlgorithmIdentifier(certAlgorithm, cParams.ToAsn1Object()); ISet doneCerts = new HashSet(); @@ -973,10 +846,7 @@ namespace Org.BouncyCastle.Pkcs new DerSet(subjectKeyID))); } - SafeBag sBag = new SafeBag( - PkcsObjectIdentifiers.CertBag, cBag.ToAsn1Object(), new DerSet(fName)); - - certSeq.Add(sBag); + certBags.Add(new SafeBag(PkcsObjectIdentifiers.CertBag, cBag.ToAsn1Object(), new DerSet(fName))); doneCerts.Add(certEntry.Certificate); } @@ -1027,10 +897,7 @@ namespace Org.BouncyCastle.Pkcs new DerSet(new DerBmpString(certId)))); } - SafeBag sBag = new SafeBag(PkcsObjectIdentifiers.CertBag, - cBag.ToAsn1Object(), new DerSet(fName)); - - certSeq.Add(sBag); + certBags.Add(new SafeBag(PkcsObjectIdentifiers.CertBag, cBag.ToAsn1Object(), new DerSet(fName))); doneCerts.Add(cert.Certificate); } @@ -1063,22 +930,24 @@ namespace Org.BouncyCastle.Pkcs new DerSet(cert[oid]))); } - SafeBag sBag = new SafeBag(PkcsObjectIdentifiers.CertBag, cBag.ToAsn1Object(), new DerSet(fName)); - - certSeq.Add(sBag); + certBags.Add(new SafeBag(PkcsObjectIdentifiers.CertBag, cBag.ToAsn1Object(), new DerSet(fName))); } - derEncodedBytes = new DerSequence(certSeq).GetDerEncoded(); - - byte[] certBytes = CryptPbeData(true, cAlgId, password, false, derEncodedBytes); + byte[] certBagsEncoding = new DerSequence(certBags).GetDerEncoded(); + ContentInfo certsInfo; + if (password == null) + { + certsInfo = new ContentInfo(PkcsObjectIdentifiers.Data, new BerOctetString(certBagsEncoding)); + } + else + { + byte[] certBytes = CryptPbeData(true, cAlgId, password, false, certBagsEncoding); EncryptedData cInfo = new EncryptedData(PkcsObjectIdentifiers.Data, cAlgId, new BerOctetString(certBytes)); + certsInfo = new ContentInfo(PkcsObjectIdentifiers.EncryptedData, cInfo.ToAsn1Object()); + } - ContentInfo[] info = new ContentInfo[] - { - new ContentInfo(PkcsObjectIdentifiers.Data, keyString), - new ContentInfo(PkcsObjectIdentifiers.EncryptedData, cInfo.ToAsn1Object()) - }; + ContentInfo[] info = new ContentInfo[]{ keysInfo, certsInfo }; byte[] data = new AuthenticatedSafe(info).GetEncoded( useDerEncoding ? Asn1Encodable.Der : Asn1Encodable.Ber); @@ -1088,6 +957,9 @@ namespace Org.BouncyCastle.Pkcs // // create the mac // + MacData macData = null; + if (password != null) + { byte[] mSalt = new byte[20]; random.NextBytes(mSalt); @@ -1098,12 +970,13 @@ namespace Org.BouncyCastle.Pkcs OiwObjectIdentifiers.IdSha1, DerNull.Instance); DigestInfo dInfo = new DigestInfo(algId, mac); - MacData mData = new MacData(dInfo, mSalt, MinIterations); + macData = new MacData(dInfo, mSalt, MinIterations); + } // // output the Pfx // - Pfx pfx = new Pfx(mainInfo, mData); + Pfx pfx = new Pfx(mainInfo, macData); DerOutputStream derOut; if (useDerEncoding) diff --git a/crypto/src/security/PrivateKeyFactory.cs b/crypto/src/security/PrivateKeyFactory.cs index 1cfa37afe..edc5ef85a 100644 --- a/crypto/src/security/PrivateKeyFactory.cs +++ b/crypto/src/security/PrivateKeyFactory.cs @@ -53,8 +53,7 @@ namespace Org.BouncyCastle.Security || algOid.Equals(PkcsObjectIdentifiers.IdRsassaPss) || algOid.Equals(PkcsObjectIdentifiers.IdRsaesOaep)) { - RsaPrivateKeyStructure keyStructure = new RsaPrivateKeyStructure( - Asn1Sequence.GetInstance(keyInfo.ParsePrivateKey())); + RsaPrivateKeyStructure keyStructure = RsaPrivateKeyStructure.GetInstance(keyInfo.ParsePrivateKey()); return new RsaPrivateCrtKeyParameters( keyStructure.Modulus, diff --git a/crypto/src/security/SecureRandom.cs b/crypto/src/security/SecureRandom.cs index ac9d98158..dc91069a1 100644 --- a/crypto/src/security/SecureRandom.cs +++ b/crypto/src/security/SecureRandom.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Crypto.Digests; @@ -8,221 +9,247 @@ using Org.BouncyCastle.Utilities; namespace Org.BouncyCastle.Security { public class SecureRandom - : Random + : Random { - // Note: all objects of this class should be deriving their random data from - // a single generator appropriate to the digest being used. - private static readonly IRandomGenerator sha1Generator = new DigestRandomGenerator(new Sha1Digest()); - private static readonly IRandomGenerator sha256Generator = new DigestRandomGenerator(new Sha256Digest()); - - private static readonly SecureRandom[] master = { null }; - private static SecureRandom Master - { - get - { - if (master[0] == null) - { - IRandomGenerator gen = sha256Generator; - gen = new ReversedWindowGenerator(gen, 32); - SecureRandom sr = master[0] = new SecureRandom(gen); - - sr.SetSeed(DateTime.Now.Ticks); - sr.SetSeed(new ThreadedSeedGenerator().GenerateSeed(24, true)); - sr.GenerateSeed(1 + sr.Next(32)); - } - - return master[0]; - } - } - - public static SecureRandom GetInstance( - string algorithm) - { - // TODO Compared to JDK, we don't auto-seed if the client forgets - problem? - - // TODO Support all digests more generally, by stripping PRNG and calling DigestUtilities? - string drgName = Platform.ToUpperInvariant(algorithm); - - IRandomGenerator drg = null; - if (drgName == "SHA1PRNG") - { - drg = sha1Generator; - } - else if (drgName == "SHA256PRNG") - { - drg = sha256Generator; - } - - if (drg != null) - { - return new SecureRandom(drg); - } - - throw new ArgumentException("Unrecognised PRNG algorithm: " + algorithm, "algorithm"); - } - - public static byte[] GetSeed( - int length) - { - return Master.GenerateSeed(length); - } - - protected IRandomGenerator generator; - - public SecureRandom() - : this(sha1Generator) - { - SetSeed(GetSeed(8)); - } - - public SecureRandom( - byte[] inSeed) - : this(sha1Generator) - { - SetSeed(inSeed); - } - - /// <summary>Use the specified instance of IRandomGenerator as random source.</summary> - /// <remarks> - /// This constructor performs no seeding of either the <c>IRandomGenerator</c> or the - /// constructed <c>SecureRandom</c>. It is the responsibility of the client to provide - /// proper seed material as necessary/appropriate for the given <c>IRandomGenerator</c> - /// implementation. - /// </remarks> - /// <param name="generator">The source to generate all random bytes from.</param> - public SecureRandom( - IRandomGenerator generator) - : base(0) - { - this.generator = generator; - } - - public virtual byte[] GenerateSeed( - int length) - { - SetSeed(DateTime.Now.Ticks); - - byte[] rv = new byte[length]; - NextBytes(rv); - return rv; - } - - public virtual void SetSeed( - byte[] inSeed) - { - generator.AddSeedMaterial(inSeed); - } - - public virtual void SetSeed( - long seed) - { - generator.AddSeedMaterial(seed); - } - - public override int Next() - { - for (;;) - { - int i = NextInt() & int.MaxValue; - - if (i != int.MaxValue) - return i; - } - } - - public override int Next( - int maxValue) - { - if (maxValue < 2) - { - if (maxValue < 0) - throw new ArgumentOutOfRangeException("maxValue", "cannot be negative"); - - return 0; - } - - // Test whether maxValue is a power of 2 - if ((maxValue & -maxValue) == maxValue) - { - int val = NextInt() & int.MaxValue; - long lr = ((long) maxValue * (long) val) >> 31; - return (int) lr; - } - - int bits, result; - do - { - bits = NextInt() & int.MaxValue; - result = bits % maxValue; - } - while (bits - result + (maxValue - 1) < 0); // Ignore results near overflow - - return result; - } - - public override int Next( - int minValue, - int maxValue) - { - if (maxValue <= minValue) - { - if (maxValue == minValue) - return minValue; - - throw new ArgumentException("maxValue cannot be less than minValue"); - } - - int diff = maxValue - minValue; - if (diff > 0) - return minValue + Next(diff); - - for (;;) - { - int i = NextInt(); - - if (i >= minValue && i < maxValue) - return i; - } - } - - public override void NextBytes( - byte[] buffer) - { - generator.NextBytes(buffer); - } - - public virtual void NextBytes( - byte[] buffer, - int start, - int length) - { - generator.NextBytes(buffer, start, length); - } - - private static readonly double DoubleScale = System.Math.Pow(2.0, 64.0); - - public override double NextDouble() - { - return Convert.ToDouble((ulong) NextLong()) / DoubleScale; - } - - public virtual int NextInt() - { - byte[] intBytes = new byte[4]; + private static long counter = Times.NanoTime(); + + private static long NextCounterValue() + { + return Interlocked.Increment(ref counter); + } + +#if NETCF_1_0 || PCL + private static readonly SecureRandom[] master = { null }; + private static SecureRandom Master + { + get + { + lock (master) + { + if (master[0] == null) + { + SecureRandom sr = master[0] = GetInstance("SHA256PRNG", false); + + // Even though Ticks has at most 8 or 14 bits of entropy, there's no harm in adding it. + sr.SetSeed(DateTime.Now.Ticks); + + // 32 will be enough when ThreadedSeedGenerator is fixed. Until then, ThreadedSeedGenerator returns low + // entropy, and this is not sufficient to be secure. http://www.bouncycastle.org/csharpdevmailarchive/msg00814.html + sr.SetSeed(new ThreadedSeedGenerator().GenerateSeed(32, true)); + } + + return master[0]; + } + } + } +#else + private static readonly SecureRandom master = new SecureRandom(new CryptoApiRandomGenerator()); + private static SecureRandom Master + { + get { return master; } + } +#endif + + private static DigestRandomGenerator CreatePrng(string digestName, bool autoSeed) + { + IDigest digest = DigestUtilities.GetDigest(digestName); + if (digest == null) + return null; + DigestRandomGenerator prng = new DigestRandomGenerator(digest); + if (autoSeed) + { + prng.AddSeedMaterial(NextCounterValue()); + prng.AddSeedMaterial(GetSeed(digest.GetDigestSize())); + } + return prng; + } + + /// <summary> + /// Create and auto-seed an instance based on the given algorithm. + /// </summary> + /// <remarks>Equivalent to GetInstance(algorithm, true)</remarks> + /// <param name="algorithm">e.g. "SHA256PRNG"</param> + public static SecureRandom GetInstance(string algorithm) + { + return GetInstance(algorithm, true); + } + + /// <summary> + /// Create an instance based on the given algorithm, with optional auto-seeding + /// </summary> + /// <param name="algorithm">e.g. "SHA256PRNG"</param> + /// <param name="autoSeed">If true, the instance will be auto-seeded.</param> + public static SecureRandom GetInstance(string algorithm, bool autoSeed) + { + string upper = Platform.ToUpperInvariant(algorithm); + if (upper.EndsWith("PRNG")) + { + string digestName = upper.Substring(0, upper.Length - "PRNG".Length); + DigestRandomGenerator prng = CreatePrng(digestName, autoSeed); + if (prng != null) + { + return new SecureRandom(prng); + } + } + + throw new ArgumentException("Unrecognised PRNG algorithm: " + algorithm, "algorithm"); + } + + public static byte[] GetSeed(int length) + { +#if NETCF_1_0 + lock (master) +#endif + return Master.GenerateSeed(length); + } + + protected readonly IRandomGenerator generator; + + public SecureRandom() + : this(CreatePrng("SHA256", true)) + { + } + + /// <remarks> + /// To replicate existing predictable output, replace with GetInstance("SHA1PRNG", false), followed by SetSeed(seed) + /// </remarks> + [Obsolete("Use GetInstance/SetSeed instead")] + public SecureRandom(byte[] seed) + : this(CreatePrng("SHA1", false)) + { + SetSeed(seed); + } + + /// <summary>Use the specified instance of IRandomGenerator as random source.</summary> + /// <remarks> + /// This constructor performs no seeding of either the <c>IRandomGenerator</c> or the + /// constructed <c>SecureRandom</c>. It is the responsibility of the client to provide + /// proper seed material as necessary/appropriate for the given <c>IRandomGenerator</c> + /// implementation. + /// </remarks> + /// <param name="generator">The source to generate all random bytes from.</param> + public SecureRandom(IRandomGenerator generator) + : base(0) + { + this.generator = generator; + } + + public virtual byte[] GenerateSeed(int length) + { + SetSeed(DateTime.Now.Ticks); + + byte[] rv = new byte[length]; + NextBytes(rv); + return rv; + } + + public virtual void SetSeed(byte[] seed) + { + generator.AddSeedMaterial(seed); + } + + public virtual void SetSeed(long seed) + { + generator.AddSeedMaterial(seed); + } + + public override int Next() + { + for (;;) + { + int i = NextInt() & int.MaxValue; + + if (i != int.MaxValue) + return i; + } + } + + public override int Next(int maxValue) + { + if (maxValue < 2) + { + if (maxValue < 0) + throw new ArgumentOutOfRangeException("maxValue", "cannot be negative"); + + return 0; + } + + // Test whether maxValue is a power of 2 + if ((maxValue & -maxValue) == maxValue) + { + int val = NextInt() & int.MaxValue; + long lr = ((long) maxValue * (long) val) >> 31; + return (int) lr; + } + + int bits, result; + do + { + bits = NextInt() & int.MaxValue; + result = bits % maxValue; + } + while (bits - result + (maxValue - 1) < 0); // Ignore results near overflow + + return result; + } + + public override int Next(int minValue, int maxValue) + { + if (maxValue <= minValue) + { + if (maxValue == minValue) + return minValue; + + throw new ArgumentException("maxValue cannot be less than minValue"); + } + + int diff = maxValue - minValue; + if (diff > 0) + return minValue + Next(diff); + + for (;;) + { + int i = NextInt(); + + if (i >= minValue && i < maxValue) + return i; + } + } + + public override void NextBytes(byte[] buf) + { + generator.NextBytes(buf); + } + + public virtual void NextBytes(byte[] buf, int off, int len) + { + generator.NextBytes(buf, off, len); + } + + private static readonly double DoubleScale = System.Math.Pow(2.0, 64.0); + + public override double NextDouble() + { + return Convert.ToDouble((ulong) NextLong()) / DoubleScale; + } + + public virtual int NextInt() + { + byte[] intBytes = new byte[4]; NextBytes(intBytes); - int result = 0; + int result = 0; for (int i = 0; i < 4; i++) { result = (result << 8) + (intBytes[i] & 0xff); } - return result; + return result; } - public virtual long NextLong() - { - return ((long)(uint) NextInt() << 32) | (long)(uint) NextInt(); - } + public virtual long NextLong() + { + return ((long)(uint) NextInt() << 32) | (long)(uint) NextInt(); + } } } diff --git a/crypto/test/src/crypto/test/OAEPTest.cs b/crypto/test/src/crypto/test/OAEPTest.cs index b4c375eec..ee48a183d 100644 --- a/crypto/test/src/crypto/test/OAEPTest.cs +++ b/crypto/test/src/crypto/test/OAEPTest.cs @@ -315,8 +315,8 @@ namespace Org.BouncyCastle.Crypto.Tests // extract the private key info. // Asn1Object privKeyObj = Asn1Object.FromByteArray(privKeyEnc); - RsaPrivateKeyStructure privStruct = new RsaPrivateKeyStructure( - (Asn1Sequence)PrivateKeyInfo.GetInstance(privKeyObj).ParsePrivateKey()); + RsaPrivateKeyStructure privStruct = RsaPrivateKeyStructure.GetInstance( + PrivateKeyInfo.GetInstance(privKeyObj).ParsePrivateKey()); RsaKeyParameters pubParameters = new RsaKeyParameters( false, diff --git a/crypto/test/src/crypto/tls/test/MockTlsClient.cs b/crypto/test/src/crypto/tls/test/MockTlsClient.cs index 61521adca..a458e32e6 100644 --- a/crypto/test/src/crypto/tls/test/MockTlsClient.cs +++ b/crypto/test/src/crypto/tls/test/MockTlsClient.cs @@ -26,8 +26,8 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests public override void NotifyAlertRaised(byte alertLevel, byte alertDescription, string message, Exception cause) { TextWriter output = (alertLevel == AlertLevel.fatal) ? Console.Error : Console.Out; - output.WriteLine("TLS client raised alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); + output.WriteLine("TLS client raised alert: " + AlertLevel.GetText(alertLevel) + + ", " + AlertDescription.GetText(alertDescription)); if (message != null) { output.WriteLine("> " + message); @@ -41,8 +41,8 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests public override void NotifyAlertReceived(byte alertLevel, byte alertDescription) { TextWriter output = (alertLevel == AlertLevel.fatal) ? Console.Error : Console.Out; - output.WriteLine("TLS client received alert (AlertLevel." + alertLevel + ", AlertDescription." - + alertDescription + ")"); + output.WriteLine("TLS client received alert: " + AlertLevel.GetText(alertLevel) + + ", " + AlertDescription.GetText(alertDescription)); } public override int[] GetCipherSuites() @@ -62,6 +62,8 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests { IDictionary clientExtensions = TlsExtensionsUtilities.EnsureExtensionsInitialised(base.GetClientExtensions()); TlsExtensionsUtilities.AddEncryptThenMacExtension(clientExtensions); + // TODO[draft-ietf-tls-session-hash-01] Enable once code-point assigned (only for compatible server though) +// TlsExtensionsUtilities.AddExtendedMasterSecretExtension(clientExtensions); TlsExtensionsUtilities.AddMaxFragmentLengthExtension(clientExtensions, MaxFragmentLength.pow2_9); TlsExtensionsUtilities.AddTruncatedHMacExtension(clientExtensions); return clientExtensions; diff --git a/crypto/test/src/crypto/tls/test/MockTlsServer.cs b/crypto/test/src/crypto/tls/test/MockTlsServer.cs index 54a645d96..14d6b9839 100644 --- a/crypto/test/src/crypto/tls/test/MockTlsServer.cs +++ b/crypto/test/src/crypto/tls/test/MockTlsServer.cs @@ -13,8 +13,8 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests public override void NotifyAlertRaised(byte alertLevel, byte alertDescription, string message, Exception cause) { TextWriter output = (alertLevel == AlertLevel.fatal) ? Console.Error : Console.Out; - output.WriteLine("TLS client raised alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); + output.WriteLine("TLS server raised alert: " + AlertLevel.GetText(alertLevel) + + ", " + AlertDescription.GetText(alertDescription)); if (message != null) { output.WriteLine("> " + message); @@ -28,8 +28,8 @@ namespace Org.BouncyCastle.Crypto.Tls.Tests public override void NotifyAlertReceived(byte alertLevel, byte alertDescription) { TextWriter output = (alertLevel == AlertLevel.fatal) ? Console.Error : Console.Out; - output.WriteLine("TLS client received alert (AlertLevel." + alertLevel + ", AlertDescription." - + alertDescription + ")"); + output.WriteLine("TLS server received alert: " + AlertLevel.GetText(alertLevel) + + ", " + AlertDescription.GetText(alertDescription)); } protected override int[] GetCipherSuites() diff --git a/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs b/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs index e98f33137..23b3d9e07 100644 --- a/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs +++ b/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs @@ -49,7 +49,7 @@ namespace Org.BouncyCastle.Math.EC.Tests } [Test] - [Ignore("SLOW! 1 min")] + [Ignore("SLOW")] public void TestSumOfTwoMultiplies() { foreach (X9ECParameters x9 in GetTestCurves()) diff --git a/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs b/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs index 5edbd906f..fdfc491c8 100644 --- a/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs +++ b/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs @@ -173,7 +173,7 @@ namespace Org.BouncyCastle.Math.EC.Tests } [Test] - [Ignore("SLOW! 15 min")] + [Ignore("SLOW")] public void TestMultiply() { ArrayList nameList = new ArrayList(); diff --git a/crypto/test/src/security/test/SecureRandomTest.cs b/crypto/test/src/security/test/SecureRandomTest.cs index 0a7ac88c4..e827ff7c6 100644 --- a/crypto/test/src/security/test/SecureRandomTest.cs +++ b/crypto/test/src/security/test/SecureRandomTest.cs @@ -1,8 +1,10 @@ using System; +using System.Text; using NUnit.Framework; using Org.BouncyCastle.Crypto.Prng; +using Org.BouncyCastle.Utilities; namespace Org.BouncyCastle.Security.Tests { @@ -16,7 +18,7 @@ namespace Org.BouncyCastle.Security.Tests SecureRandom random = new SecureRandom( new CryptoApiRandomGenerator()); - checkSecureRandom(random); + CheckSecureRandom(random); } #endif @@ -25,34 +27,46 @@ namespace Org.BouncyCastle.Security.Tests { SecureRandom random = new SecureRandom(); - checkSecureRandom(random); + CheckSecureRandom(random); } [Test] public void TestSha1Prng() { SecureRandom random = SecureRandom.GetInstance("SHA1PRNG"); - random.SetSeed(SecureRandom.GetSeed(20)); - checkSecureRandom(random); + CheckSecureRandom(random); } [Test] + public void TestSha1PrngBackward() + { + byte[] seed = Encoding.ASCII.GetBytes("backward compatible"); + + SecureRandom sx = new SecureRandom(seed); + SecureRandom sy = SecureRandom.GetInstance("SHA1PRNG", false); sy.SetSeed(seed); + + byte[] bx = new byte[128]; sx.NextBytes(bx); + byte[] by = new byte[128]; sy.NextBytes(by); + + Assert.IsTrue(Arrays.AreEqual(bx, by)); + } + + [Test] public void TestSha256Prng() { SecureRandom random = SecureRandom.GetInstance("SHA256PRNG"); - random.SetSeed(SecureRandom.GetSeed(32)); - checkSecureRandom(random); + CheckSecureRandom(random); } [Test] public void TestThreadedSeed() { - SecureRandom random = new SecureRandom( - new ThreadedSeedGenerator().GenerateSeed(20, false)); + SecureRandom random = SecureRandom.GetInstance("SHA1PRNG", false); + random.SetSeed(new ThreadedSeedGenerator().GenerateSeed(20, false)); - checkSecureRandom(random); + CheckSecureRandom(random); } [Test] @@ -61,37 +75,38 @@ namespace Org.BouncyCastle.Security.Tests SecureRandom random = new SecureRandom(new VmpcRandomGenerator()); random.SetSeed(SecureRandom.GetSeed(32)); - checkSecureRandom(random); + CheckSecureRandom(random); } - private static void checkSecureRandom( - SecureRandom random) + private static void CheckSecureRandom(SecureRandom random) { // Note: This will periodically (< 1e-6 probability) give a false alarm. // That's randomness for you! - Assert.IsTrue(runChiSquaredTests(random), "Chi2 test detected possible non-randomness"); + Assert.IsTrue(RunChiSquaredTests(random), "Chi2 test detected possible non-randomness"); } - private static bool runChiSquaredTests( - SecureRandom random) + private static bool RunChiSquaredTests(SecureRandom random) { int passes = 0; for (int tries = 0; tries < 100; ++tries) { - double chi2 = measureChiSquared(random, 1000); - if (chi2 < 285.0) // 255 degrees of freedom in test => Q ~ 10.0% for 285 + double chi2 = MeasureChiSquared(random, 1000); + + // 255 degrees of freedom in test => Q ~ 10.0% for 285 + if (chi2 < 285.0) + { ++passes; } + } return passes > 75; } - private static double measureChiSquared( - SecureRandom random, - int rounds) + private static double MeasureChiSquared(SecureRandom random, int rounds) { + byte[] opts = SecureRandom.GetSeed(2); int[] counts = new int[256]; byte[] bs = new byte[256]; @@ -105,7 +120,7 @@ namespace Org.BouncyCastle.Security.Tests } } - byte mask = SecureRandom.GetSeed(1)[0]; + byte mask = opts[0]; for (int i = 0; i < rounds; ++i) { random.NextBytes(bs); @@ -118,7 +133,7 @@ namespace Org.BouncyCastle.Security.Tests ++mask; } - byte shift = SecureRandom.GetSeed(1)[0]; + byte shift = opts[1]; for (int i = 0; i < rounds; ++i) { random.NextBytes(bs); |