Openssl 在同一服务器端口上同时支持SSL和非SSL

我计划使用OpenSSL将加密添加到服务器/客户端通信中。但是我想让用户选择是否使用SSL通道进行通信。最简单的方法就是创建2个套接字并将它们绑定到不同的端口,但我希望服务器只在一个端口上提供服务 是否仍然可以打开服务器端的SSL套接字,该套接字支持有关客户端传入连接的SSL和非SSL通信 我使用OpenSSL lib作为我的C++代码。 一个TLS客户端hello有一个标准格式。您可以查看第一条消息的前几个字节,检测这是否是TLS客户机hello,并做出相应的响应 另一种解决方案是在端口X上连

openssl RSA私钥和公钥

如果我使用openssl命令 sudo openssl genrsa -out privkey.pem 2048 要生成rsa密钥,它只生成1个文件。这是私钥。如何获取公钥 回答您的问题:使用sudo openssl genrsa-out privkey.pem 2048生成的文件包含私钥和公钥 openssl-genrsa。公钥是模(n)和公共指数(e): $ openssl genrsa 2048 > dummy.key $ openssl rsa -in dummy.key -no

使用openssl将多个证书加载到PKCS12中

我正在尝试使用openssl将多个证书加载到PKCS12格式。命令如下: openssl pkcs12 -export -in cert1.arm -inkey cert1_private_key.pem -certfile cert2.arm -certfile cert3.arm -certfile RootCert.pem -name "Test" -out test.p12 解析生成的PKCS12文件后,文件中只包含最后一个证书: openssl pkcs12 -in test.p12

如何使用openssl创建pkcs12信任库

我可以使用keytool命令将Java信任库(只有证书的JKS文件,没有私钥)导出到p12文件: keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -deststoretype PKCS12 但是,我似乎不知道如何使用“openssl pkcs12”命令创建相同的文件。它允许您传入证书,但我尝试过的每个选项都要求用户传入私钥。openssl pkcs12-export-nokeys-

当我为私钥和对等密钥传入字节缓冲区时,OpenSSL ECDH不工作

