>웹 프론트엔드 >JS 튜토리얼 >오류 메시지 '오류:디지털 봉투 루틴::지원되지 않음'을 통해 배운 점

오류 메시지 '오류:디지털 봉투 루틴::지원되지 않음'을 통해 배운 점

Barbara Streisand
Barbara Streisand원래의
2024-12-25 09:24:09816검색

풀 스택 애플리케이션을 작업하는 동안 이 암호화 오류를 발견했고 StackOverflow 및 ChatGPT에서 이 오류를 검색했을 때 Node.js의 OpenSSL 처리 변경으로 인해 이 오류가 발생했다는 것을 알게 되었습니다. 즉, 내 애플리케이션이 Node.js와 함께 번들로 제공되는 현재 OpenSSL 버전에서 더 이상 지원되지 않는 암호화 알고리즘이나 기능을 사용하려고 했습니다. 따라서 오류는 실제로 더 이상 사용되지 않는 SSL 버전에 의존하여 다운로드한 종속성에서 발생한 것입니다.

그러면 이 오류를 수정하려면 다음을 수행하세요.

  • 처음에는 node_modules 폴더를 삭제하려고 했습니다(프런트엔드에서
    작업 공간/폴더)을 다시 설치하고 npm install을 다시 실행하여 다시 설치하세요.
    종속성. 그러나 이 문제는 해결되지 않았습니다.

  • 이제 더 이상 사용되지 않는
    호환성 문제를 해결하기 위해 알고리즘을 레거시 모드로 변경했습니다.
    그리고 더 이상 사용되지 않는 알고리즘에 관해 검색하던 중

    에서 배운 PGP(Pretty Good Privacy)의 SHA-1이 생각났습니다. 대학 전 학기, 컴퓨터 네트워크. SHA-1은 해싱입니다

    때문에 더 이상 사용되지 않는 알고리즘이 된 알고리즘 보안 문제.

My learnings through Error message “error:digital envelope routines::unsupported”

그리고 주제를 계속 이어가면서 내 앱은 이전 버전과의 호환성도 요구하는 중요하지 않은 애플리케이션이었기 때문에 임시 해결 방법으로 --openssl-legacy-provider 플래그를 계속 사용하기로 결정했습니다. 이것이 나에게 도움이 될 것이기 때문입니다. 발생할 수 있는 오류에 대해 자세히 알아보고, 원인과 해결 방법에 대해 자세히 알아보고, 프로세스 중에 발생할 수 있는 기타 다양한 용어에 대해 알아보세요.

--openssl-legacy-provider를 사용하면 Node.js에 OpenSSL의 레거시 공급자를 활용하도록 지시하여 이러한 암호화 기능에 대한 지원을 복원함으로써 레거시 알고리즘을 사용할 수 있습니다.

그래서 터미널에서 다음으로 시작했습니다.

npm update
npm audit fix — force 

그런 다음 package.json 파일을 다음과 같이 변경했습니다.

이전 :

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
}

이후 :

"scripts": {
    "start": "react-scripts --openssl-legacy-provider start",
    "build": "react-scripts --openssl-legacy-provider build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
}

이제 마침내 문제가 해결되었으며, 이 문제를 직접 해결하려고 노력함으로써 다양한 것에 대해 배우고, npm의 세부 기능, 버전 관리 방법, 더 이상 사용되지 않는 기존 알고리즘 등에 대해 배우는 방식이 마음에 들었습니다. .

위 내용은 오류 메시지 '오류:디지털 봉투 루틴::지원되지 않음'을 통해 배운 점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.