JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11.1 管理:安全服务     Oracle Solaris 11.1 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

第 2 部分系统、文件和设备安全性

2.  管理计算机安全性(概述)

3.  控制对系统的访问(任务)

4.  病毒扫描服务(任务)

5.  控制对设备的访问(任务)

6.  使用 BART 验证文件完整性(任务)

7.  控制对文件的访问(任务)

第 3 部分角色、权限配置文件和特权

8.  使用角色和特权(概述)

9.  使用基于角色的访问控制(任务)

10.  Oracle Solaris 中的安全属性(参考信息)

第 4 部分加密服务

11.  加密框架(概述)

12.  加密框架(任务)

使用加密框架保护文件(任务)

使用加密框架保护文件(任务列表)

如何使用 pktool 命令生成对称密钥

如何计算文件摘要

如何计算文件的 MAC

如何加密和解密文件

管理加密框架(任务)

管理加密框架(任务列表)

如何列出可用提供者

如何添加软件提供者

如何在 FIPS-140 模式下使用加密框架

如何禁止使用用户级机制

如何禁止使用内核软件提供者

如何列出硬件提供者

如何禁用硬件提供者机制和功能

如何刷新或重新启动所有加密服务

13.  密钥管理框架

第 5 部分验证服务和安全通信

14.  使用可插拔验证模块

15.  使用 安全 Shell

16.  安全 Shell(参考信息)

17.  使用简单验证和安全层

18.  网络服务验证(任务)

第 6 部分Kerberos 服务

19.  Kerberos 服务介绍

20.  规划 Kerberos 服务

21.  配置 Kerberos 服务(任务)

22.  Kerberos 错误消息和故障排除

23.  管理 Kerberos 主体和策略(任务)

24.  使用 Kerberos 应用程序(任务)

25.  Kerberos 服务(参考信息)

第 7 部分在 Oracle Solaris 中审计

26.  审计(概述)

27.  规划审计

28.  管理审计(任务)

29.  审计(参考信息)

词汇表

索引

管理加密框架(任务)

本节介绍了如何管理加密框架中的软件提供者和硬件提供者。如果需要,可以禁用软件提供者和硬件提供者。例如,可以禁用某个软件提供者的算法实现。然后,可以强制系统使用其他软件提供者的算法。

管理加密框架(任务列表)

以下任务列表列出了管理加密框架中的软件和硬件提供者的过程。

任务
说明
参考
列出加密框架中的提供者。
列出可在加密框架中使用的算法、库和硬件设备。
启用 FIPS-140 模式。
根据针对加密模块的美国政府标准运行加密框架。
添加软件提供者。
将 PKCS #11 库或内核模块添加到加密框架中。必须对提供者进行签名。
禁止使用用户级机制。
禁用软件机制。可以再次启用该机制。
临时禁用内核模块的机制。
临时禁用某个机制。通常用于测试。
卸载库。
禁用用户级软件提供者。
卸载内核提供者。
禁用内核软件提供者。
列出可用硬件提供者。
显示连接的硬件、该硬件提供的机制以及启用的机制。
禁用硬件提供者的机制。
确保未使用硬件加速器的所选机制。
重新启动或刷新加密服务。
确保加密服务可用。

如何列出可用提供者

