Ik heb het idee dat ik tegen een grens ben opgelopen van de out-of-the-box mogelijkheden van Windows Communication Foundation. Ik wil namelijk aan de serverkant speciale validatie handelingen verrichten voor het certificaat waar de client mee komt.
Nu bestaat hier gewoon de X509CertificateValidationMode.Custom voor, en ik kan dan prima een class maken die afleidt van X509CertificateValidator om mijn eigen validatie implementatie te schrijven.
Echter, het lijkt niet mogelijk te zijn om enige informatie van de context te krijgen. Ik wil namelijk aan de hand van de DNS name van de client bepalen of het certificaat voor deze client bestemd is. Net als dat een client het subject van het server certificaat vergelijkt met de hostnaam waar hij verbinding mee maakt, wil ik dat de server controleert of het gebruikte certificaat bestemd is voor de client.
Waarom? Mijn klanten kunnen alleen mijn server aanspreken via certificaten, en alleen klanten kunnen dat. Ik wil met andere woorden voorkomen dat men die certificaten gaat verspreiden om verbinding met mijn server te kunnen maken. Wellicht is hier een héél andere methode voor, en ik zit compleet verkeerd, maar dat hoor ik dan graag.
Iemand enig idee? Alvast bedankt voor enige suggesties.
Nu bestaat hier gewoon de X509CertificateValidationMode.Custom voor, en ik kan dan prima een class maken die afleidt van X509CertificateValidator om mijn eigen validatie implementatie te schrijven.
Echter, het lijkt niet mogelijk te zijn om enige informatie van de context te krijgen. Ik wil namelijk aan de hand van de DNS name van de client bepalen of het certificaat voor deze client bestemd is. Net als dat een client het subject van het server certificaat vergelijkt met de hostnaam waar hij verbinding mee maakt, wil ik dat de server controleert of het gebruikte certificaat bestemd is voor de client.
Waarom? Mijn klanten kunnen alleen mijn server aanspreken via certificaten, en alleen klanten kunnen dat. Ik wil met andere woorden voorkomen dat men die certificaten gaat verspreiden om verbinding met mijn server te kunnen maken. Wellicht is hier een héél andere methode voor, en ik zit compleet verkeerd, maar dat hoor ik dan graag.
Iemand enig idee? Alvast bedankt voor enige suggesties.