标签: openssl

SVN over HTTPS 和 SSL 握手失败

我正在尝试从我团队的 svn 服务器结帐。它需要客户端身份验证。我正在运行 Ubuntu 10.04。

这是我得到的:

$ svn checkout https://myproject.myserver.org/svn/project/
svn: OPTIONS of 'https://myproject.myserver.org/svn/project/': Could not read status line: SSL alert received: Handshake failed (https://myproject.myserver.org)
Run Code Online (Sandbox Code Playgroud)

有没有其他人看到过类似的问题?

authentication https ssl svn openssl

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

在另一个系统上使用 openssl 解码在一个系统上编码的文件

我正在使用以下命令使用 openSSL 在 Ubuntu 机器上加密文件:

openssl enc -aes-256-cbc -in mydbBackup.tar -out  mydbBackup.enc.tar 
     -pass pass:scecret
Run Code Online (Sandbox Code Playgroud)

我把它转移到ftp服务器。现在,当我将文件从 ftp 复制到另一台机器并尝试使用以下命令解密时:

openssl enc -aes-256-cbc -d -in mydbBackup.tar -out  mydbBackup.enc.tar 
     -pass pass:scecret
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

bad decrypt
139727625037472:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:
bad decrypt:evp_enc.c:467:
Run Code Online (Sandbox Code Playgroud)

是由于文件传输出现问题还是无法解密在另一个系统上加密的文件?

编辑:-

ls -l在使用 ( -out decrypt.tar.gz) 和不使用 ( -out decrypt.tar.gz)参数运行解密命令后执行了命令,我得到以下输出:

-rw-r--r-- 1 backup backup 43119360 2012-01-29 07:10 encrypt-20120128.enc.tar.gz
-rw-r--r-- 1 backup backup 43119328 2012-01-29 07:12 decrypt1.tar.gz
-rw-r--r-- 1 backup backup 43119328 2012-01-29 07:12 decrypt.tar.gz
Run Code Online (Sandbox Code Playgroud)

所以它正在制作一些东西,但它抛出错误并tar抱怨生成的文件不是gzip …

openssl

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

如何从 SSL 证书文件转储主题备用名称 (SAN)

我知道我可以使用以下命令从 PEM 证书文件中转储整个信息:

openssl x509 -in certfile -noout -text
Run Code Online (Sandbox Code Playgroud)

而且我已经找到了另一个直接参数来仅显示证书的到期日期:

openssl x509 -in certfile -noout -enddate
Run Code Online (Sandbox Code Playgroud)

但是是否还有一种快捷方式可以只获取替代名称?就像证书可以用于 example.com 以及 www.example.com 一样。在完整的转储中,它在这里:

Certificate:
    Data:
        X509v3 extensions:
            X509v3 Subject Alternative Name: 
                DNS:www.example.com, DNS:example.com
Run Code Online (Sandbox Code Playgroud)

我只是想省去解析此输出并仅获取域名的麻烦。那可能吗?否则,解析此输出的最佳做法是什么?什么可以假设,什么可能改变?我可以使用正则表达式X509v3 Subject Alternative Name:\s*DNS:(\S+)(?:, DNS:(\S+))*吗?

certificate ssl openssl

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

openssl 端证书上的权限密钥标识符不正确

在使用 openssl 使用中间 CA 签署终端服务器证书时,我得到了有趣的结果。

我有一个看起来像这样的根 CA:

Serial Number: 14296918985177649921 (0xc668dc11960d5301)
Issuer: C=US, ST=xROOTx, L=xROOTx, O=xROOTx, CN=xROOTx
Subject: C=US, ST=xROOTx, L=xROOTx, O=xROOTx, CN=xROOTx
X509v3 Subject Key Identifier:
  1A:E5:27:E9:EF:2F:90:A7:13:91:1A:12:A9:3A:1D:AE:BA:1E:B8:35
Run Code Online (Sandbox Code Playgroud)

它签署了一个中间 CA,如下所示:

Serial Number: 0 (0x0)
Issuer: C=US, ST=xROOTx, L=xROOTx, O=xROOTx, CN=xROOTx
Subject: C=US, ST=xINTERx, O=xINTERx, CN=xINTERx
X509v3 Authority Key Identifier:
  keyid:1A:E5:27:E9:EF:2F:90:A7:13:91:1A:12:A9:3A:1D:AE:BA:1E:B8:35
  DirName:/C=US/ST=xROOTx/L=xROOTx/O=xROOTx/CN=xROOTx
  serial:C6:68:DC:11:96:0D:53:01
X509v3 Subject Key Identifier:
  16:BF:D6:2F:0D:58:A5:C3:84:95:4B:F6:FE:27:3E:0B:79:0C:6F:04
Run Code Online (Sandbox Code Playgroud)

当我签署终端服务器证书时,我得到了这个:

Serial Number: 1 (0x1)
Issuer: C=US, ST=xINTERx, O=xINTERx, CN=xINTERx
Subject: C=US, ST=xENDx, O=xENDx, CN=xENDx
X509v3 Authority Key Identifier:
  keyid:16:BF:D6:2F:0D:58:A5:C3:84:95:4B:F6:FE:27:3E:0B:79:0C:6F:04
  DirName:/C=US/ST=xROOTx/L=xROOTx/O=xROOTx/CN=xROOTx
  serial:00
X509v3 …
Run Code Online (Sandbox Code Playgroud)

certificate openssl ssl-certificate x509 trusted-root-certificates

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

使用 openssl (HEX) 生成 ECDSA 公钥

如何使用 openssl 生成十六进制 EC 密钥对?

示例输出:

ec private key: 1d6d6f979fe944658ef72336d0472d122d641c347d62af8b80cbd5a6d9595298
ec public key: 043ca2e15917499a0c7de20f03a17b82a0aab1450dcaa0d704c5d969090bc10a2b1e3e60ef1d17b5201b2c35b124058cb1e034305574dfccdffda9e895a813672b
Run Code Online (Sandbox Code Playgroud)

openssl

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

s_client 没有因撤销证书而失败?

我正在使用 EFF 的HTTPS Everywhere运行 Firefox 。我最近访问了 Lavabit 的网站,看看它是否接受捐赠:

在此处输入图片说明

考虑到历史,预计撤销......

但是,我没有使用 OpenSSL 的s_client. 下面,我得到的Verify return code: 3 (unable to get certificate CRL)是哪个X509_V_ERR_UNABLE_TO_GET_CRL,而不是X509_V_ERR_CERT_REVOKED: certificate revoked。命令是:

openssl s_client -connect lavabit.com:443 -crl_check -CAfile valicert_class2_root.crt
Run Code Online (Sandbox Code Playgroud)

CA 文件可以在ValiCert Legacy Certificate Chain 中找到

$ echo -e "GET / HTTP/1.0\r\n" | openssl s_client -connect lavabit.com:443 -crl_check -CAfile valicert_class2_root.crt 
CONNECTED(00000003)
depth=0 O = *.lavabit.com, OU = Domain Control Validated, CN = *.lavabit.com
verify error:num=3:unable to get certificate …
Run Code Online (Sandbox Code Playgroud)

certificate ssl openssl x509

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

带有openssl的自签名证书,用于在家中的服务器并且没有域名

我在网上阅读的所有文章都讨论了为您拥有的域创建自签名证书。

我在家里的 Ubuntu 16.04 服务器上设置了 Apache2。我的 ISP 给了我一个动态 IP,所以我使用 No-IP。我在路由器上打开了端口以将流量重定向到我的服务器。

我也从家里(在网络内部)访问网络服务器。

因此,如果我在家庭网络之外,我将使用https://username.noip.me/,如果我在家,我将使用https://homeserver/

那么如何为这种情况创建自签名证书呢?我把什么作为通用名称?

https ssl openssl dynamic-dns

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

MongoDB:获取 SSL 对等证书验证失败:自签名证书

我按照教程创建了一个根 CA 证书,然后使用它为 mongod 服务器签名。我使用此配置运行monogd,遵循此文档

  net:
    ssl:
      mode: requireSSL
      PEMKeyFile: /home/user/device.pem
      CAFile: /home/user/rootCA.pem
      allowInvalidCertificates: true
      allowInvalidHostnames: true
Run Code Online (Sandbox Code Playgroud)

由于连接失败,我添加的最后 2 个。

我正在使用这些线路连接:

./mongo <host>:<port>/<db>  -u <user> -p <pwd> --ssl --sslAllowInvalidCertificates --sslCAFile ~/Downloads/rootCA.pem

./mongo <host>:<port>/<db>  -u <user> -p <pwd> --ssl --sslAllowInvalidCertificates

./mongo <host>:<port>/<db>  -u <user> -p <pwd> --ssl
Run Code Online (Sandbox Code Playgroud)

但所有这些都会产生:

MongoDB shell version v3.4.2
connecting to: mongodb://<host>:<port>/<db>
2017-03-30T14:39:15.307+0300 E NETWORK  [thread1] SSL peer certificate validation failed: self signed certificate
2017-03-30T14:39:15.311+0300 E QUERY    [thread1] Error: socket exception [CONNECT_ERROR] for SSL …
Run Code Online (Sandbox Code Playgroud)

ssl openssl ssl-certificate mongodb

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

如何将 OpenSSL 指向我的自定义配置文件?

我复制/System/Library/OpenSSL/openssl.cnf到我的主文件夹,以便我可以设置证书创建的默认值。如何设置 OpenSSL 以使用我的配置文件而不是常规文件?我可以在 ~/.bashrc 文件中添加一条语句。我已经进行了网络搜索并搜索了 openssl.org 网站,但找不到答案。Stack Overflow 上的一篇文章提到了一个参数 -config,但没有在命令中引用。

openssl macos-sierra

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

如何将私钥与提供的证书匹配?

有人给了我一个证书和几个私钥/公钥,然后说,“告诉我哪个私钥与证书匹配。” 我怎么做?

证书采用 PKCS #7 格式并以以下内容开头:

-----BEGIN CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

钥匙看起来都不一样。其中一些实际上是公钥 - 有些我不确定。它们有不同的扩展名并以不同的字符串开头,例如:

-----BEGIN PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
-----BEGIN EC PARAMETERS-----
Run Code Online (Sandbox Code Playgroud)
-----BEGIN RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?我想我可以使用 openssl 命令行工具。

encryption certificate openssl

5
推荐指数
2
解决办法
594
查看次数