加密框架可为多种类型的使用者提供算法:

  1. 以简要格式列出提供者。

    注 - 对于不同的 Oracle Solaris 发行版和不同的平台,提供者列表的内容和格式会有所不同。在您的系统上运行 cryptoadm list 命令可查看系统支持的提供者。


    一般用户只能使用用户级机制。

    % cryptoadm list
    User-level providers:
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    Provider: /usr/lib/security/$ISA/pkcs11_tpm.so
    
    Kernel software providers:
        des
        aes
        arcfour
        blowfish
        ecc
        sha1
        sha2
        md4
        md5
        rsa
        swrand
        n2rng/0
        ncp/0
        n2cp/0
  2. 列出加密框架中的提供者及其机制。

    以下输出中列出了所有机制。但是,所列出的一些机制可能无法使用。要仅列出管理员已批准使用的机制,请参见示例 12-16

    为了便于显示,输出将被截断。

    % cryptoadm list -m
    User-level providers:
    =====================
    
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    
    Mechanisms:
    CKM_DSA                      
    CKM_RSA_X_509                
    CKM_RSA_PKCS                 
    ...
    CKM_SHA256_HMAC_GENERAL      
    CKM_SSL3_MD5_MAC             
    
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    Mechanisms:
    CKM_DES_CBC                  
    CKM_DES_CBC_PAD              
    CKM_DES_ECB                  
    CKM_DES_KEY_GEN              
    CKM_DES_MAC_GENERAL          
    ...
    CKM_ECDSA_SHA1               
    CKM_ECDH1_DERIVE             
    
    Provider: /usr/lib/security/$ISA/pkcs11_tpm.so
    /usr/lib/security/$ISA/pkcs11_tpm.so: no slots presented.
    
    Kernel providers:
    ==========================
    des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC
    aes: CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM,CKM_AES_GCM,CKM_AES_GMAC,
    CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
    arcfour: CKM_RC4
    blowfish: CKM_BLOWFISH_ECB,CKM_BLOWFISH_CBC
    ecc: CKM_EC_KEY_PAIR_GEN,CKM_ECDH1_DERIVE,CKM_ECDSA,CKM_ECDSA_SHA1
    sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL
    sha2: CKM_SHA224,CKM_SHA224_HMAC,...CKM_SHA512_256_HMAC_GENERAL
    
    md4: CKM_MD4
    md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
    rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS,CKM_SHA1_RSA_PKCS,CKM_SHA224_RSA_PKCS,
    CKM_SHA256_RSA_PKCS,CKM_SHA384_RSA_PKCS,CKM_SHA512_RSA_PKCS
    swrand: No mechanisms presented.
    n2rng/0: No mechanisms presented.
    ncp/0: CKM_DSA,CKM_RSA_X_509,CKM_RSA_PKCS,CKM_RSA_PKCS_KEY_PAIR_GEN,
    CKM_DH_PKCS_KEY_PAIR_GEN,CKM_DH_PKCS_DERIVE,CKM_EC_KEY_PAIR_GEN,
    CKM_ECDH1_DERIVE,CKM_ECDSA
    n2cp/0: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES3_CBC,...CKM_SSL3_SHA1_MAC

示例 12-15 查找现有加密机制

在下面的示例中,列出了用户级库 pkcs11_softtoken 提供的所有机制。

% cryptoadm list -m provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so
Mechanisms:
CKM_DES_CBC                  
CKM_DES_CBC_PAD              
CKM_DES_ECB                  
CKM_DES_KEY_GEN              
CKM_DES_MAC_GENERAL          
CKM_DES_MAC 
…
CKM_ECDSA                    
CKM_ECDSA_SHA1               
CKM_ECDH1_DERIVE

示例 12-16 查找可用加密机制

策略确定可使用的机制。管理员负责设置策略。管理员可以选择禁用特定提供者的机制。-p 选项显示管理员设置的策略允许的机制列表。

% cryptoadm list -p
User-level providers:
=====================
/usr/lib/security/$ISA/pkcs11_kernel.so: all mechanisms are enabled.random is enabled.
/usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, random is enabled.
/usr/lib/security/$ISA/pkcs11_tpm.so: all mechanisms are enabled.
Kernel providers:
==========================
des: all mechanisms are enabled.
aes: all mechanisms are enabled.
arcfour: all mechanisms are enabled.
blowfish: all mechanisms are enabled.
ecc: all mechanisms are enabled.
sha1: all mechanisms are enabled.
sha2: all mechanisms are enabled.
md4: all mechanisms are enabled.
md5: all mechanisms are enabled.
rsa: all mechanisms are enabled.
swrand: random is enabled.
n2rng/0: all mechanisms are enabled. random is enabled.
ncp/0: all mechanisms are enabled.
n2cp/0: all mechanisms are enabled.

