Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deaktiver sertifikatvalidering #213

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions Difi.SikkerDigitalPost.Klient.Tester/XmlValidering/ResponseValidatorTests.cs
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public void InitializesWithProperties()
var sentMessage = XmlUtility.TilXmlDokument(SendtMelding.FunksjoneltTestMiljø);
var response = XmlUtility.TilXmlDokument(TransportKvittering.TransportOkKvittertingFunksjoneltTestmiljø);
var miljø = Miljø.FunksjoneltTestmiljø;
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler());
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler(), true);

var responseValidator = new ResponseValidator(sentMessage, response, certificateValidationProperties);

Expand All @@ -51,7 +51,7 @@ public void TestsertifikatValiderer()

var miljø = Miljø.FunksjoneltTestmiljø;
var sentMessage = XmlUtility.TilXmlDokument(SendtMelding.FunksjoneltTestMiljø);
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler());
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler(), true);
var responseValidator = new ResponseValidator(sentMessage, XmlUtility.TilXmlDokument(TransportKvittering.TransportOkKvittertingFunksjoneltTestmiljø), certificateValidationProperties);
var guidUtility = new GuidUtility
{
Expand Down Expand Up @@ -82,7 +82,7 @@ public void FeilDokumentpakkeIdITransportkvitteringSkalKasteSecurityException()

var transportReceipt = XmlUtility.TilXmlDokument(TransportKvittering.TransportOkKvittertingFunksjoneltTestmiljøMedInput(idResponse));

var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler());
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler(), true);
var responseValidator = new ResponseValidator(sentMessage, transportReceipt, certificateValidationProperties);

var guidUtility = new GuidUtility
Expand Down Expand Up @@ -113,7 +113,7 @@ public void FeilSecurityBinaryITransportKvitteringSkalKasteException()

var receivedTransportReceipt = XmlUtility.TilXmlDokument(TransportKvittering.TransportOkKvittertingFunksjoneltTestmiljøMedInput(securityBinary: corruptSecurityBinaryResponse));

var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler());
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler(), true);
var responseValidator = new ResponseValidator(sendtMeldingXmlDocument, receivedTransportReceipt,certificateValidationProperties);
var guidUtility = new GuidUtility
{
Expand All @@ -140,7 +140,7 @@ public void IncorrectTransportReceiptThrowsSecurityException()

var receivedTransportReceipt = XmlUtility.TilXmlDokument(TransportKvittering.TransportOkKvitteringMedByttetDokumentpakkeIdFunksjoneltTestmiljø);

var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler());
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler(), true);
var responseValidator = new ResponseValidator(sentMessage, receivedTransportReceipt,certificateValidationProperties);

var guidUtility = new GuidUtility
Expand Down Expand Up @@ -170,7 +170,7 @@ public void TestCertificateValidates()
var sentReceiptRequest = new XmlDocument();
sentReceiptRequest.LoadXml(Kvitteringsforespørsel.FunksjoneltTestmiljø);

var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler());
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler(), true);
var responseValidator = new ResponseValidator(sentReceiptRequest, XmlUtility.TilXmlDokument(KvitteringsRespons.FunksjoneltTestmiljø), certificateValidationProperties);

//Act
Expand All @@ -192,7 +192,7 @@ public void TestCertificateValidates()
var sentReceiptRequest = new XmlDocument();
sentReceiptRequest.LoadXml(Kvitteringsforespørsel.FunksjoneltTestmiljø);

var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler());
var certificateValidationProperties = new CertificateValidationProperties(miljø.GodkjenteKjedeSertifikater, DomainUtility.OrganisasjonsnummerMeldingsformidler(), true);
var responseValidator = new ResponseValidator(sentReceiptRequest, XmlUtility.TilXmlDokument(KvitteringsRespons.TomKøResponsFunksjoneltTestmiljø), certificateValidationProperties);

//Act
Expand Down
2 changes: 1 addition & 1 deletion Difi.SikkerDigitalPost.Klient/Api/SikkerDigitalPostKlient.cs
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public SikkerDigitalPostKlient(Databehandler databehandler, Klientkonfigurasjon
Databehandler = databehandler;
Klientkonfigurasjon = klientkonfigurasjon;
RequestHelper = new RequestHelper(klientkonfigurasjon);
CertificateValidationProperties = new CertificateValidationProperties(klientkonfigurasjon.Miljø.GodkjenteKjedeSertifikater, Klientkonfigurasjon.MeldingsformidlerOrganisasjon);
CertificateValidationProperties = new CertificateValidationProperties(klientkonfigurasjon.Miljø.GodkjenteKjedeSertifikater, Klientkonfigurasjon.MeldingsformidlerOrganisasjon, Klientkonfigurasjon.ValiderRespons);
}

