Program Club

PEM_read_bio_PrivateKey ()는 ECB 모드에서만 NULL을 반환합니다.

proclub 2020. 12. 13. 09:54
반응형

PEM_read_bio_PrivateKey ()는 ECB 모드에서만 NULL을 반환합니다.


PEM_read_bio_PrivateKey()NULL개인 키가 ECB 모드에서 DES EDE로 암호화 된 경우 반환 됩니다. 문제는 EVP_DecryptFinal_ex()다음 에서 발생합니다 .

4128:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:

동일한 개인 키가 CBC 모드에서 DES EDE로 암호화 된 경우이 기능은 정상적으로 작동합니다.

이 문제는 openssl 0.9.8r / y 버전 (FIPS 없음)에서 재현 가능하다는 것을 확인했습니다. openssl이 FIPS로 빌드 된 경우 문제가 발생하지 않습니다.

이 동작의 원인은 무엇입니까?

감사!


OpenSSL 소스를 살펴보면 암호화 된 데이터의 패딩이 유효하지 않은 경우에만 발생할 수 있습니다. 이것은 다른 키로 발생합니까? 샘플 키를 제공 할 수 있습니까? 그리고 그러한 키를 생성하기 위해 어떤 도구가 사용됩니까 (즉, 동일한 OpenSSL인지 여부)? 아마도 패딩을 생략하거나 올바른 패딩 대신 0 패딩을 씁니다.

참고 URL : https://stackoverflow.com/questions/17463166/pem-read-bio-privatekey-returns-null-in-ecb-mode-only

반응형