openssl 동적 엔진을 작성하려고하지만 해당 문서를 찾을 수 없습니다.openssl 엔진을 작성하는 방법
쓸 알고리즘은 chipper 알고리즘 (rsa와 같은)과 해시 알고리즘 (md5와 같은)입니다.
내가 변경할 수있는 간단한 엔진 소스 코드가 있습니까?
openssl 동적 엔진을 작성하려고하지만 해당 문서를 찾을 수 없습니다.openssl 엔진을 작성하는 방법
쓸 알고리즘은 chipper 알고리즘 (rsa와 같은)과 해시 알고리즘 (md5와 같은)입니다.
내가 변경할 수있는 간단한 엔진 소스 코드가 있습니까?
내가 변경할 수있는 간단한 엔진 소스 코드가 있습니까?
인텔 RDRAND
엔진은 매우 이해하기 쉽습니다.
unsigned long err = 0;
int rc = 0;
OPENSSL_cpuid_setup();
ENGINE_load_rdrand();
ENGINE* eng = ENGINE_by_id("rdrand");
err = ERR_get_error();
if(NULL == eng) {
fprintf(stderr, "ENGINE_load_rdrand failed, err = 0x%lx\n", err);
abort(); /* failed */
}
rc = ENGINE_init(eng);
err = ERR_get_error();
if(0 == rc) {
fprintf(stderr, "ENGINE_init failed, err = 0x%lx\n", err);
abort(); /* failed */
}
rc = ENGINE_set_default(eng, ENGINE_METHOD_RAND);
err = ERR_get_error();
if(0 == rc) {
fprintf(stderr, "ENGINE_set_default failed, err = 0x%lx\n", err);
abort(); /* failed */
}
/* OK to proceed */
...
ENGINE_finish(eng);
ENGINE_free(eng);
나는 당신이 당신에게있는 OpenSSL 소스 코드를 제공합니다
apt-get source openssl
을 제안한다. 트리 내에서 예를 들어 crypto/rsa 및 crypto/md5라는 디렉토리를 찾을 수 있습니다.이 디렉토리는 프로젝트의 시작일 것입니다. 또한 README 등의 형태로 문서가 제공됩니다.
재미있게 보내십시오.
늦은 그러나 가능하게 관련 다른 사람을 위해 : [개발로드하고 (Random Numbers|Hardware에서) 기본 난수 생성기 엔진으로 설정하는 방법
다음가있다 : 당신과의 소스를 찾을 수 있습니다 OpenSSL 용 엔진] (http://sinodun.com/2009/02/developing-an-engine-for-openssl/). – javex
모든 구직자에게 더 좋은 예가 OpenSSL Wiki 소스가 첨부되어 있습니다 : https://wiki.openssl.org/index.php/Creating_an_OpenSSL_Engine_to_use_indigenous_ECDH_ECDSA_and_HASH_Algorithms 행운을 빕니다. – Jonas