示例 12-17 确定哪些加密机制执行哪些功能

机制执行特定加密功能,如签名或密钥生成。-v -m 选项显示每个机制及其功能。

在本实例中,管理员要确定 CKM_ECDSA* 机制可用于哪些功能。

% cryptoadm list -vm
User-level providers:
=====================
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
Number of slots: 3
Slot #2
Description: ncp/0 Crypto Accel Asym 1.0                                     
...
CKM_ECDSA                    163  571  X  .  .  .  X  .  X  .  .  .  .  .  .  .
...

Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
...
CKM_ECDSA       112 571  .  .  .  .  X  .  X  .  .  .  .  .  .  .  .
CKM_ECDSA_SHA1  112 571  .  .  .  .  X  .  X  .  .  .  .  .  .  .  .
...
Kernel providers:
=================
...
ecc: CKM_EC_KEY_PAIR_GEN,CKM_ECDH1_DERIVE,CKM_ECDSA,CKM_ECDSA_SHA1
...

列表内容表明这些机制可从用户级提供者获得:

条目中的每一项代表机制的一条相关信息。对于这些 ECC 机制,该列表指示以下内容:

如何添加软件提供者

开始之前

您必须是指定有 Crypto Management(加密管理)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限

  1. 列出系统可用的软件提供者。
    % cryptoadm list
    User-level providers:
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    /usr/lib/security/$ISA/pkcs11_tpm.so: all mechanisms are enabled.
    
    Kernel software providers:
        des
        aes
        arcfour
        blowfish
        sha1
        sha2
        md4
        md5
        rsa
        swrand
        n2rng/0
        ncp/0
        n2cp/0
  2. 从系统信息库添加提供者。

    Oracle 已向现有提供者软件颁发证书。

  3. 刷新提供者。

    如果添加了软件提供者或者添加了硬件并为该硬件指定了策略,则需要刷新提供者。

    # svcadm refresh svc:/system/cryptosvc
  4. 在列表中找到新增的提供者。

    在本例中,安装了一个新的内核软件提供者。

    # cryptoadm list 
    …
    Kernel software providers:
        des
        aes
        arcfour
        blowfish
        ecc 
        sha1
        sha2
        md4
        md5
        rsa
        swrand
        sha3 <-- added provider
    …

示例 12-18 添加用户级软件提供者

在下面的示例中,将安装签名的 PKCS #11 库。

# pkgadd -d /cdrom/cdrom0/SolarisNew
Answer the prompts
# svcadm refresh system/cryptosvc
# cryptoadm list
user-level providers:
==========================
    /usr/lib/security/$ISA/pkcs11_kernel.so
    /usr/lib/security/$ISA/pkcs11_softtoken.so
    /usr/lib/security/$ISA/pkcs11_tpm.so
    /opt/lib/$ISA/libpkcs11.so.1 <-- added provider

使用加密框架测试库的开发者可以手动安装该库。

# cryptoadm install provider=/opt/lib/\$ISA/libpkcs11.so.1

如何在 FIPS-140 模式下使用加密框架

缺省情况下,Oracle Solaris 中禁用了 FIPS-140 模式。在此过程中,您将为 FIPS-140 模式创建一个新的引导环境 (boot environment, BE),然后启用 FIPS-140 并引导进入新的 BE。利用该模式,可以从由于 FIPS-140 符合性测试导致的系统崩溃中恢复。有关更多信息,请参见 cryptoadm(1M) 手册页和加密框架和 FIPS-140

开始之前

