C에서 통신 프로그램을 작성 중이며 GnuPG 암호화를 사용하는 가장 좋은 방법을 찾고 있습니다. mcrypt 라이브러리를 통해 이미 대칭 암호화 알고리즘을 사용하고 있지만 가능하면 GnuPG를 사용하여 일부 공개 키 기능을 통합하고자합니다. 이 작업을 수행하는 데 유용한 라이브러리가 있습니까? 이것을 달성하기 위해 프로그램을 통해 GPG와 직접 상호 작용하는 것이 더 낫지 않습니까? 이 구현을 가능한 한 깨끗하게 유지하려면 모든 통찰력이 인정 될 것입니다. 감사.C에서 GPG를 사용 하시겠습니까?
3
A
답변
4
불행히도 GnuPG은 API가 아닌 대화식으로 사용하도록 설계되었습니다.
일부 공용 키 기능을 통합하려고합니다. SSL과 TLS는 훨씬 더 자주 사용되는 GPG의 대안입니다.
공개 키 기능이 일반적으로 찾는 것이면 GnuTLS은 원하는 것을 정확하게 제공하는 네트워크 기반 프로그램 용 API입니다. 많은 지원을 받고 SSL 및 TLS 공개 키 암호화 기능을 제공합니다.
그러나 GPG를 사용하여 설정하지 않은 경우 GPGME은 GPG 주위에 API를 래핑하는 프로젝트입니다. 나는 그것을 사용하지 않았고 그것의 사용에 관해 충고 할 수는 없지만 그것이 다소 강제 될 수 있다고 생각한다.
2
GPGme은 참으로 official API for GPG이며, (시험의 예제는/GPG은 매우 도움이됩니다) 여기
존 스미스 암호화하는 예이다 사용하기 쉽고 잘 설명되어 있습니다gpgme_data_t clear_text, encrypted_text;
gpgme_key_t recipients[2] = {NULL, NULL};
/* The array must be NULL-terminated */
...
error = gpgme_op_keylist_start(context, "John Smith", 1);
error = gpgme_op_keylist_next(context, &recipients[0]);
...
error = gpgme_op_encrypt(context, recipients,
GPGME_ENCRYPT_ALWAYS_TRUST,
clear_text, encrypted_text);
관련 문제
- 1. Objective-C에서 enum을 사용 하시겠습니까?
- 2. C에서 JSON 구문 분석기를 사용 하시겠습니까?
- 3. C에서 단일 'char 'acter를 대문자로 사용 하시겠습니까?
- 4. C에서 전역 함수를 사용하여 타이머를 사용 하시겠습니까?
- 5. Objective-C에서 std :: list를 사용 하시겠습니까?
- 6. C에서 단축키 사용 #
- 7. GPG를 사용하여 암호 보호 .GZ 파일
- 8. gpg를 사용하여 maven 아티팩트에 서명 할 목적
- 9. C에서 어셈블리로 인수를 전달 하시겠습니까?
- 10. C에서 진술을 시도 하시겠습니까?
- 11. C에서 구형파를 생성 하시겠습니까?
- 12. Objective-C에서 Autorelease 및 "assign"속성을 사용 하시겠습니까? (iPhone에서)
- 13. Objective-C에서 포인터 사용?
- 14. lib없이 C에서 DLL 사용
- 15. 객관적인 C에서 [release] 사용
- 16. C에서 zlib 사용
- 17. C에서 무료() 사용
- 18. Objective-C에서 예외 사용
- 19. C에서 핑 사용 #
- 20. C에서 병렬 사용 #
- 21. Objective C에서 '^'기호 사용
- 22. C에서 C++ 객체 사용
- 23. C에서 루프의 strtok() 사용?
- 24. C에서 argv 사용?
- 25. C에서 다른 라이브러리 사용
- 26. C에서 PHP 함수 사용 #
- 27. Objective C에서 extern 사용
- 28. C에서 nullable 형식 사용
- 29. C에서 재귀 사용 #
- 30. C에서 문자열 라이브러리 사용