모두 프로젝트 용으로 IDP에서 시작된 웹 sso에서 작업 중이며 서비스 공급자는 AES-128 대칭 키 (PKCS1 패딩이있는 ECB)를 RSA로 암호화하기위한이 요구 사항을 가지고 있으며이를 추가하기 전에 Base64로 인코딩합니다 AttributeStatement SAML 2.0 응답의 섹션 이해합니다. RSA 암호화가 비대칭이며 암호화해야하는 핵심 요소는 서비스 제공자 공개 키입니다.하지만 우리는 SP의 공개 인증서가 없으므로 RSA가 X509Certicate의 공개 키를 암호화하기로 결정했습니다.X509Certificate 암호화 공개 키
이것은 코드이며 RSACryptoServiceProvider 클래스의 Encrypt 메서드를 호출 할 때 잘못된 길이의 암호화 예외가 발생합니다. 누구든지이 문제를 알고 있습니까?
using(var rsa = cert.PublicKey.Key as RSACryptoServiceProvider)
{
rsa.KeySize = 1024;
byte[] encryptedKey = rsa.Encrypt(cert.GetPublicKey(),false);
encodedPublicKey = Convert.ToBase64String(encryptedKey);
}
Pepo, 맞습니다. SP와 함께 나에게 공개 인증서를 보냈습니다. SAML의 데이터는 AES-128 비트 대칭 키를 사용하여 암호화해야하며 SP의 공개 키를 사용하여 AES-128을 암호화합니다 대칭 키 –