您必须承担 root 角色。有关更多信息,请参见如何使用指定给您的管理权限

  1. 确定系统是否处于 FIPS-140 模式。
    % cryptoadm list fips-140
    User-level providers:
    =====================
    /usr/lib/security/$ISA/pkcs11_softtoken: FIPS-140 mode is disabled.
    
    Kernel software providers:
    ==========================
    des: FIPS-140 mode is disabled.
    aes: FIPS-140 mode is disabled.
    ecc: FIPS-140 mode is disabled.
    sha1: FIPS-140 mode is disabled.
    sha2: FIPS-140 mode is disabled.
    rsa: FIPS-140 mode is disabled.
    swrand: FIPS-140 mode is disabled.
    
    Kernel hardware providers:
    =========================:
  2. 为加密框架的 FIPS-140 版本创建一个新的 BE。

    在启用 FIPS-140 模式之前,您必须先使用 beadm 命令创建、激活并引导新的 BE。启用了 FIPS 的系统将运行符合性测试,如果这些测试失败,会导致系统崩溃。因此,在调试 FIPS-140 边界问题时,具有可用于引导以启动系统并让系统运行的 BE 很重要。

    1. 基于您当前的 BE 创建 BE。

      在此示例中,您将创建一个名为 S11.1-FIPS 的 BE。

      # beadm create S11.1-FIPS-140
    2. 激活该 BE。
      # beadm activate S11.1-FIPS-140
    3. 重新引导系统。
    4. 在新的 BE 中启用 FIPS-140 模式。
      # cryptoadm enable fips-140

      注 - 此子命令不会禁用用户级 pkcs11_softtoken 库以及内核软件提供器中的未经 FIPS 批准的算法。框架使用者只能使用经 FIPS-140 批准的算法。

      有关 FIPS-140 模式的影响的更多信息,请参见 cryptoadm(1M) 手册页。


  3. 如果希望在不启用 FIPS-140 的情况下运行,请禁用 FIPS-140 模式。

    您可以重新引导至原始 BE 或在当前 BE 中禁用 FIPS-140。

    • 引导至原始 BE。
      # beadm list
      BE               Active Mountpoint Space   Policy Created
      --               ------ ---------- -----   ------ -------
      S11.1            -      -          48.22G   static 2012-10-10 10:10
      S11.1-FIPS-140   NR     /          287.01M  static 2012-11-18 18:18
      # beadm activate S11.1
      # beadm list
      BE               Active Mountpoint Space   Policy Created
      --               ------ ---------- -----   ------ -------
      S11.1            R      -          48.22G   static 2012-10-10 10:10
      S11.1-FIPS-140   N      /          287.01M  static 2012-11-18 18:18
      # reboot
    • 在当前 BE 中禁用 FIPS-140 模式并重新引导。
      # cryptoadm disable fips-140

      FIPS-140 模式将保持运行,直到系统重新引导。

      # reboot

如何禁止使用用户级机制

如果不应使用库提供者的某些加密机制,可以删除这些所选的机制。此过程以 pkcs11_softtoken 库中的 DES 机制为例。

开始之前

您必须是指定有 Crypto Management(加密管理)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限

  1. 列出特定用户级软件提供者提供的机制。
    % cryptoadm list -m provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so
    /usr/lib/security/$ISA/pkcs11_softtoken.so:
    CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN,
    CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN,
    CKM_AES_CBC,CKM_AES_CBC_PAD,CKM_AES_ECB,CKM_AES_KEY_GEN,
    …
  2. 列出可使用的机制。
    $ cryptoadm list -p
    user-level providers:
    =====================
    …
    /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled.
    random is enabled.
    …
  3. 禁用不应使用的机制。
    $ cryptoadm disable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \
    > mechanism=CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB
  4. 列出可使用的机制。
    $ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so
    /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled,
    except CKM_DES_ECB,CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled.

示例 12-19 启用一个用户级软件提供者机制

在下面的示例中,将使禁用的 DES 机制再次可用。

