I use the following method in C#, which through PB 'Runprogram' transmit the data and get the result.
The method receives the "content to sign"
C#
public Static string CalculateHash (string ContentToSign)
{
RSACryptoServiceProvider rsaCSP = new RSACryptoServiceProvider ();
rsaCSP.FromXmlString (privateKeyXml); // (privateKeyXml = RSA private Key in XML format)
Byte [] buffer = Encoding.GetEncoding ("UTF-8"). GetBytes (ContentToSign);
Byte [] signature = rsaCSP.SignData (buffer, "SHA1");
string hash = Convert.ToBase64String (signature);
Return hash;
}
The same result can be obtained with Openssl as follows:
echo "content to sign" | openssl dgst -sha1 -sign PrivateKey.pem | openssl enc -base64 -out hash.txt
(here the RSA private key is in PEM format)
My request for help is whether it will be possible to get the same result with PB code.
In advance my great thanks to all who can and will be available to respond.
RSA key signature
Re: RSA key signature
An example of data, key and hash would be helpful.
How should we see if the result is identical?
I don't use C# and on windows I don't have openssl installed.
How should we see if the result is identical?
I don't use C# and on windows I don't have openssl installed.
Re: RSA key signature
Thanks infratec
with this example
echo "2010-03-11;2010-03-11T11:27:08;FAC 001/9;1200.00;" | openssl dgst -sha1 -sign PrivateKey.pem | openssl enc -base64 -out signhash64.txt
being the file 'PrivateKey.pem'
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDCbKxbJSh5xAgKuglznGbSSHIAe6dX6DX/Ty6gWiByPYRfPuEl
zVl4h84WxMaVeuNjBOugCtPX/RtJd0xwkkimimQXYyDv/42IApum9Q/ihHtk3dYQ
5KwfCQOW3G8DHb4tWXWTMexjSrsbHVCqkArWHIjY11VFbm/3ePSGFaHP3QIDAQAB
AoGBAIvAmdOaThHYuv8a4phbn/0fXfLC73Lc05OFUzqoDhKP7YqZJDWL+fgNhjIP
l77y6mfOraAIqGXk5axVOHjibZ0m15+wBUuUo46WwH/9hsbbPq49GGgMkcqbhkPM
Y6snC2ADFgQaneO6k3tLkLyI1o+B+IiOpmIDLWkALoXwvLDxAkEA8EoKSxj4nmju
9BEIT2KztsMJQdljDFwCRLYlKRs+xi7s4lXNITn1IdRpd1F7DAiRInEx52yjwV1R
34Tr2QuE3wJBAM8i8x6n2KHnLCmFvFRMfkkt+GE9Dwbt7fWTgdCs6f989ENFCSov
GkXnKXgyOWXG9980AWmDSeoG/qX7H2GtpsMCQC+WSjGTMXGV0HTvhpjKMFMqjwPG
fJIvCpf3Bqb8aVMwaeNtIKHK65wWiAiET30TmUKb7kkpv8iEpblBhr/GQzsCQFt/
3tGN534tdi6pavX6DFcbPXsG09qFw/YVQOUDXSKE+gm1N0UxJXP3lzQHS5+P8vLg
MDeBzWbZzCdZ9RTa9q0CQGu//DwcXNUhiiEkGvhw5xEFPT1L58FbxFoH9JR5kmUY
xnLnMQaUvP1QrWv/pAmwO0gD4WBXlJjH3VKOiDFOd0Y=
-----END RSA PRIVATE KEY-----
the result is (signhash64.txt file)
Ji34gcbPLuxGB4kZuFFZ/q+cVXWHFWaLxkJIEINLFTF/scUlmp/3EAUFjZGT4kPv
qtOO/86K7pcLR5xTVYEepdzOSnG/rFa5sWP6J3WdakStRk9wVZPCIX/o4+8CRqeS
Yq5Hov790n4yElDZPnbZ0Tot5ulJpmWLTTZOCpAcyPU=
with this example
echo "2010-03-11;2010-03-11T11:27:08;FAC 001/9;1200.00;" | openssl dgst -sha1 -sign PrivateKey.pem | openssl enc -base64 -out signhash64.txt
being the file 'PrivateKey.pem'
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDCbKxbJSh5xAgKuglznGbSSHIAe6dX6DX/Ty6gWiByPYRfPuEl
zVl4h84WxMaVeuNjBOugCtPX/RtJd0xwkkimimQXYyDv/42IApum9Q/ihHtk3dYQ
5KwfCQOW3G8DHb4tWXWTMexjSrsbHVCqkArWHIjY11VFbm/3ePSGFaHP3QIDAQAB
AoGBAIvAmdOaThHYuv8a4phbn/0fXfLC73Lc05OFUzqoDhKP7YqZJDWL+fgNhjIP
l77y6mfOraAIqGXk5axVOHjibZ0m15+wBUuUo46WwH/9hsbbPq49GGgMkcqbhkPM
Y6snC2ADFgQaneO6k3tLkLyI1o+B+IiOpmIDLWkALoXwvLDxAkEA8EoKSxj4nmju
9BEIT2KztsMJQdljDFwCRLYlKRs+xi7s4lXNITn1IdRpd1F7DAiRInEx52yjwV1R
34Tr2QuE3wJBAM8i8x6n2KHnLCmFvFRMfkkt+GE9Dwbt7fWTgdCs6f989ENFCSov
GkXnKXgyOWXG9980AWmDSeoG/qX7H2GtpsMCQC+WSjGTMXGV0HTvhpjKMFMqjwPG
fJIvCpf3Bqb8aVMwaeNtIKHK65wWiAiET30TmUKb7kkpv8iEpblBhr/GQzsCQFt/
3tGN534tdi6pavX6DFcbPXsG09qFw/YVQOUDXSKE+gm1N0UxJXP3lzQHS5+P8vLg
MDeBzWbZzCdZ9RTa9q0CQGu//DwcXNUhiiEkGvhw5xEFPT1L58FbxFoH9JR5kmUY
xnLnMQaUvP1QrWv/pAmwO0gD4WBXlJjH3VKOiDFOd0Y=
-----END RSA PRIVATE KEY-----
the result is (signhash64.txt file)
Ji34gcbPLuxGB4kZuFFZ/q+cVXWHFWaLxkJIEINLFTF/scUlmp/3EAUFjZGT4kPv
qtOO/86K7pcLR5xTVYEepdzOSnG/rFa5sWP6J3WdakStRk9wVZPCIX/o4+8CRqeS
Yq5Hov790n4yElDZPnbZ0Tot5ulJpmWLTTZOCpAcyPU=