2008-09-11 3 views
1

Je souhaite connecter une application C# .NET à une base de données PostgreSQL en utilisant TLS avec le client et authentification du serveur: en d'autres termes, si le certificat du client ne peut pas être vérifié par rapport au certificat du serveur, le client doit obtenir l'accès refusé, et si le client ne peut pas vérifier le certificat du serveur, le client doit immédiatement annuler la connexion.Comment se connecter à PostgreSQL à partir de .NET en utilisant TLS avec authentification client et serveur?

J'ai essayé ceci en utilisant Npgsql 1.0, mais je ne trouve pas de moyen dans Npgsql pour spécifier le certificat client qui devrait être utilisé pour la connexion. J'ai réussi à obtenir une vérification de certificat de serveur sur le client, et j'ai aussi fait fonctionner toute la vérification en utilisant l'outil d'administration db commandline psql, mais cela ne m'a pas aidé à le faire fonctionner avec Npgsql. Alors, comment connecter mon application .NET à l'aide du client TLS & l'authentification du serveur dans une base de données PostgreSQL?

Y a-t-il peut-être un fournisseur de données plus récent/autre supportant cela?

Y a-t-il réellement quelqu'un qui a réussi à faire fonctionner cela d'une façon ou d'une autre?

Répondre

1

Essayez la version 2.0 RC2 - c'est plutôt stable.

(Comme une note, le soutien à la validation du certificat de serveur n'a pas été ajouté dans le CVS jusqu'en 2009. Voir http://pgfoundry.org/tracker/?func=detail&atid=592&aid=1010558&group_id=1000140. Je suis l'édition ceci dans la réponse parce que les conseils de mise à niveau, alors que prématurée, est correct.)

+0

Ok Une fois que mon infrastructure de génération de certificats de test fonctionnera à nouveau, je verrai si le 2.0 RC2 est meilleur. – Tobi

Questions connexes