我正在为一个项目做IDP启动的web sso,而且服务提供商有这样的要求: RSA加密AES-128对称密钥(欧洲央行用PKCS1填充)和Base64编码,在将其添加到SAML2.0的Base64部分之前,.My理解为RSA加密是不对称的,我们必须加密的密钥是服务提供者公共key.But,我们没有SP的公共证书,所以我决定加密我们X509 certificate的公钥
这是我的代码,它在调用RSACryptoServiceProvider class.Does上的加密方法时抛出了一个很长的加密异常,有人知道问题所在吗?
using(var rsa = cert.PublicKey.Key as RSACryptoServiceProvider)
{
rsa.KeySize = 1024;
byte[] encryptedKey = rsa.Encrypt(cert.GetPublicKey(),false);
encodedPublicKey = Convert.ToBase64String(encryptedKey);
}发布于 2017-09-20 19:15:50
您可以使用RSA公钥加密的数据量(我不知道确切的等式)必须小于公钥的长度。
如果加密AES-128,您将加密128位.
https://stackoverflow.com/questions/46309056
复制相似问题