none
Error al conectar con WSAA Homólogo en IIS7 RRS feed

  • Pregunta

  • Buenos días, quiero consultarles una duda con un sistema web privado en ASP.NET MVC4, el proceso es el siguiente:

    Varias personas ingresan al sistema con su usuario y contraseña, cada una sube un archivo p12 que contiene el certificado .crt + la clave privada .key, el sistema almacena el archivo p12 en una carpeta llamada Certificados.

    Luego ingresa a una página que utiliza el archivo p12 para firmar un mensaje y enviarlo a un web service de AFIP, WSAA Homólogo.

                public static byte[] FirmaBytesMensaje(byte[] argBytesMsg, X509Certificate2 argCertFirmante)

                {

                // Pongo el mensaje en un objeto ContentInfo (requerido para construir el obj SignedCms)
                ContentInfo infoContenido = new ContentInfo(argBytesMsg);
                SignedCms cmsFirmado = new SignedCms(infoContenido);

                // Creo objeto CmsSigner que tiene las caracteristicas del firmante
                CmsSigner cmsFirmante = new CmsSigner(argCertFirmante);
                cmsFirmante.IncludeOption = X509IncludeOption.EndCertOnly;

                // Firmo el mensaje PKCS #7
                cmsFirmado.ComputeSignature(cmsFirmante, false);

                // Encodeo el mensaje PKCS #7.
                return cmsFirmado.Encode();

                }

    Cuando ejecuto este sistema en localhost funciona perfectamente (en mi pc es donde cree el archivo p12).


    Luego decido subir este sistema a un hosting web. El hosting es un Windows Server.

    Primero ejecute el sistema y me dió el error: "La contraseña especificada no es correcta", lo extraño es que no usé contraseña para el certificado. Volví a crear el certificado con una contraseña y por código le asigno la contraseña pero arroja el siguiente error:

    System.Collections.ListDictionaryInternal Access denied. mscorlib at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate..ctor(String fileName, String password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password, X509KeyStorageFlags keyStorageFlags)

    Es la primera vez que uso certificados SSL, y me parece que no configuré el servidor correctamente porque en mi máquina funciona bien.

    Desde ya gracias!.
    viernes, 26 de junio de 2015 15:17