我一直在努力让ecdh通过传递字节密钥缓冲区来使用openssl 用于私钥和对等密钥。在线查看,我可以看到如何做ecdh如果钥匙 在ecdh函数中生成。我没有弄明白的是与评论有关的 在示例代码中说,“假设pkey,peerkey已经设置好了。”(我不知道) 请认为我正在正确地设置这些。--我是openssl新手,可能有 我已经生成了两对公共/私有 使用附带的generateAsymmetyKeyPair()函数创建密钥。然后我硬编码这些值 所以每次测试我都可以得到相同的值。(请注意,有一个带前缀

Openssl 如何创建自己的自签名根证书和要导入Java密钥库的中间CA?

如何创建自签名根证书和要导入Java密钥库的中间CA 我们将把它用于SSL和TLS,然后用于基于客户端证书的客户端身份验证 使用OpenSSL和KeyTool。基于以下指南,特别感谢Jamie Nguyen制作的指南,使之成为可能,谢谢 按照上的指南执行以下操作: 安装Windows的OpenSSL: 将bin文件夹添加到环境变量PATH 为证书创建一个目录,我称之为cert test 将以下openssl.cfg数据用于[CA_default]标记: 这个 在cert\u test中创建

Openssl 如果私钥在HSM中,如何生成证书?

我经常使用openssl生成RSA密钥和证书。但现在我遇到了一个问题openssl x509-req需要私钥作为输入。但是现在我们使用HSM来保护私钥,我将永远无法接触私钥。通过这种方式,我应该如何生成x509证书?使用HSM支持的函数(通常是HSM提供程序支持并提供所需的库),如加密(),解密(),签名(),以获取所需的数据。您无法从HSM获取私钥对象,也无法将openssl用于HSM。我看到一些HSM自带了自己的支持程序,可用于各种事情,包括密钥生成、证书或CSR创建,或使其可用(例如在供应

Openssl Openconnect无法连接到网关

我无法从我的ubuntu 14.04系统通过openconnect VPN客户端进行连接。我曾经在一个月前连接到此VPN,从那时起,我没有对VPN客户端设置进行任何更改 这就是我在日志中看到的错误 POST https://69.195.x.x/ Attempting to connect to server 69.195.x.x:443 SSL negotiation with 69.195.x.x SSL connection failure: A TLS packet with unexp

将CA证书加载到OpenSSL

正如我们所知,在使用openssl api创建SSL连接时,我们创建了一个SSL\u CTX上下文对象,其中加载了所有证书和密钥 要设置对等验证,我们使用SSL\u CTX\u load\u verify\u位置api加载CA证书(CA存储在文件中) 但现在在我的情况下,CA不在文件中,我有一个X509*issuerCert。 现在,如何在SSL\u CTX对象中设置此issuerCert 我发现:- 在上述解决方案中,我们使用SSL\u CTX\u get\u cert\u STORE创建了

Openssl ASN1_获取_对象:太长

如果我这样调用openssl: openssl dgst -sha1 -verify test.pubkey -signature test.seckey test.data 我得到这个信息: ...ASN1_get_object:too long:asn1_lib.c:145: ...ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1325: ...ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:390:T

OPENSSL不兼容libssl,libcrypto

我正在使用openssl库文件,任何人都可以帮助我使用64位的openssl预编译库(RHEL5x64) 我在生成的库上有此警告 /usr/bin/ld: skipping incompatible /home/devlog/prog/toto/libssl.so when searching for -lssl /usr/bin/ld: skipping incompatible /home/devlog/prog/toto/libcrypto.so when searching for -l

来自.cert的OpenSSL主题不同于.csr

我从希望使用我的CA接收回.cert文件的服务器收到一个外部.csr。需要在.cert主题中包含serialNumber字段 通过检查.csr,我可以看到主题字段中存在的序列号: openssl req -in mycert.csr.pem -noout -text 但是,当我使用opensslca命令生成证书时,serialNumber字段从主题中消失了 openssl ca -config openssl.cnf -extensions server_sign_cert -d

Keytool:我可以使用证书请求配置文件在Keytool中定义CSR扩展名吗?(类似于openssl-config)

我使用nCipher HSM来存储我的密钥,我想生成一个自定义CSR,带有自定义扩展名(备用名称、证书策略和名称约束) 我在FIPS模式下运行HSM,这意味着私钥不能离开HSM,必须由HSM直接创建。因此,我无法使用openssl生成CSR。(使用openSSL引擎可能实现这一点,但这似乎需要大量的工作) 使用带有自定义安全提供程序的KeyTool,我能够连接到HSM以管理HSM中的密钥。例如: keytool -list -v -keystore new_key_store_name.jks

Openssl pem文件和调试进程之间未对齐ECDSA参数

我通过下面的命令创建一个ECDSA密钥对 openssl ecparam-名称secp256k1-out secp256k1.pem openssl ecparam-in secp256k1.pem-genkey-noout-out secp256k1-key.pem openssl ec-in secp256k1-key.pem-pubout-out secp256k1-key-pub.pem 然后我用这个密钥对一个测试二进制文件进行签名 openssl dgst-sha256-二进制-输出s

Openssl 是否使用RSA私钥生成公钥?

我真的不明白这一点: 根据:,您可以从私钥生成公钥 openssl genrsa -out mykey.pem 1024 openssl rsa -in mykey.pem -pubout > mykey.pub 我最初的想法是,它们是成对产生的。 RSA私钥是否包含总和?还是公钥 openssl genrsa -out mykey.pem 1024 将实际生成一个公钥-私钥对。该对存储在生成的mykey.pem文件中 openssl rsa -in mykey.pem -pubout

Openssl &引用;签名中的证书无法验证“;申请解冻证书

我需要使用company.pfx中存储的证书对Application.exe文件进行签名。因此,我使用了signtool: signtool.exe sign /p password /f company.pfx /t http://timestamp.verisign.com/scripts/timestamp.dll /v Application.exe The following certificate was selected: Issued to: Company, Inc.

Openssl Chef服务器是否生成错误的公钥?

以下是我所做的: 在Chef web UI中创建了一个新客户端 保持窗口打开,显示生成的公钥和私钥 将私钥保存到Chef服务器本身的client.pem中 使用以下命令在Chef服务器上重新生成公钥: openssl rsa -in client.pem -pubout 输出与web UI中的公钥不匹配。结果在我的工作站上是相同的,因此knife无法进行身份验证。我试过几次,觉得自己疯了 我做错了什么 Chef 10.18.2通过升级到Chef 11解决了这个问题

构建OpenSSL时未定义的引用

我需要构建自己的OpenSSL二进制文件,因为Fedora-18附带的包没有椭圆曲线加密。我执行以下命令: ./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 `OPENSS

将openssl密钥导出到文件

我使用以下命令生成了私钥: openssl genrsa -out privKey.pem 现在我想将此密钥导出到扩展名为.p12的文件中,因此我使用了: openssl pkcs12 -export -inkey privKey.pem -out key.p12 -name "MyPrivKey" 但是,当我尝试通过推荐行运行此推荐时,我没有结果(它一直在运行并且没有停止),当我打开文件.p12时,我收到一条消息: Could not display 'key.p12' Reason: U

如何在xampp上将openssl 1.0.1g更新为1.0.1h?

我有一个带有OpenSSL 1.0.1g的XAMPP服务器。我公司的网络和安全部门告诉我,在他们关闭我的端口之前,将openssl升级到1.0.1h。我使用XAMPP作为我部门的基本数据库和web服务器。如何将其升级到新版本。Xampp尚未发布新版本。我从下载了新版本,我找到了。我下载了错误的文件。windows文件应从中下载此问题似乎与主题无关,因为它与编程无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。

Openssl 播放Java ConnectException:GeneralSSL异常

我在nodejs中为我的应用程序中的SSO创建了一个OpenID提供程序。 我的应用程序是在play framework 2.2.1中编写的,出于某种原因,当我尝试使用play中的给定api连接到我的提供程序时,会出现以下错误:ConnectException:GeneralSSL Exception 我的代码: Promise<String> prs = null; Try { prs = OpenID.redirectURL(openid url, comeback url)

验证使用openssl签名的文件

如果我向某人发送带有openssl的签名文件,是否可以在没有私钥文件的情况下验证该文件 我还没有将私钥发送到另一方 之后,如果证书被吊销,CA应验证文件,以及证书何时被吊销 要获得每个文件签名,您需要公钥,记住,不要将私钥发送给其他人,私钥仅供所有者使用。很抱歉,我没有回答最后一个问题,但它有点不稳定。它一直说验证失败提供更多信息,您正在使用什么函数,给出代码片段,我没有足够的信息。在尝试从证书中提取公钥后,我首先签署了文件openssl rsautl-sign-in msg1-inkey ne

我的openssl版本易受攻击吗?

我刚刚用默认设置安装了Centos 7,我想确定我的openssl版本是否受到heartbleed的影响。我想不是,因为version命令说构建于:Mon-Dec 14 05:15:47 UTC 2015,而大多数易受攻击的版本是在2013年构建的 总之,下面是命令的完整输出: OpenSSL 1.0.1e-fips 11 Feb 2013 built on: Mon Dec 14 05:15:47 UTC 2015 platform: linux-x86_64 options: bn(64,

Openssl 将x509私有证书转换为公共证书

我想知道如何将带有私钥的X509证书转换为可以发送给客户端的公钥 例如,我有X509证书full.crt,它是使用let's encrypt certbot生成的 我觉得自己很愚蠢,但私钥和证书只是连接在一个文件中,很容易将它们拆分

Openssl PEM_read_rsa带密码的私钥

我使用以下命令创建了私钥: openssl genrsa-des3-out private.pem 2048 在密钥创建过程中,我被要求输入并验证密码 我使用以下代码从密钥创建RSA,但得到: r=NULL 你能帮忙吗 谢谢,, 兹维卡 我添加了以下代码: OpenSSL_add_all_algorithms(); OpenSSL_add_all_ciphers(); ERR_load_crypto_strings(); 在以下位置找到解决方案: 现在它起作用了 谢谢,, 兹

将OpenSSL FIPS兼容(libcrypto.a)与另一个静态库链接

我将OpenSSL 1.0.2t与FIPS对象模块2.0.16一起使用。我已经获取了源代码并完成了这两项操作,并且生成了libcrypto.a和libssl.a。 在我的用例中,我需要libcrypto.a。我有一个生成libapi.a的项目,它将提供给客户libapi.a依赖于一些Boost库;我们要做的是,我们使用ar x libboost_somelib.a获取boost对象,然后将这些对象添加到libapi.a中 我需要将libcrypto.a也链接到libapi.a我应该做同样的事情吗

Openssl EVP_DigestVerifyFinal始终返回0

详情: 我正在使用openssl验证我们应用程序中的数字签名。 签名有效后,应继续完成安装。另一方面,如果签名无效,则应中止安装。我正在使用EVP_Verify*方法验证数字签名 EVP_VerifyFinal()方法失败,有效和无效签名都返回零(0)。 然后我知道EVP_Verify*方法已经被弃用,我们应该使用EVP_DigestVerify*方法 参考: 在用EVP_DigestVerify*方法替换EVP_Verify*方法之后,我仍然从EVP_DigestVerifyFinal()方

不能';使用Cygwin x64构建LibreOffice时找不到openssl头

在Windows 10 64位上使用cygwin构建LibreOffice时,我遇到了一个错误 bucket\ssl\u bucket.c(49):致命错误C1083:无法打开包含 文件:“openssl/bio.h”:没有这样的文件或目录 规格: cygwin64,LibreOffice 6.1,Visual Studio 2017,Windows 10 我在cygwin上安装了openssl,openssl dev。 我在cygwin检查了/usr/include/openssl,似乎一切正

Openssl 在SSL模式下运行mesos时出现分段错误

在SSL模式下运行mesos时,我不断遇到分段错误 回溯coredump后,我发现: #0 0x00007f93060b7592 in free () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f9303ebe8cd in CRYPTO_free () from /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 #2 0x00007f9303f7bfde in EVP_CIPHER_CTX_cleanup

如何使用openssl库将ASN1_对象转换为可读格式。?

X509_扩展结构有一个ASN1_对象变量。我想看看里面的内容。 有谁能告诉我怎么做吗?ASN1\u对象只是OpenSSL对OID的表示,一个对象标识符。如果您只想知道它是旧的,那么: ASN1_OBJECT *obj = X509_EXTENSION_get_object(ex); // ex is your X509_EXTENSION * char buff[1024]; OBJ_obj2txt(buff, 1024, obj, 0); // 0 means it will prefer

Openssl 创建证书以签署程序,但创建文件以应用信任

我通过openssl创建了一个pfx openssl genrsa -out key8192.key 8192 openssl req -new -key key8192.key –out KKROOT.crt [输入某物] openssl pkcs12 -export -out KKROOT.pfx -inkey key8192.key -in KKROOT.crt 然后将KKROOT.pfx安装到当前用户的个人 我使用此证书通过签名工具对程序进行签名 将证书安装到根信任中,但它不是真正

Openssl smime签名和id-aa-签名证书EV2

我使用openssl使用安全令牌对文件进行签名我使用的命令是 OpenSSL> smime -md sha256 -nodetach -binary -outform DER -sign -signer my.pem -inkey id_XXXXXXXX -keyform engine -in test.txt -out test.p7m -engine pkcs11 它是有效的。我用来验证签名的应用程序说签名是好的,但是缺少id-aa-signingcertificate2。我试着用谷

Openssl 区别于;“开始RSA私钥”;及;“开始私钥”;

您好,我正在编写一个程序,从.pem文件导入私钥,并创建一个私钥对象供以后使用。。 我面临的问题是一些pem文件头以 -----BEGIN PRIVATE KEY----- 而其他人则是从 -----BEGIN RSA PRIVATE KEY----- 通过我的搜索,我知道第一个是PKCS#8格式的,但我不知道另一个属于什么格式。请参见(在页面中搜索“BEGIN RSA私钥”)(为后代,以防万一) BEGIN RSA私钥是PKCS#1,只是一个RSA密钥。它本质上只是PKCS#8中的关键对象

Openssl 嵌入式linux-RSA私钥策略

我们有一个从SD卡运行的嵌入式linux板。linux板创建一些数据文件,这些文件必须使用私钥签名,以便以后可以使用公钥进行验证。这确保了数据实际上是在该特定板上创建的,并且未被篡改 由于SD卡可以移除,因此很容易读取,因此将私钥文件存储在SD卡(rootfs)上似乎是一种错误的策略。 我们的想法是在启动时生成私钥并将其存储在ram中。生成私钥的种子可以从一些板芯片ID中读取。这将确保在卸下SD卡时无法读取钥匙 但这是一个好策略吗?无人值守密钥存储是一个没有解决方案的问题。无论您是否将其存储在S

Openssl 在多线程环境中是否需要id_回调?

我认为当在多线程环境中使用时,locking\u callback足以锁定/解锁OpenSSL的共享数据结构。那么为什么需要id\u回调?也就是说,什么时候OpenSSL需要调用它 我认为在多线程环境中使用时,锁定\ U回调就足以锁定/解锁OpenSSL的共享数据结构,那么为什么需要id \ U回调呢?也就是说,什么时候OpenSSL需要调用它 OpenSSL有大约40个锁。您可以搜索加密锁。您可以搜索CRYPTO\u LOCK\u以了解受保护的组件,如CRYPTO\u LOCK\u UI、CR

在OpenSSL中,错误堆栈和错误队列是否相同?

在openSSL文档中,我一直在阅读错误队列和错误堆栈。 这两种描述是否都指向相同的机制?或者它们是不同的机制 我一直在读取错误队列和错误堆栈。这两种描述是否都指向相同的机制?或者它们是不同的机制 据我所知,他们都是一样的,是付出还是索取。它们大多可以互换使用 错误队列是逻辑性的,它通常被抽象地讨论。库至少有两个不同的错误队列。第一个是来自libcrypto的,您可以使用ERR\u get\u error获取其错误。第二个是来自libssl,您可以使用SSL\u get\u error获取错误

无法在redhat 7.3上安装openssl devel?

我正在尝试在“Red Hat Enterprise Linux Server 7.3版”上安装openssl开发包(以便在PACT rust实现中使用),该版本包含“openssl 1.0.1e-fips 11 Feb 2013”安装版本,但据我所知不包括其包含的文件。我尝试了各种选项通过yum进行安装,但都失败了(例如,我尝试了)。我正在使用代理,但我似乎不是问题所在(我可以安装其他东西,并已经将其添加到/etc/yum.conf中)。当我跑步时: yum安装openssl-devel 我得到

我应该使用哪个版本的openssl?

openssl的三个不同版本正在同步更新:0.98、1.0.0、1.0.1?它们之间的区别是什么?我如何选择要使用的版本?要了解版本之间的区别,您可以查看OpenSSL的更改日志。 要了解1.0.0的不同之处,请参见下面的条目“0.9.8n和1.0.0之间的变化[2010年3月29日]” 一些不同之处,例如支持名称约束证书扩展。 要了解1.0.0h和1.0.1之间的差异,请参见1.0.0h和1.0.1之间的更改[2012年3月14日] 选择OpenSSL版本的标准:这完全取决于您的使用。例如,如

使用OpenSSL挂起创建CSR

我正在尝试为WINDOWS创建批处理文件,以自动创建自签名证书。 遵循本教程: 我写了以下脚本: @echo off REM This script takes name passed in and generates private and public keys using OpenSSL REM First parameter expects name IF "%1"=="" GOTO EXIT ECHO Generating PRIVATE key ----------------

Openssl 从'给出的公钥初始化EVP#u PKEY(在opensssl中);谷歌inapp账单&x27;

我缩进以验证服务器端实现的c或c中的“google inapp账单签名”++ 我通过php()找到了方法 建议它可以使用EVP_验证。。。openssl中的函数..但是 使用: int EVP_VerifyFinal(EVP_MD_CTX*CTX,无符号字符*sigbuf,无符号int siglen,EVP_PKEY*PKEY) 它需要“EVP_PKEY*PKEY”结构的实例作为参数…但我没有 我相信有一种方法可以将“Google InApp账单签名字符串(base64编码的SHA1,带有带PK

使用openssl生成RSA 1024密钥对

我想生成RSA 1024密钥对。我从谷歌得到的是 openssl genrsa -out privatekey.txt 1024 openssl rsa -in privatekey.txt -pubout -out publickey.txt 但为什么这两个文件的大小不同(608字节和162字节)?RSA 1024的密钥对大小应该相同,对吗 这些文件以 0x30 0x81 及 0x30 0x82 是pem格式吗?它们如何与openssl一起使用 RSA* rsa = RSA_new()

Openssl 客户端向您提供其公共证书时的相互身份验证

通常,双向ssl又名双向身份验证包括生成服务器ca密钥和证书等。然后客户端生成csr,将其提供给您,然后您签署他们的csr,并向他们提供客户端证书 但是, 我遇到过这样一个案例,客户机要求我通过交换彼此的x509公共证书来实现“相互身份验证”。听说过这个吗?可能被称为“双向SSL”或“相互身份验证”以外的东西 我正在努力使用openssl查找有关此的任何文档或信息。传统的客户端证书方法利用CA和数字签名来验证证书的真实性 在您的情况下,似乎您想要的是事先在可信通道中交换证书。在这种情况下,您需要

Openssl 如何使用pss填充验证签名?

我们为RSA sign创建了调试公钥和私钥。 我们生成sha256散列并保存在cp1.bin中。 然后我们尝试验证签名,但总是失败。 如果我们不使用pss填充,验证命令将通过。 任何人都可以帮忙评论吗 谢谢 C:\Project\pkc>openssl pkeyutl-sign-in cp1.bin-inkey pvt_dbg.pem-out sig1.bin-pkeyopt摘要:sha256-pkeyopt rsa_padding_模式:pss-pkeyopt rsa_pss_sallen:3

OpenSSL:PKCS7,验证失败,PEM中有效负载的校验和?

SMIME消息中存在验证错误,我尝试手动检查 PEM的ASN1与有效载荷摘要之间是否存在明显关系 我尝试以下方法: 制作SMIME的消息签名的PEM openssl cms -sign -in x.txt -md sha1 -signer cer.cer -inkey key.key -outform PEM > mypem 对有效负载进行SHA校验和: sha1sum x.txt 解析PEM: openssl asn1parse -in mypem 因此,我会在asn1parse的

Openssl 获取RSA私钥而不是私钥

我在client.KEY文件中有一个生成私钥的命令。但是我需要RSA私钥。如何做到这一点 openssl req -new -newkey rsa:2048 -keyout client.key -out client.csr -config openssl.cnf -reqexts v3_client_req -nodes -subj "/C=US/ST=California/L=Hawthorne/O=PhilNet/CN=Client/" 重复但在我回答后注意到: doopenssl r

OpenSSL DLL上的强化

我正在与openssl源代码的/safeseh标志进行斗争。我在makefile的LDFLAGS行中添加了这个标志,但是winchecksec告诉我,对于libssl和libcrypto DLL,SafeSEH仍然“不存在”。我正在使用openssl 1.1.1h和nmake以及用于VS2019的x86本机工具命令提示符 谢谢

Openssl 如何在同一进程中从不同路径两次加载到同一库?

我正在编写一个新程序,即使用OpenSSL加密数据。我希望我的程序符合FIPS标准。为了实施FIPS模式,我使用APIFIPS\u mode\u set设置它。 我还需要将加密数据传输到第三方设备 设备供应商还提供了一个与设备通信的库。该库还依赖于OpenSSL库 我的程序直接依赖的OpenSSL库与第三方库依赖的路径不同 库的加载顺序与我的程序一起加载直接依赖的OpenSSL库。在运行时,我加载第三方库以与设备通信。作为一个副作用,它应该再次尝试从不同的路径加载OpenSSL库 对于windo

生成自签名证书时Req中出现OpenSSL错误

我创建了CSR文件eidas.CSR,内容如下 oid_section = OIDs [ req ] distinguished_name = dn prompt = no [ OIDs ] OrganizationID=2.5.4.97 [ dn ] O=Enable Banking Oy L=Espoo C=FI OrganizationID=PSDFI-FINFSA-29884997 CN=enablebanking.com 我运行以下命令: openssl-req-new

  1    2   3   4   5   6  ... 下一页 最后一页 共 42 页