assinar xml

Boa dia a todos, por favor estou tentando fazer uma assinatura digital em um XML, e esta dando super certo com a ajuda do exemples que Chris Glazier e Altair Borges me enviaram, porem esta assinando com o algoritimo RSA-SHA1 mas eu preciso assinar com algoritimo RSA-SHA256, eu achei um exemplo que eu acredite que seja o que eu preciso conforme esta abaixo em C#, mas não estou conseguindo converter o Visual COBOL for Visual Studio, se alguém conseguir me ajudar ficarei muito agradecido.

 

atenciosamente

 

Renato Soares Vieira

 

using System; using System.Security.Cryptography; class RSASample { static void Main() { try { //Create a new instance of RSACryptoServiceProvider. using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { //The hash to sign. byte[] hash; using (SHA256 sha256 = SHA256.Create()) { byte[] data = new byte[] { 59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 224, 93, 25, 41, 100, 197, 213, 134, 130, 135 }; hash = sha256.ComputeHash(data); } //Create an RSASignatureFormatter object and pass it the //RSACryptoServiceProvider to transfer the key information. RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(rsa); //Set the hash algorithm to SHA256. RSAFormatter.SetHashAlgorithm("SHA256"); //Create a signature for HashValue and return it. byte[] SignedHash = RSAFormatter.CreateSignature(hash); } } catch (CryptographicException e) { Console.WriteLine(e.Message); } } }

Parents
  • What you appear to be trying to do is call a managed code .dll from a native code executable using the COBOL CALL statement. This will not work. If you compile the calling program as managed code then you can use the CALL statement to call a managed code .dll.

    In order to call a managed code .dll from a native code executable you need to use CCW or COM Callable Wrapper, which means that you Register a COBOL class for use with COM Interop and then you can instantiate it and invoke its methods using the COM support in the native COBOL libraries. (OLE).

    This is covered in the docs here:

    There is also a KB article and demo here:

Reply
  • What you appear to be trying to do is call a managed code .dll from a native code executable using the COBOL CALL statement. This will not work. If you compile the calling program as managed code then you can use the CALL statement to call a managed code .dll.

    In order to call a managed code .dll from a native code executable you need to use CCW or COM Callable Wrapper, which means that you Register a COBOL class for use with COM Interop and then you can instantiate it and invoke its methods using the COM support in the native COBOL libraries. (OLE).

    This is covered in the docs here:

    There is also a KB article and demo here:

Children
No Data