如何使用openssl生成RSA公钥和私钥对
http://blog.csdn.net/scape1989/article/details/18959657
https://www.openssl.org/docs/manmaster/apps/rsautl.html
C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
http://www.2cto.com/kf/201007/52626.html
RSA Key Converter(XML to PEM,PEM to XML)
https://superdry.apphb.com/tools/online-rsa-key-converter
openssl
it defaulte generate RSA format , sometimes need convert to pkcs8 format
generate a private key pair with pkcs8 format
openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
generate a private key pair with pem format
openssl>genrsa -out rsa_private_key.pem 1024
output the public key
openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
use public key to encrypt data
openssl>rsautl -encrypt -in orig.txt -inkey rsa_public_key.pem -pubin -out orig.en
use private key to decrypt data
openssl>rsautl -decrypt -in orig.en -inkey rsa_private_key.pem -out orig.de
use private key to signature data
rsautl -sign -in orig.txt -inkey rsa_private_key.pem -out sig
output the data with private key from signed data
rsautl -verify -in sig -inkey rsa_private_key.pem
!!!Error:output the data with public key from signed data
rsautl -verify -in sig -inkey rsa_public_key.pem
Examine the reaw signed data
rsautl -verify -in sig -inkey rsa_private_key.pem -raw -hexdump
SSOBLL sso = newSSOBLL();
string signature = sso.SignData(string.Empty,SSOBLL.KeyType.PrivatePEM, sigData);