4.3. 配置应用程序以使用智能卡上的证书进行身份验证


在应用程序中使用智能卡进行身份验证可能会提高安全性,并简化自动化。您可以使用以下方法将公钥加密标准(PKCS) #11 URIs 集成到应用程序中:

  • Firefox web 浏览器会自动加载 p11-kit-proxy PKCS #11 模块。这意味着系统中的每个支持的智能卡都会被自动检测到。对于使用 TLS 客户端身份验证,不需要额外的设置,在服务器请求它们时会自动使用智能卡中的密钥和证书。
  • 如果您的应用程序使用 GnuTLSNSS 库,则它已经支持 PKCS #11 URI。另外,依赖 OpenSSL 库的应用程序可以通过 openssl-pkcs11 软件包提供的 pkcs11 引擎访问加密硬件模块,包括智能卡。
  • 需要使用智能卡上的私钥且不使用 NSSGnuTLSOpenSSL 的应用程序可以直接使用 p11-kit API 来使用加密硬件模块,包括智能卡,而不是使用特定 PKCS #11 模块的 PKCS #11 API。
  • 使用 wget 网络下载程序,您可以指定 PKCS #11 URI ,而不是本地存储的私钥和证书的路径。这可能会简化为需要安全存储私钥和证书的任务创建脚本。例如:

    $ wget --private-key 'pkcs11:token=softhsm;id=%01;type=private?pin-value=111111' --certificate 'pkcs11:token=softhsm;id=%01;type=cert' https://example.com/
  • 您还可以在使用 curl 工具时指定 PKCS #11 URI :

    $ curl --key 'pkcs11:token=softhsm;id=%01;type=private?pin-value=111111' --cert 'pkcs11:token=softhsm;id=%01;type=cert' https://example.com/

其它资源

  • curl (1), wget (1), 和 p11-kit (8) man page
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.