
gnupg_geterrorinfo 함수의 두 번째 인자로 에러 메시지 코드를 가져올 때, 이 코드는 GPG 에러 코드를 나타냅니다. 이 에러 코드는 GPG 라이브러리가 발생한 오류를 나타내는 숫자입니다.
이 에러 코드를 해석하는 방법은 GPG 문서를 참조하거나, GPG 라이브러리의 소스코드를 분석하는 것입니다. GPG 에러 코드는 다음과 같이 나누어집니다.
- 0: 성공
- 1-99: 일반 오류
- 100-199: 암호화 오류
- 200-299: 디지털 서명 오류
- 300-399: 키 관리 오류
- 400-499: 인증 오류
- 500-599: 기타 오류
예를 들어, GPG 에러 메시지 코드가 2002이면, 디지털 서명 오류가 발생한 것입니다. 이 오류는 서명이 유효하지 않거나, 서명이 유효하지 않은 서명이 존재하는 경우에 발생합니다.
gnupg_geterrorinfo 함수의 예제 코드는 다음과 같습니다.
#hostingforum.kr
c
#include
#include
#include
int main() {
gpgme_ctx_t ctx;
gpgme_error_t err;
char *err_code;
// GPG 컨텍스트 생성
err = gpgme_new(&ctx);
if (err != GPG_ERR_NO_ERROR) {
printf("GPG 컨텍스트 생성 실패: %sn", gpgme_strerror(err));
return 1;
}
// GPG 에러 메시지 가져오기
err = gpgme_get_error_info(ctx, &err_code);
if (err != GPG_ERR_NO_ERROR) {
printf("GPG 에러 메시지 가져오기 실패: %sn", gpgme_strerror(err));
return 1;
}
// 에러 코드 해석
printf("에러 코드: %sn", err_code);
// GPG 컨텍스트 삭제
gpgme_release(ctx);
return 0;
}
이 예제 코드는 GPG 컨텍스트를 생성하고, GPG 에러 메시지를 가져오며, 에러 코드를 해석합니다.
2025-08-02 12:12