Tengo WinForms aplicación que consume una WCF, y transmitirlo como un parámetro a una función de un certificado:X509Certificate - conjunto de claves no existe
mySvcClient.SendDocument(cert.Export(X509ContentType.SerializedCert, "password"));
...
En servicio WCF, que recrea el certificado de la matriz de bytes:
public void SendDocument (byte[] binaryCert)
{
X509Certificate2 cert = new X509Certificate2(binaryCert, "password");
...
Pero cuando se utiliza el certificado para firmar un xml, tengo el error "conjunto de claves no existe":
if (cert.HasPrivateKey) // WORKS!!!
{
signedXml.SigningKey = cert.PrivateKey; // THROW "keyset does not exist" EXCEPTION
...
¡En mi computadora, la aplicación funciona al 100%! ¡Pero en el WebServer, recibí este error!
La pregunta es: incluso X509Certificate2 recreado a partir de una matriz de bytes, ¿necesito algún permiso especial para acceder a la clave privada?
¡Gracias!
El enlace puede ayudarlo ... http://stackoverflow.com/a/39223239/3857542 –