Artículo
|
Trabajar con Certificados Digitales desde .NET (I) |
IntroducciónDentro del marco de trabajo de .NET se pueden encontrar algunas clases que permiten el manejo de la información relativa a los Certificados Digitales.
El conjunto de clases que permiten el manejo de dicha información se encuentran dentro de la librería “System.Security”, por lo que el primer paso para que podamos afrontar el manejo de datos de los certificados será agregar dicha referencia a nuestro proyecto. Una vez agregada la referencia a la librería, dentro de la clase de código donde utilizaremos sus clases será necesario establecer la referencia al “Namespace” “System.Security.Cryptography”.
Entendiendo un poco la estructura
Antes de comenzar con el propio código vamos a ver un poco la estructura de clases que tenemos en el espacio de nombres, y que nos van a resultar de utilidad.
X509Store
La clase X509Store es la encargada de representar el almacén “físico” de los certificados de un ordenador.
Esta clase puede inicializarse de varias maneras pudiendo definir la ruta del almacén de certificados, definiendo el nombre del almacén…
Dispone de varios métodos donde van a destacar:
Open:
Es el método encargado de abrir el almacén de certificados para poder tratarlos. Este método recibe como parámetro un objeto del tipo OpenFlags que nos va a permitir definir el nivel de privilegios a la hora de abrir el almacén.
Close:
Se va a encargar de cerrar el almacén.
Add y AddRange:
Estos métodos van a permitir agregar uno o varios certificados al almacén.
Remove y RemoveRange:
Estos métodos van a permitir eliminar uno o varios certificados al almacén.
Una vez abierto el almacén se podrá consultar la información de los certificados a través de la propiedad Certificates del tipo X509Certificate2Collection.
X509Certificate2Collection
La Clase X509Certificate2Collection además de proveer la colección de certificados del almacén nos va a proporcionar la posibilidad de realizar búsquedas en la propia colección a través del método Find.
El método Find recibe los siguientes parámetros:
- Tipo de Búsqueda: un valor de la enumeración X509FindType, nos va a permitir realizar búsquedas por entidad certificadora, por propietario y fecha de validez entre otras cosas.
- Valor buscado: el valor que estamos buscando dentro del almacén.
- Si se buscan solo certificados válidos o no.
X509Certificate2
Esta clase va a representar un certificado existente en el almacén.
Algunas de las propiedades significativas de esta clase son:
- Datos del propietario del Certificado (SubjectName)
- Datos de la entidad emisora (IssuerName)
- Numero de Serie (SerialNumber)
- Clave privada y publica (PrivateKey y PublicKey)
Además de sus propiedades algunos métodos que pueden resultar interesantes son:
- Exportación del certificado (Export) aportando la posibilidad de incluir una contraseña.
- Importación de un certificado (Import).
En el próximo capítulo vamos a ver a través de código algunos ejemplos prácticos.
Un saludo
El conjunto de clases que permiten el manejo de dicha información se encuentran dentro de la librería “System.Security”, por lo que el primer paso para que podamos afrontar el manejo de datos de los certificados será agregar dicha referencia a nuestro proyecto. Una vez agregada la referencia a la librería, dentro de la clase de código donde utilizaremos sus clases será necesario establecer la referencia al “Namespace” “System.Security.Cryptography”.
Entendiendo un poco la estructura
Antes de comenzar con el propio código vamos a ver un poco la estructura de clases que tenemos en el espacio de nombres, y que nos van a resultar de utilidad.
X509Store
La clase X509Store es la encargada de representar el almacén “físico” de los certificados de un ordenador.
Esta clase puede inicializarse de varias maneras pudiendo definir la ruta del almacén de certificados, definiendo el nombre del almacén…
Dispone de varios métodos donde van a destacar:
Open:
Es el método encargado de abrir el almacén de certificados para poder tratarlos. Este método recibe como parámetro un objeto del tipo OpenFlags que nos va a permitir definir el nivel de privilegios a la hora de abrir el almacén.
Close:
Se va a encargar de cerrar el almacén.
Add y AddRange:
Estos métodos van a permitir agregar uno o varios certificados al almacén.
Remove y RemoveRange:
Estos métodos van a permitir eliminar uno o varios certificados al almacén.
Una vez abierto el almacén se podrá consultar la información de los certificados a través de la propiedad Certificates del tipo X509Certificate2Collection.
X509Certificate2Collection
La Clase X509Certificate2Collection además de proveer la colección de certificados del almacén nos va a proporcionar la posibilidad de realizar búsquedas en la propia colección a través del método Find.
El método Find recibe los siguientes parámetros:
- Tipo de Búsqueda: un valor de la enumeración X509FindType, nos va a permitir realizar búsquedas por entidad certificadora, por propietario y fecha de validez entre otras cosas.
- Valor buscado: el valor que estamos buscando dentro del almacén.
- Si se buscan solo certificados válidos o no.
X509Certificate2
Esta clase va a representar un certificado existente en el almacén.
Algunas de las propiedades significativas de esta clase son:
- Datos del propietario del Certificado (SubjectName)
- Datos de la entidad emisora (IssuerName)
- Numero de Serie (SerialNumber)
- Clave privada y publica (PrivateKey y PublicKey)
Además de sus propiedades algunos métodos que pueden resultar interesantes son:
- Exportación del certificado (Export) aportando la posibilidad de incluir una contraseña.
- Importación de un certificado (Import).
En el próximo capítulo vamos a ver a través de código algunos ejemplos prácticos.
Un saludo
![]() |
Publicado por: Javier Torrecilla |
|
|
Comentarios
Últimas noticias
Últimos artículos














































