标签: pki

什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

我负责维护两台 Debian 服务器。每次我必须对安全证书做任何事情时,我都会谷歌搜索教程并击败它,直到它最终起作用。

然而,在我的搜索中,我经常遇到不同的文件格式(.key, .csr, .pem),但我从来没有找到对每种文件格式的用途的很好的解释。

我想知道 ServerFault 的好人是否可以就此问题提供一些说明?

certificate pki

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

使用 Active Directory 的 SSO 如何让用户透明地登录到 Intranet Web 应用程序?

有人告诉我,可以制作不需要登录的 Web 应用程序。用户登录到 Windows,它通过 Active Directory (LDAP) 查找进行身份验证。然后,他们应该能够访问我的 web 应用程序并且永远不会看到登录提示。这些客户一直将其称为单点登录(可能是错误的,也是我困惑的一部分)。

但是,从我从 Tomcat 文档中读到的 Single Sign On 是:

当您希望让用户能够登录到与您的虚拟主机关联的任何一个 Web 应用程序,然后让同一虚拟主机上的所有其他 Web 应用程序识别他们的身份时,可以使用单点登录阀。

这对我来说非常清楚。用户必须登录一次才能访问 tomcat 实例上的每个 web 应用程序。但是,我需要做的是以某种方式让他们登录,而无需向我的 tomcat 服务器提供任何凭据。

所以,为了让它起作用,我想:

  • 用户请求某个页面
  • 服务器看不到会话令牌,然后向客户端请求一些凭据。
  • 客户端浏览器无需用户干预即可向服务器提供一些凭据。
  • 然后,使用客户端浏览器提供的凭据在 LDAP 中进行查找。

我见过一些使用客户端证书的例子......特别是 DoD PKI 系统,这对我来说很有意义,因为在这些情况下你配置 Tomcat 来请求客户端证书,但只是登录到 Windows 我不明白这是怎么回事将工作以及浏览器将传递给服务器的信息等。这是 NTLM 的用途吗?

active-directory authentication single-sign-on pki

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

有人可以解释一下用于 PKI 生成的 easyrsa vars 选项吗

我正在使用 OpenVPN,虽然我可以使用 easyrsa 生成证书就好了,但我不太了解 easyrsa vars 文件中的设置:

export KEY_COUNTRY=""
export KEY_PROVINCE=""
export KEY_CITY=""
export KEY_ORG
export KEY_EMAIL=""
export KEY_EMAIL=
export KEY_CN=
export KEY_NAME=
export KEY_OU=
export PKCS11_MODULE_PATH=
export PKCS11_PIN=1234
Run Code Online (Sandbox Code Playgroud)

谁能解释一下这些设置?提前致谢。

openvpn pki

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

是否为内部企业 CA 预留了 OID 空间?

在配置 PKI 供内部使用时,是否有私有 OID 空间,无需支付和/或注册您自己的 OID 范围即可使用?想想 OID 范围的 RFC1918 地址。

oid pki

14
推荐指数
3
解决办法
3469
查看次数

Cisco 交换机的智能卡身份验证?

我们将 Cisco 网络设备配置为使用他们的域帐户通过在 Windows 2008R2 服务器上运行的具有网络保护角色的 RADIUS 对网络管理员进行身份验证。这对于在配置设备时通过 SSH 登录交换机非常有用。

我们现在正处于为登录部署智能卡的开始阶段。有谁知道使用智能卡而不是域用户名和密码登录 Cisco 交换机的方法吗?

我们使用的 SSH 客户端是 Putty。工作站是 Windows 7。RADIUS 在 Windows 2008R2 上运行。我们在 Windows 2008 上运行我们自己的证书颁发机构;网络未连接到 Internet。

我们宁愿不必为此功能购买额外的专有设备。

cisco smartcard radius pki

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

Powershell 远程删除 PKI 证书

我最近重建了我的 PKI,我想删除颁发给我网络中所有客户端计算机的证书。听起来像是 Powershell 的工作!所以我写了这个脚本由 GPO 分发,从 SysVol 运行,并在启动时在客户端机器上触发:

set-location cert:\LocalMachine\My
$certname = $env:COMPUTERNAME + ".domain.com"
get-item * | %{
if($_.issuer -like "CN=IssuingCA*" -and $_.DnsNameList.unicode -like $certname) { remove-item .\$_.Thumbprint -Force }
}
Run Code Online (Sandbox Code Playgroud)

从提升的命令提示符:

  • 当 Ran 时,脚本不提供任何输出(只是一个新的终端行)。它不会返回任何错误并且不会删除证书。
  • 当参数-WhatIf添加到Remove-Item脚本中的命令时,同样没有错误并且证书不会被删除。
  • 当 Remove-Item .\CERTIFICATE-THUMBPRINT -Force 运行时,证书被删除。

这是权限问题吗?有没有更聪明/更简单的方法来做到这一点?

