Algorithm constraints check failed on signature algorithm: SHA1withRSA
RHEL/Rocky 9 버전 이상에서 SSL관련 기능 사용시 아래와 같은 오류가 발생하는 경우가 있다.
Caused by: java.security.cert.CertificateException: Certificates do not conform to algorithm constraints at java.base/sun.security.ssl.AbstractTrustManagerWrapper.checkAlgorithmConstraints(SSLContextImpl.java:1571) at java.base/sun.security.ssl.AbstractTrustManagerWrapper.checkAdditionalTrust(SSLContextImpl.java:1496) at java.base/sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:1440) at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638) ... 33 more Caused by: java.security.cert.CertPathValidatorException: Algorithm constraints check failed on signature algorithm: SHA1withRSA at java.base/sun.security.provider.certpath.AlgorithmChecker.check(AlgorithmChecker.java:237) at java.base/sun.security.ssl.AbstractTrustManagerWrapper.checkAlgorithmConstraints(SSLContextImpl.java:1567) ... 36 more
이와 같은 오류가 발생하는 이유는 RHEL/Rocky 9 버전부터 기본 보안 알고리즘 정책이 바뀌어서 SHA1
을 더이상 허용하지 않기 때문이다.
해결방법
OS에서 해당 알고리즘이 전역설정으로 비활성화 되어있기 때문에 해당 알고리즘을 허용하거나 예전 정책으로 변경하면 된다.
예전 정책으로 변경(LEGACY)
update-crypto-policies --set LEGACY
현재 정책에 해당 알고리즘만 추가 허용
update-crypto-policies --set DEFAULT:SHA1
이 명령어를 실행하려면 OS에 파이썬이 설치되어있어야 한다. 만약 파이썬이 없는 시스템이라면 /etc/crypto-policies/back-ends/java.config
파일의 disabledAlgorithms
목록에서 SHA1
을 제거하면 동일하게 적용된다.
이후 시스템을 리부팅 하여야 적용된다.
참조링크
로그인하면 댓글을 남길 수 있습니다.