J'ai importé un certificat dans une base de données SQL Server.Comment puis-je obtenir une clé publique de certificat à partir de SQL Server?
create certificate MyCertificate from file = 'c:\certificate.cer';
Maintenant, je veux récupérer la clé publique de ce certificat. Comment faire ?
Je peux faire
select * from sys.certificates
mais il n'y a pas de colonne de clé publique.
Je sais que je peux l'enregistrer sur le disque par
backup certificate MyCertificate to file = 'c:\MyCertificate.cer';
mais ce n'est pas ce que je veux. J'ai juste besoin de base de données pour me dire clé publique ou en quelque sorte obtenir moi certificat complet mais je ne veux pas utiliser les fichiers.
EDIT:
Je voulais vérifier la signature numérique d'une ligne dans le tableau de base de données en utilisant SQL Server et un certificat. Mais puisque la fonction VerifySignedByCert ne vérifie pas la date d'expiration du certificat (selon cette note: Les fonctions intégrées de cryptage et de signature ne vérifient pas les dates d'expiration des certificats.) Les utilisateurs de ces fonctions doivent décider quand vérifier l'expiration du certificat dans http://msdn.microsoft.com/en-US/library/ms187798%28v=SQL.90%29.aspx) Je dois le faire manuellement en code C#.
C'est pourquoi je voulais obtenir une clé publique de certificat et une date d'expiration (que l'on peut trouver dans sys.certificates). Mais il semble que stocker le certificat dans une colonne varbinary dans une table est la meilleure option. Ou y a-t-il d'autres meilleures façons d'y parvenir?
Merci pour votre aide
Merci pour votre réponse. J'ai édité la question et ai ajouté plus de détails. – Harlsten