谢谢!

powershell pki certificate-authority windows-server-2012-r2

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

Windows PKI:如何导入、签署/发布和导出大量 CSR?

我有很多 CSR 需要在 Windows 中签名/颁发和导出。我希望我能以某种方式对它们进行批处理(certutil 听起来它可以完成一些工作),但我不太确定我该如何去做。可行吗?

任何帮助将不胜感激。

windows pki ssl-certificate csr certificate-authority

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

如何为同一个 Common Name 颁发多个证书?

我正在为 Intranet 创建一个证书颁发机构。

我已经生成了根和中间 CA,并使用中间 CA 成功签署了服务器证书。服务器证书具有CN=mysite.com.

将来,此服务器证书将过期,我将需要颁发一个新证书。但是,如果我创建另一个相同的 CSR,CN=mysite.com那么当我签署它时,我会得到

failed to update database
TXT_DB error number 2
Run Code Online (Sandbox Code Playgroud)

如果我用不同的 CN 创建一个新的 CSR,这个错误就会消失,但 CN 必须相同,否则浏览器不会说它有效,对吧?

我该如何解决?

编辑:我正在遵循本指南——在链接页面结束之前一切都很好,但是当我尝试重复此页面上的步骤以创建第二个证书时,openssl 要求我为新证书提供不同的 CN。

SUBJ="/C=$C/ST=$ST/L=$L/O=$O/OU=$OU/CN=$CN"

# Generate CSR
echo "$PW" | openssl req \
    -config "$CAROOT/intermediate/openssl.cnf" \
    -new -sha256 -subj "$SUBJ" -passin stdin \
    -key "$PRIV_ENC" -out "$CSR_INT" >/dev/null 2>&1 ||
{
    >&2 echo "Could not openssl req";
    exit 1;
}

# Sign CSR
openssl ca \
    -config "$CAROOT/intermediate/openssl.cnf" …
Run Code Online (Sandbox Code Playgroud)

certificate openssl pki ssl-certificate certificate-authority

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

Web 服务器是否将证书链发送到 Web 客户端?

如果我的 Web 服务器(最新的 Apache)具有有效(未过期或撤销)的 Verisign 证书链(根 -> 中间 -> 叶/我的服务器),那么服务器是否整个(?)链发送给客户端?Web 客户端(例如,最新的 Chrome)是否需要在线查找每个相同的证书,尤其是在客户端已经信任根 CA 的情况下?

如果客户无法联系威瑞信会怎样?(例如,在没有 WiFi 的笔记本电脑上设置 LAMP)。

ssl pki ssl-certificate certificate-authority apache-2.4

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

为什么 OpenVPN 会给出错误:中间证书的“不支持的证书用途”?

编辑:我真的很抱歉不得不说这个问题已经神奇地自我修复了,我不知道为什么。作为对其中一个答案的回应,我从 CA 链中删除了所有 EKU,但它不起作用。度假回来后,我一次创建了证书链1,即。RootCA->VPN然后RootCA->IntermediateCA->VPN,最后,RootCA->IntermediateCA->ServerCA->VPN它仍然有效!我不知道它为什么起作用,但我很兴奋。只是为了绝对确定是删除 EKU 解决了这个问题,我回去向链中的 CA 添加了随机 EKU,瞧,它仍然有效......这绝对令人愤怒,我向你道歉所有试图提供帮助的人。我发誓,在我不在的情况下,绝对没有其他任何改变,也没有人碰过任何东西。结束编辑

尝试将 OpenVPN 客户端(Android 或 Windows 7/10)连接到我的测试服务器时,我收到以下错误:

验证错误:深度=1,错误=不支持的证书用途:C=CA、ST=QC、L=Montreal、O=Company Inc、OU=PKI、CN=Server Certificate Authority

我在 OpenBSD 上运行 OpenVPN 2.3.7。我正在使用使用XCA创建的以下 PKI CA 层次结构:

RootCA -> IntermediateCA -> ServerCA
Run Code Online (Sandbox Code Playgroud)

我为我的 VPN 服务器创建了一个由我的 ServerCA 签名的证书。请注意 depth=1。这似乎不是最终 VPN Server 证书的问题。OpenVPN是抱怨发行的VPN服务器证书。甚至错误消息中的 CN 是 ServerCA 的 CN,而不是 vpn 服务器的 CN。

据我所知,除了签署证书之外,链中的 CA 没有任何其他目的。

这是 VPN 服务器的证书配置。请注意,旧的 Netscape 服务器扩展在那里,这是 OpenVPN 所要求的:

nsCertType=server, email
extendedKeyUsage=serverAuth, nsSGC, ipsecEndSystem, iKEIntermediate
keyUsage=digitalSignature, keyEncipherment, dataEncipherment, …
Run Code Online (Sandbox Code Playgroud)

openvpn pki ssl-certificate

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