[go] PEM 패키지 사용법
PEM 파일 읽기
ioutil.ReadFile
함수를 사용하여 PEM 파일을 읽고, pem.Decode
함수로 PEM 데이터를 디코딩할 수 있습니다. 다음은 이러한 작업을 하는 간단한 예제 코드입니다.
package main
import (
"encoding/pem"
"fmt"
"io/ioutil"
)
func main() {
// PEM 파일 읽기
pemData, err := ioutil.ReadFile("example.pem")
if err != nil {
fmt.Println("파일 읽기 오류:", err)
return
}
// PEM 디코딩
block, _ := pem.Decode(pemData)
if block == nil {
fmt.Println("PEM 데이터를 디코딩할 수 없습니다.")
return
}
fmt.Printf("디코딩된 타입: %s\n", block.Type)
fmt.Printf("디코딩된 데이터: %s\n", string(block.Bytes))
}
PEM 파일 쓰기
pem.Encode
함수를 사용하여 PEM 데이터를 인코딩하고 파일에 쓸 수 있습니다. 다음은 이를 수행하는 예제 코드입니다.
package main
import (
"crypto/x509"
"encoding/pem"
"fmt"
"os"
)
func main() {
// 인코딩할 데이터
data := []byte("example data")
// PEM 인코딩
block := &pem.Block{
Type: "EXAMPLE",
Bytes: data,
}
pemFile, err := os.Create("example.pem")
if err != nil {
fmt.Println("파일 생성 오류:", err)
return
}
defer pemFile.Close()
err = pem.Encode(pemFile, block)
if err != nil {
fmt.Println("PEM 데이터를 인코딩할 수 없습니다:", err)
return
}
fmt.Println("PEM 파일이 성공적으로 생성되었습니다.")
}
이러한 예제 코드를 통해 Go 언어에서 PEM 파일을 다루는 기본적인 방법을 익힐 수 있습니다. 더 많은 세부 정보는 공식 문서를 참고하세요.