$ cryptoadm list -m provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so
/usr/lib/security/$ISA/pkcs11_softtoken.so:
CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN,
CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN,
…
$ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so
/usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled,
except CKM_DES_ECB,CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled.
$ cryptoadm enable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \
> mechanism=CKM_DES_ECB
$ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so
/usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled,
except CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled.

示例 12-20 启用所有用户级软件提供者机制

在下面的示例中,将启用用户级库的所有机制。

$ cryptoadm enable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so all
$ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so
/usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled.
random is enabled.

示例 12-21 永久禁用用户级软件提供者

在下面的示例中,将删除 libpkcs11.so.1 库。

$ cryptoadm uninstall provider=/opt/lib/\$ISA/libpkcs11.so.1
$ cryptoadm list
user-level providers:
    /usr/lib/security/$ISA/pkcs11_kernel.so
    /usr/lib/security/$ISA/pkcs11_softtoken.so
    /usr/lib/security/$ISA/pkcs11_tpm.so

kernel providers:
…

如何禁止使用内核软件提供者

如果加密框架提供了某个提供者(如 AES)的多种模式,则可以禁用速度较慢的机制或被破坏的机制。此过程以 AES 算法为例。

开始之前

您必须是指定有 Crypto Management(加密管理)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限

  1. 列出特定内核软件提供者提供的机制。
    $ cryptoadm list -m provider=aes
    aes: CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM,CKM_AES_GCM,CKM_AES_GMAC,
    CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
  2. 列出可使用的机制。
    $ cryptoadm list -p provider=aes
    aes: all mechanisms are enabled.
  3. 禁用不应使用的机制。
    $ cryptoadm disable provider=aes mechanism=CKM_AES_ECB
  4. 列出可使用的机制。
    $ cryptoadm list -p provider=aes
    aes: all mechanisms are enabled, except CKM_AES_ECB.

示例 12-22 启用内核软件提供者机制

在下面的示例中,将使禁用的 AES 机制再次可用。

cryptoadm list -m provider=aes
aes: CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM,
CKM_AES_GCM,CKM_AES_GMAC,CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
$ cryptoadm list -p provider=aes
aes: all mechanisms are enabled, except CKM_AES_ECB.
$ cryptoadm enable provider=aes mechanism=CKM_AES_ECB
$ cryptoadm list -p provider=aes
aes: all mechanisms are enabled.

示例 12-23 临时禁用内核软件提供者

在下面的示例中,将临时禁用 AES 提供者。unload 子命令可用于禁止在卸载某个提供者时自动装入该提供者。例如,安装影响提供者的修补程序时,将使用 unload 子命令。

$ cryptoadm unload provider=aes
$ cryptoadm list 
…
Kernel software providers:
    des
    aes (inactive)
    arcfour
    blowfish
    ecc
    sha1
    sha2
    md4
    md5
    rsa
    swrand
    n2rng/0
    ncp/0
    n2cp/0

AES 提供者只有在加密框架刷新之后才会可用。

$ svcadm refresh system/cryptosvc
$ cryptoadm list 
…
Kernel software providers:
    des
    aes
    arcfour
    blowfish
    ecc
    sha1
    sha2
    md4
    md5
    rsa
    swrand
    n2rng/0
    ncp/0
    n2cp/0

如果内核使用者正在使用内核软件提供者,则不会卸载该软件。此时将显示错误消息,不过该提供者仍然可供使用。

示例 12-24 永久禁用软件提供者

在下面的示例中,将禁用 AES 提供者。禁用后,该 AES 提供者将不会出现在内核软件提供者的策略列表中。

$ cryptoadm uninstall provider=aes
$ cryptoadm list 
…
Kernel software providers:
    des
    arcfour
    blowfish
    ecc
    sha1
    sha2
    md4
    md5
    rsa
    swrand
    n2rng/0
    ncp/0
    n2cp/0

如果内核使用者正在使用内核软件提供者,将显示一条错误消息,不过该提供者仍然可供使用。

