标签: libcrypto

mongod:加载共享库时出错:libssl.so.10 libcrypto.so.10

问题

我下载了mongodb 3.0.7tar文件.然后我将bin目录添加到我的路径:

export PATH=<mongodb-install-directory>/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

然后当我运行mongodb服务器时:

mongod --fork --logpath "/home/me/mongolog" --dbpath "/home/me/data"
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

mongod: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我做了什么

我试过这个解决方案.简而言之,我更新了我的openssl:

sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev
Run Code Online (Sandbox Code Playgroud)

然后:

cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10
Run Code Online (Sandbox Code Playgroud)

但它说它无法找到libssl.so.10libcrypto.so.10.我不知道该怎么办!

openssl mongodb libssl libcrypto

6
推荐指数
2
解决办法
3万
查看次数

我如何知道 hashlib.md5 是否支持“usedforsecurity”标志?

当我在 Macbook 上运行以下命令时,出现错误:

>>> import hashlib
>>> hashlib.md5(usedforsecurity=False)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: openssl_md5() takes no keyword arguments
Run Code Online (Sandbox Code Playgroud)

但是当我在我的 Linux 机器上运行它时,它就可以工作了!

>>> import hashlib
>>> hashlib.md5(usedforsecurity=False)
<md5 HASH object @ 0x7f763c1375d0>
Run Code Online (Sandbox Code Playgroud)

我的问题是,我需要在启用 FIPS 的系统上运行一些安全、非安全相关的代码(例如管理用户请求的缓存,将用户查询哈希为 MD5 字符串)。使用该usedforsecurity标志可防止 FIP 异常。

这工作得很好,除非我想在 Macbook 上测试我的代码。我的 Macbook 的“libcrypto”库显然不支持此usedforsecurity标志。有没有一个好方法来检测背后的底层 C 绑定hashlib.md5是否支持此标志?

c python security md5 libcrypto

6
推荐指数
1
解决办法
6229
查看次数

从EVP_PKEY密钥对中提取公钥?

我正在使用OpenSSL的高级EVP_*()功能在应用程序中实现加密/解密方案,因此我可以轻松切换使用的实际算法,而无需更改API调用。

我可以相对轻松地创建一个密钥

// dumbed down, no error checking for brevity
EVP_PKEY * pkey;
// can change EVP_PKEY_RSA to something else here
EVP_PKEY_CTX * context = EVP_PKEY_CTX_new_id( EVP_PKEY_RSA, NULL );
EVP_PKEY_keygen_init( ctx );
// could set parameters here
EVP_PKEY_keygen( context, &pkey );
// ...
EVP_PKEY_CTX_free( context );
Run Code Online (Sandbox Code Playgroud)

pkey现在拥有一个密钥,即秘密密钥和公共密钥。这对于事物的秘密方面很好,但是显然我只想提取公共密钥组件以用于事物的公共方面。

我能够找到特定RSA的功能,但使用高级EVP_*()API 却一无所获。

救命?

c openssl libcrypto

5
推荐指数
1
解决办法
4968
查看次数

fedora、tizen studio:“无法启动 sdb”,无法连接 tizen 设备

这只是知识的共享。我希望我节省了某人的时间。

问题描述

如果您有 Fedora Linux(我现在使用 f25)但想使用Tizen Studio(官方它只适用于 Ubuntu Linux),您在安装和启动 Studio 后可能会遇到这些问题:

  • 每次 Studio 启动期间出现错误消息“无法启动 sdb”
  • 您可以从您的网络查看 Tizen 设备,但无法连接

问题是sdb工具没有启动( ~/tizen-studio/tools/sdb)

要检查嫌疑人,您可以尝试启动sdb,它必须失败并显示错误:sdb: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

然后,如果您sdb使用ldd命令进行检查,您将看到libcrypto.so.1.0.0未找到:

user@host$ ldd ~/tizen-studio/tools/sdb
linux-vdso.so.1 (0x00007ffc9dbf9000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd8fc5be000)
libcrypto.so.1.0.0 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007fd8fc1f8000)
/lib64/ld-linux-x86-64.so.2 (0x0000560aab3af000)
Run Code Online (Sandbox Code Playgroud)

解决方案

不幸的是,这个问题不能用简单的解决symlinklibcrypto.solibssl.so和在Fedora …

tizen libcrypto tizen-sdb tizen-studio fedora-25

5
推荐指数
1
解决办法
1828
查看次数

如何构建OpenSSL以使用Android NDK和Windows生成libcrypto.a

我创建了一个使用本机代码的android应用程序.

它需要来自OpenSSL的libcrypto.a库,我不记得我在哪里下载它,但它的工作原理.问题是lib的版本是1.0.0a,我想更新到最新版本(现在是v1.0.1e).我下载https://github.com/android/platform_external_openssl并试图编译它,但也有很多错误,而编译.我不知道如何生成lib.

或者,也许(从C和H文件http://www.openssl.org/source/)可以包含在我的C&H文件,而不是用lib?

谢谢!

android openssl build android-ndk libcrypto

4
推荐指数
2
解决办法
2万
查看次数

具有多线程卷曲请求的Segfault

我在这里遇到了一些C++程序的问题.基本上我已经为http请求编写了一个简单的包装器,能够一次执行多个请求.工作得很好,但是当我做httpS请求时,它会在多线程模式下随机崩溃.我正在使用curl和posix线程.Backtrace看起来像这样:

======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x80996)[0x7fea9046d996]
/lib/x86_64-linux-gnu/libc.so.6(+0x82b80)[0x7fea9046fb80]
/lib/x86_64-linux-gnu/libc.so.6(realloc+0xf2)[0x7fea90470ae2]
/lib/x86_64-linux-gnu/libcrypto.so.1.0.0(CRYPTO_realloc+0x49)[0x7fea8f9c6169]
/lib/x86_64-linux-gnu/libcrypto.so.1.0.0(lh_insert+0x101)[0x7fea8fa4bfb1]
/lib/x86_64-linux-gnu/libcrypto.so.1.0.0(+0xe844e)[0x7fea8fa4e44e]
/lib/x86_64-linux-gnu/libcrypto.so.1.0.0(ERR_get_state+0xde)[0x7fea8fa4eeee]
/lib/x86_64-linux-gnu/libcrypto.so.1.0.0(ERR_clear_error+0x15)[0x7fea8fa4f065]
/usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x24e79)[0x7fea90f10e79]
/usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x39ea0)[0x7fea90f25ea0]
/usr/lib/x86_64-linux-gnu/libcurl.so.4(+0xf8fd)[0x7fea90efb8fd]
/usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x219f5)[0x7fea90f0d9f5]
/usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x35538)[0x7fea90f21538]
/usr/lib/x86_64-linux-gnu/libcurl.so.4(curl_multi_perform+0x91)[0x7fea90f21d31]
/usr/lib/x86_64-linux-gnu/libcurl.so.4(curl_easy_perform+0x107)[0x7fea90f19457]
./exbot[0x40273a]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7f6e)[0x7fea90cd6f6e]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fea904e79cd]
Run Code Online (Sandbox Code Playgroud)

这可能是libcrypto中的错误吗?我能以某种方式告诉curl不要使用libcrypto吗?任何替代品?它只使用httpS请求来获取wenn,并且即使10000个同时的http查询也能正常工作.

干杯,托马斯

为了完整我的代码:

// simple wrapper for http requests

#ifndef _REQUEST_H_
#define _REQUEST_H_


#include <curl/curl.h>
#include <pthread.h>
#include <string>
#include <iostream>


//////////////////////////////////
// MACROS
//////////////////////////////////
#define ERR(_msg) std::cerr << __FUNCTION__ << ": " << _msg << std::endl


