Me preguntaba si es posible compilar solo la funcionalidad criptográfica de OpenSSL que quiero. En particular, ¿es posible compilar solo partes SHA1, AES y DH de OpenSSL?
Seguí los consejos en Construya OpenSSL solo con RSA y AES > pero parece que está desactualizado para 1.0.1g
que estoy intentando construir.
La forma en que estoy tratando de construir OpenSSL en este momento es algo como:
./config no-idea no-md2 no-mdc2 no-rc5 no-sha0 no-rmd160 no-aes192 no-ec \
no-err no-fips no-hw no-krb5 no-threads zlib-dynamic no-engines no-bio \
no-aes no-algorithms no-asm no-bf no-bio no-buffer no-buf-freelists \
no-camellia no-capieng no-cast no-chain-verify no-cms no-comp no-decc-init \
no-deprecated no-des no-descbcm no-dgram no-dh no-dsa no-dtls1 \
no-dynamic-engine no-ec no-ec2m no-ecdh no-ecdsa no-ec-nistp-64-gcc-128 \
no-engine no-err no-evp no-fp-api no-gmp no-gost no-hash-comp \
no-heartbeats no-hmac no-hw no-hw-4758-cca no-hw-aep no-hw-atalla \
no-hw-chil no-hw-cswift no-hw-ibmca no-hw-ncipher no-hw-nuron no-hw-padlock \
no-hw-sureware no-hw-ubsec no-hw-zencod no-idea no-inline-asm no-jpake \
no-krb5 no-lhash no-locking no-md2 no-md4 no-mdc2 no-multibyte \
no-nextprotoneg no-object no-ocsp no-posix-io no-psk no-rc2 no-rc4 \
no-rc5 no-rdrand no-rfc3779 no-ripemd no-ripemd160 no-rmd16 no-rsa \
no-rsax no-sctp no-seed no-setvbuf-ionbf no-sock no-speed no-srp no-srtp \
no-ssl2 no-ssl3 no-ssl-intern no-stack no-static-engine no-stdio no-store \
no-tls no-tls1 no-tls1-2-client no-tlsext no-whirlpool no-x509 no-x509-verify
Básicamente, intenté deshabilitar todo lo que podía, excepto las cosas que necesito. Entonces hago make depend
y luego make build_crypto
. Me salen errores como estos:
In file included from ../include/openssl/ssl.h:163:0,
from ssl_locl.h:165,
from t1_reneg.c:113:
../include/openssl/hmac.h:64:2: error: #error HMAC is disabled.
#error HMAC is disabled.
Si elimino no-aes
del conjunto de opciones, obtengo otros errores similares.
Ideas?