小编use*_*574的帖子

如何显示证书的主题备用名称?

我发现最接近的答案是使用"grep".

> openssl x509 -text -noout -in cert.pem | grep DNS
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?我只喜欢命令行.

谢谢.

ssl openssl certificate ssl-certificate x509certificate

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

SSL证书链捆绑如何工作?

我已经创建了这样的链层次结构.

root-ca ==> signing-ca ==> subordinate-ca ==> server
Run Code Online (Sandbox Code Playgroud)

提到创建链束,最低应该先行.

$ cat server.crt subordinate-ca.crt signing-ca.crt > server.pem
Run Code Online (Sandbox Code Playgroud)

但验证失败了.

$ openssl verify -CAfile root-ca.crt server.pem
error 20 at 0 depth lookup:unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)

但是,如果我改变顺序它似乎工作.

$ cat signing-ca.crt subordinate-ca.crt server.crt > server.pem
$ openssl verify -CAfile root-ca.crt server.pem
server.pem: OK
Run Code Online (Sandbox Code Playgroud)

那么这里的错误是什么?

"猫"之后的链条如下所示.

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

更多信息:根据" http://www.herongyang.com/crypto/openssl_verify_2.html ",我执行以下测试.

$ cat signing-ca.crt subordinate-ca.crt > inter.crt
$ openssl verify -CAfile …
Run Code Online (Sandbox Code Playgroud)

ssl openssl certificate ssl-certificate x509certificate

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

如何检查Ruby哈希中是否存在密钥?

我正在使用Net :: LDAP的搜索,返回的条目是这样的.

#<Net::LDAP::Entry:0x7f47a6491c00
 @myhash=
  {:loginshell=>["/bin/bash"],
   :cn=>["M... R..."],
   :homedirectory=>["/mnt/home/m..."],
   :uid=>["m..."],
   :userpassword=>["{CRYPT}$1$3zR/C...$R1"],
   ...
}>
Run Code Online (Sandbox Code Playgroud)

我试着做以下事情,但失败了.

(1)

e = entry.to_hash
e.has_key? "uid" 
Run Code Online (Sandbox Code Playgroud)

(2)

entry.has_key? "uid" 
Run Code Online (Sandbox Code Playgroud)

第一个错误说"to_hash"未定义,第二个"has_key"未定义.然后我真的不知道怎么做,基本上我想找到"uid"是否存在,如果是这样的话得到它的对应值.

非常感谢你的提示.

顺便说一句,它只响应"entry.uid",但如果搜索键是以字符串形式提供的,那该怎么办呢?例如,

def get_value(key)
  if entry has key 
    return key's value
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby

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

证书撤销如何与中间CA一起使用?

假设PKI层次结构如下所示.

root CA ==> inter-1 CA ==> user-1
  \
   \======> inter-2 CA ==> user-2
Run Code Online (Sandbox Code Playgroud)

我的问题是:root CA是否还需要定期从其子代下载CRL:inter-1和inter-2?

由于user-1和user-2可以相互认证,如果inter-2撤销了user-2的证书,则inter-2应该让root知道然后传播到inter-1和user-1,对吧?

如果是这样,那似乎很复杂.是否有任何工具可用于管理撤销逻辑?非常感谢.

ssl openssl certificate-revocation ssl-certificate x509certificate

10
推荐指数
1
解决办法
4495
查看次数

为什么编译器允许自己初始化变量?

我终于追查了一个错字错误,这与下面的代码类似.但是编译器不应该检测到这个(默认选项)吗?

#include <stdio.h>

int main()
{
    int c = c;
    return printf("%d\n", c);
}


$ gcc --version        
gcc (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
Run Code Online (Sandbox Code Playgroud)

c

9
推荐指数
2
解决办法
1534
查看次数

X.509证书:在主题备用名称中添加localhost是一个好主意(或不好)?

我们决定是否应将"localhost"(以及类似"127.0.0.1"之类的地址)添加为证书中的主题备用名称之一.一个好处可能是促进本地测试.但是会有任何缺点吗?

openssl ssl-certificate x509certificate2

9
推荐指数
1
解决办法
6000
查看次数

如何非交互式地运行"dpkg-reconfigure ca-certificates"?

我想默认"接受"新证书.我尝试了以下内容.

$ dpkg-reconfigure -f noninteractive ca-certificates
Run Code Online (Sandbox Code Playgroud)

它运行,但不添加CA.

如果不可能,可以直接修改/etc/ca-certificates.conf吗?

感谢您的帮助.

certificate ssl-certificate x509certificate

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

外部命令如何将其输出和退出状态返回给Ruby?

这是关于ruby系统命令检查退出代码的后续问题.我想运行命令,以获取其输出以及退出代码.目前我在代码中使用的是:

rv = `#{cmd} 2>&1`
Run Code Online (Sandbox Code Playgroud)

但这只能捕获输出,并且

rv = system(cmd)
Run Code Online (Sandbox Code Playgroud)

仅捕获退出代码.如何实现两者?

ruby shell stdout exit-code

7
推荐指数
1
解决办法
3742
查看次数

如何处理getaddrinfo和线程安全?

我正在使用getaddrinfo进行与IPv6相关的C项目.我的电脑上的"man getaddrinfo"(uname -a:3.5.0-23)仅表示它是"可重入的".所以我猜它不是线程安全的.

在需要线程安全的情况下,如何处理它?我也检查了UNP,但似乎没有提供具体的答案.非常感谢.

sockets ipv6 getaddrinfo

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

使用如此多CPU功率的select()有什么问题?

我正在使用非阻塞套接字(C/C++)编写网络通信程序select.该程序非常大,所以我无法上传源代码.在非常激进的测试会话中,我使用测试代码频繁地打开和关闭TCP和UDP.总是最终一端没有响应并且CPU使用率超过98或99%.然后我用gdb来附加."bt"显示以下内容:

0x00007f1b71b59ac3 in __select_nocancel () at ../sysdeps/unix/syscall-template.S:82
82  ../sysdeps/unix/syscall-template.S: No such file or directory.
    in ../sysdeps/unix/syscall-template.S
Run Code Online (Sandbox Code Playgroud)

它可能是什么类型的错误?

$ uname -a
Linux kiosk2 2.6.32-34-generic #77-Ubuntu SMP Tue Sep 13 19:39:17 UTC 2011 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

sockets tcp posix-select

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