Мне нужно создать собственный OpenSSL-файл, потому что пакет, поставляемый с Fedora-18, не имеет криптографии с эллиптическим кривым. Я исполняю эти команды:Неопределенные ссылки при создании OpenSSL
./config --prefix=/home/USERNAME/bin/ssl --openssldir=/home/USERNAME/bin/ssl/openssl -fPIC zlib no-idea no-mdc2 no-rc5
make depend
make
Но у меня есть ошибки, связывающие:
../libcrypto.a(x86_64cpuid.o): In function `OPENSSL_cleanse':
(.text+0x1a0): multiple definition of `OPENSSL_cleanse'
../libcrypto.a(mem_clr.o):mem_clr.c:(.text+0x0): first defined here
../libcrypto.a(cmll-x86_64.o): In function `Camellia_cbc_encrypt':
(.text+0x1f00): multiple definition of `Camellia_cbc_encrypt'
../libcrypto.a(cmll_cbc.o):cmll_cbc.c:(.text+0x0): first defined here
../libcrypto.a(aes-x86_64.o): In function `AES_encrypt':
(.text+0x460): multiple definition of `AES_encrypt'
../libcrypto.a(aes_core.o):aes_core.c:(.text+0x62a): first defined here
../libcrypto.a(aes-x86_64.o): In function `AES_decrypt':
(.text+0x9f0): multiple definition of `AES_decrypt'
../libcrypto.a(aes_core.o):aes_core.c:(.text+0xad0): first defined here
../libcrypto.a(aes-x86_64.o): In function `private_AES_set_encrypt_key':
(.text+0xab0): multiple definition of `private_AES_set_encrypt_key'
../libcrypto.a(aes_core.o):aes_core.c:(.text+0x0): first defined here
../libcrypto.a(aes-x86_64.o): In function `private_AES_set_decrypt_key':
(.text+0xd80): multiple definition of `private_AES_set_decrypt_key'
../libcrypto.a(aes_core.o):aes_core.c:(.text+0x403): first defined here
../libcrypto.a(aes-x86_64.o): In function `AES_cbc_encrypt':
(.text+0xfa0): multiple definition of `AES_cbc_encrypt'
../libcrypto.a(aes_cbc.o):aes_cbc.c:(.text+0x0): first defined here
Зачем зависеть? Просто попробуйте сделать и сделать установку. – doptimusprime
'./Config' печатает, что мне нужно выдать' make depend' – Maxim
Вы должны * не * использовать 'AES_encrypt' и друзей. Вы должны использовать 'EVP_ *' функции. См. [Симметричное шифрование и дешифрование EVP] (https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption) в вики OpenSSL. Фактически, вы, вероятно, должны использовать аутентифицированное шифрование, поскольку оно обеспечивает * и * конфиденциальность и аутентичность. См. [EVP Authenticated Encryption and Decryption] (https://wiki.openssl.org/index.php/EVP_Authenticated_Encryption_and_Decryption) в вики OpenSSL. – jww