示例 12-25 重新安装已删除的内核软件提供者

在下面的示例中,将重新安装 AES 内核软件提供者。

$ cryptoadm install provider=aes \
mechanism=CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM,
CKM_AES_GCM,CKM_AES_GMAC,CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
$ cryptoadm list 
…
Kernel software providers:
    des
    aes
    arcfour
    blowfish
    ecc
    sha1
    sha2
    md4
    md5
    rsa
    swrand
    n2rng/0
    ncp/0
    n2cp/0

如何列出硬件提供者

硬件提供者将自动定位和装入。有关更多信息,请参见 driver.conf(4) 手册页。

开始之前

如果您的硬件预计会在加密框架中使用,该硬件将通过 SPI 在内核中注册。框架将检查是否已对硬件驱动程序签名。具体地说,框架将检查是否已使用 Oracle 颁发的证书对驱动程序的目标文件进行签名。

例如,Sun Crypto Accelerator 6000 板 (mca)、UltraSPARC T1 和 T2 处理器上加密加速器的 ncp 驱动程序 (ncp) 以及 UltraSPARC T2 处理器的 n2cp 驱动程序 (n2cp) 将硬件机制插入到框架中。

有关对提供者进行签名的信息,请参见第三方软件的二进制文件签名

  1. 列出系统上可用的硬件提供者。
    % cryptoadm list
    … 
    kernel hardware providers:
       ncp/0
  2. 列出芯片或板提供的机制。
    % cryptoadm list -m provider=ncp/0
    ncp/0:
    CKM_DSA
    CKM_RSA_X_509
    ...
    CKM_ECDH1_DERIVE
    CKM_ECDSA
  3. 列出芯片或板上可用的机制。
    % cryptoadm list -p provider=ncp/0
    ncp/0: all mechanisms are enabled.

如何禁用硬件提供者机制和功能

可以有选择地禁用硬件提供者的机制和随机数功能。有关重新启用它们的信息,请参见示例 12-26。此示例中的硬件 Sun Crypto Accelerator 1000 板提供了一个随机数生成器。

开始之前

您必须是指定有 Crypto Management(加密管理)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限

示例 12-26 启用硬件提供者的机制和功能

在下面的示例中,将有选择地启用单个硬件的已禁用机制。

# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled except CKM_DES_ECB,CKM_DES3_ECB
.
random is enabled.
# cryptoadm enable provider=dca/0 mechanism=CKM_DES3_ECB
# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled except CKM_DES_ECB. 
random is enabled.

在下面的示例中,将仅启用随机数生成器。

# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. 
random is disabled.
# cryptoadm enable provider=dca/0 random
# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,….
random is enabled.

在下面的示例中,将仅启用机制。随机数生成器将继续处于禁用状态。

# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,….
random is disabled.
# cryptoadm enable provider=dca/0 mechanism=all
# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled. random is disabled.

在下面的示例中,将启用板上的所有功能和机制。

# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES3_ECB.
random is disabled.
# cryptoadm enable provider=dca/0 all
# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled. random is enabled.

如何刷新或重新启动所有加密服务

缺省情况下,将启用加密框架。无论 kcfd 守护进程因何种原因失败,都可使用服务管理工具 (Service Management Facility, SMF) 重新启动加密服务。有关更多信息,请参见 smf(5)svcadm(1M) 手册页。有关重新启动加密服务对区域的影响,请参见加密服务和区域

开始之前

您必须是指定有 Crypto Management(加密管理)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限

  1. 检查加密服务的状态。
    % svcs cryptosvc
     STATE          STIME    FMRI
    offline         Dec_09   svc:/system/cryptosvc:default
  2. 启用加密服务。
    # svcadm enable svc:/system/cryptosvc

示例 12-27 刷新加密服务

在下面的示例中,将在全局区域中刷新加密服务。因此,每个非全局区域中的内核级加密策略也将被刷新。

# svcadm refresh system/cryptosvc