private void ValidateDatabehandlerCertificateAndThrowIfInvalid(Databehandler databehandler, Miljø miljø)
Expand Down
6 changes: 6 additions & 0 deletions Difi.SikkerDigitalPost.Klient/KlientKonfigurasjon.cs
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -74,5 +74,11 @@ public void AktiverLagringAvDokumentpakkeTilDisk(string katalog)
((List<IDokumentpakkeProsessor>) Dokumentpakkeprosessorer).Add(documentBundleToDiskProcessor);
((List<IDokumentpakkeProsessor>) Dokumentpakkeprosessorer).Add(documentBundleToDiskProcessor);
}

/// <summary>
/// Validering av respons. Settes denne til false vi akseptere responser fra utgåtte sertifikater og vi validerer ikke signatur.
/// Dette vil i størst grad være aktuelt om man skal hente gamle kvitteringer. Gjøres på avsenders eget ansvar.
/// </summary>
public bool ValiderRespons { get; set; } = true;
}
}
5 changes: 4 additions & 1 deletion Difi.SikkerDigitalPost.Klient/XmlValidering/CertificateValidationProperties.cs
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,17 @@ namespace Difi.SikkerDigitalPost.Klient.XmlValidering
{
internal class CertificateValidationProperties
{
public CertificateValidationProperties(X509Certificate2Collection allowedChainCertificates, Organisasjonsnummer organisasjonsnummerMeldingsformidler)
public CertificateValidationProperties(X509Certificate2Collection allowedChainCertificates, Organisasjonsnummer organisasjonsnummerMeldingsformidler, bool validateResponse)
{
AllowedChainCertificates = allowedChainCertificates;
OrganisasjonsnummerMeldingsformidler = organisasjonsnummerMeldingsformidler;
ValidateResponse = validateResponse;
}

public X509Certificate2Collection AllowedChainCertificates { get; }

public Organisasjonsnummer OrganisasjonsnummerMeldingsformidler { get; }

public bool ValidateResponse { get; }
}
}
6 changes: 6 additions & 0 deletions Difi.SikkerDigitalPost.Klient/XmlValidering/ResponseValidator.cs
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,24 @@ public ResponseValidator(XmlDocument sentMessage, XmlDocument responseMessage, C

public void ValidateMessageReceipt()
{
if (!_certificateValidationProperties.ValidateResponse) return;

ValidateHeaderSignature();
ValidateReceiptSignature();
}

public void ValidateTransportReceipt(GuidUtility guidUtility)
{
if (!_certificateValidationProperties.ValidateResponse) return;

ValidateHeaderSignature();
ValidateDigest(guidUtility);
}

public void ValidateEmptyQueueReceipt()
{
if (!_certificateValidationProperties.ValidateResponse) return;

ValidateHeaderSignature();
}

Expand Down
6 changes: 3 additions & 3 deletions SolutionItems/SharedAssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
[assembly: AssemblyTrademark("Direktoratet for forvaltning og IKT (Difi)")]
[assembly: AssemblyProduct("Difi Opppslagstjeneste Klient")]
[assembly: AssemblyDescription("Klientbibliotek for integrasjon mot Oppslagstjenesten for kontakt og reservasjonregisteret")]
[assembly: AssemblyVersion("2.1.0")]
[assembly: AssemblyFileVersion("2.1.0")]
[assembly: AssemblyInformationalVersion("2.1.0")]
[assembly: AssemblyVersion("2.2.0")]
[assembly: AssemblyFileVersion("2.2.0")]
[assembly: AssemblyInformationalVersion("2.2.0")]
[assembly: AssemblyCopyright("� 2015-2016 Direktoratet for forvaltning og IKT (Difi)")]
[assembly: AssemblyCulture("")]
9 changes: 5 additions & 4 deletions difi-sikker-digital-post-klient.sln
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2046
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0CC279EA-A5FB-4BB0-AE55-946B5A7E8834}"
ProjectSection(SolutionItems) = preProject
SolutionItems\App.config = SolutionItems\App.config
SolutionItems\SharedAssemblyInfo.cs = SolutionItems\SharedAssemblyInfo.cs
C:\Keys\signingkey.snk = C:\Keys\signingkey.snk
SolutionItems\VersionInfo.cs = SolutionItems\VersionInfo.cs
SolutionItems\VersionInfo.ps1 = SolutionItems\VersionInfo.ps1
EndProjectSection
EndProject
Expand Down Expand Up @@ -54,4 +52,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {95722C3F-2E33-4C46-B98C-80E699110A94}
EndGlobalSection
EndGlobal