Red Hat Training

A Red Hat training course is available for RHEL 8

6.3. 配置应用以使用智能卡的证书进行身份验证

  • 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/

    如需更多信息,请参阅 wget(1) 手册页。

  • 指定供 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) 手册页。

  • Firefox Web 浏览器会自动加载 p11-kit-proxy 模块。这意味着系统中的每个支持的智能卡都会被自动检测。要使用 TLS 客户端身份验证,不需要额外的设置,当服务器请求智能卡时,会自动使用这些密钥。

在自定义应用程序中使用 PKCS #11 URI

如果您的应用程序使用 GnuTLSNSS 库,则通过内置支持 PKCS #11 URI 来确保对 PKCS #11 的支持。此外,依赖 OpenSSL 库的应用程序还可以访问加密的硬件模块,这得益于 openssl-pkcs11 引擎。

对于需要在智能卡中使用私钥且不使用 NSSGnuTLSOpenSSL 的应用程序,请使用 p11-kit 来实现 注册 PKCS #11 模块。

其它资源

  • p11-kit(8) 手册页.