系统管理指南:安全性服务

Procedure如何禁止使用用户级机制

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

  1. 成为超级用户或承担包括加密管理权限配置文件的角色。

    要创建包括加密管理权限配置文件的角色并将该角色指定给用户,请参见示例 9–7

  2. 列出特定用户级软件提供器提供的机制。


    % 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,
    
    …
  3. 列出可用的机制。


    $ cryptoadm list -p
    
    user-level providers:
    
    =====================
    
    …
    
    /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled.
    
    random is enabled.
    
    …
  4. 禁用无法使用的机制。


    $ cryptoadm disable provider=/usr/lib/security/'$ISA'/pkcs11_softtoken.so \
    
    > mechanism=CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB
    
  5. 列出可使用的机制。


    $ 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.

示例 14–17 启用用户级软件提供器机制

在以下示例中,将使禁用的 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.


示例 14–18 启用所有用户级软件提供器机制

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


$ 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.


示例 14–19 永久删除用户级软件提供器可用性

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


$ cryptoadm uninstall provider=/opt/SUNWconn/lib/'$ISA'/libpkcs11.so.1

$ cryptoadm list

user-level providers:

    /usr/lib/security/$ISA/pkcs11_kernel.so

    /usr/lib/security/$ISA/pkcs11_softtoken.so



kernel software providers:

…