Go에서 암호화된 PKCS8 키를 해독하는 방법: \'블록에 DEK-Info 헤더 없음\' 오류 해결 방법?

Barbara Streisand
풀어 주다: 2024-11-02 07:56:29
원래의
993명이 탐색했습니다.

How to Decrypt Encrypted PKCS8 Keys in Go:

이동: 암호화된 PKCS8 키를 해독하는 동안 "No DEK-Info header in block" 오류 발생

암호화된 PKCS8 개인 키를 해독하려고 할 때 Go에서는 "x509: 블록에 DEK-Info 헤더가 없습니다."라는 오류 메시지가 나타날 수 있습니다. 이 오류는 제공된 블록에 키 복호화에 필수적인 DEK-Info 헤더가 포함되어 있지 않음을 나타냅니다.

문제는 표준 Go 라이브러리가 복호화를 위한 기본 기능을 제공하지 않는다는 것입니다. 암호화된 PKCS8 키. 이 문제를 해결하려면 타사 라이브러리나 사용자 정의 코드를 활용할 수 있습니다.

암호화된 PKCS8 파일을 처리할 수 있는 적합한 라이브러리는 다음과 같습니다: https://github.com/youmark/pkcs8/blob/master/pkcs8. go#L103

pkcs8 패키지를 코드에 통합하면 다음 코드 조각을 사용하여 암호화된 PKCS8 개인 키를 성공적으로 해독할 수 있습니다.

<code class="go">import "github.com/youmark/pkcs8"

func DecryptPKCS8Key(key []byte, password string) ([]byte, error) {
    block, _ := pem.Decode(key)
    return pkcs8.Decrypt(block.Bytes, []byte(password))
}</code>
로그인 후 복사

이 코드 조각은 pkcs8 패키지를 사용하여 암호화된 PKCS8 키를 해독합니다. 첫 번째 매개변수는 인코딩된 키 데이터이고, 두 번째 매개변수는 키를 암호화하는 데 사용되는 비밀번호입니다.

위 내용은 Go에서 암호화된 PKCS8 키를 해독하는 방법: \'블록에 DEK-Info 헤더 없음\' 오류 해결 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!