//////////////////////////////////
// REQUEST WRAPPER
//////////////////////////////////
typedef unsigned int uint;
class RequestWrapper
{
private: // non copyable
    RequestWrapper();
    RequestWrapper(const RequestWrapper &that);
    RequestWrapper …
Run Code Online (Sandbox Code Playgroud)

c++ linux multithreading curl libcrypto

4
推荐指数
1
解决办法
1977
查看次数

使用 openssl 库获取 x509 证书哈希

我目前正在开发一个应用程序,它使用 openssl 库 (libcrypto) 来生成证书。现在我必须获取现有证书的哈希值。

当我使用我的终端时,我能够通过使用生成哈希值

openssl x509 -hash -in cert.pem -noout
Run Code Online (Sandbox Code Playgroud)

输出:01da0e2b

这是我尝试使用 C 中的库生成哈希值的代码。

X509 *cert = NULL;
FILE *fp = fopen(currentCert.UTF8String, "r");
PEM_read_X509(fp, &cert, NULL, NULL);

long hash = X509_subject_name_hash(cert);
char *mdString = malloc(sizeof(long));
sprintf(mdString, "%lx",hash);
printf(mdString);
Run Code Online (Sandbox Code Playgroud)

输出:1817886a

但实际上我的输出是不同的。有人知道我做错了什么吗?

c hash openssl x509 libcrypto

3
推荐指数
1
解决办法
1万
查看次数

找不到 libcrypto 库

最近我的 lambda 代码停止工作。我无法再使用 sqlalchemy 创建与 Snowflake 的连接。请参阅下面的错误堆栈。

The library libcrypto could not be found: LibraryNotFoundError
Traceback (most recent call last):
  (...)
  File "/var/task/sqlalchemy/engine/base.py", line 2263, in connect
    return self._connection_cls(self, **kwargs)
  File "/var/task/sqlalchemy/engine/base.py", line 104, in __init__
    else engine.raw_connection()
  File "/var/task/sqlalchemy/engine/base.py", line 2370, in raw_connection
    self.pool.unique_connection, _connection
  File "/var/task/sqlalchemy/engine/base.py", line 2336, in _wrap_pool_connect
    return fn()
  File "/var/task/sqlalchemy/pool/base.py", line 304, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "/var/task/sqlalchemy/pool/base.py", line 778, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/var/task/sqlalchemy/pool/base.py", line 495, in checkout
    rec = pool._do_get() …
Run Code Online (Sandbox Code Playgroud)

sqlalchemy libcrypto aws-lambda snowflake-cloud-data-platform

3
推荐指数
1
解决办法
5000
查看次数

如何使用OpenSSL的CMAC_xxx函数计算AES CMAC?

有没有办法用OpenSSL/ 计算AES CMAC libcrypto

优选地,以利用AES-NI(或任何其他硬件加速)的方式.

另请参见使用OpenSSL EVP_DigestSign*生成CMAC密钥失败

openssl libcrypto cmac

2
推荐指数
1
解决办法
7663
查看次数

libcrypto.so.10:无法打开共享对象文件:没有这样的文件或目录

我试图根据这些说明为Debian安装ODBC驱动程序:https://blog.afool​​ishmanifesto.com/posts/install-and-configure-the-ms-odbc-driver-on-debian/

但是试图运行:

sqlcmd -S localhost

我收到了错误

libcrypto.so.10:无法打开共享对象文件:没有这样的文件或目录

可能是什么原因?

到目前为止我已经尝试过

1.
    $ cd /usr/lib 
     $ sudo ln -s libssl.so.0.9.8 libssl.so.10
     $  sudo ln -slibcrypto.so.0.9.8 libcrypto.so.10
2.
/usr/local/lib64 to the /etc/ld.so.conf.d/doubango.conf file

3.
sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev

cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10

4. Sudo apt-get install libssl0.9.8:i386
Run Code Online (Sandbox Code Playgroud)

这些都没有帮助.

debian odbc libssl libcrypto

0
推荐指数
1
解决办法
2万
查看次数