Module  java.base
软件包  java.security

Class IdentityScope

  • All Implemented Interfaces:
    SerializablePrincipal

    已过时。
    此类不再使用。 其功能已被java.security.KeyStore替代, java.security.cert包,以及java.security.Principal

    @Deprecated(since="1.2")
    public abstract class IdentityScope
    extends Identity

    这个类代表身份的范围。 它是一个身份本身,因此有一个名字,可以有一个范围。 它还可以选择具有公钥和相关证书。

    IdentityScope可以包含各种身份对象,包括签名者。 可以使用相同的方法检索,添加和删除所有类型的Identity对象。 请注意,实际上可以预期,不同类型的身份范围将针对各种类型的身份对其各种操作应用不同的策略。

    密钥和身份之间存在一对一的映射,每个范围只能有一个密钥副本。 例如,假设Acme Software,Inc是用户已知的软件发行商。 假设它是一个身份,也就是它有一个公钥和一组关联的证书。 它在范围中使用名称“Acme Software”命名。 范围中没有其他命名的身份具有相同的公钥。 当然,没有一个也有同样的名字。

    从以下版本开始:
    1.1
    另请参见:
    IdentitySignerPrincipalKeySerialized Form
    • 构造方法详细信息

      • IdentityScope

        protected IdentityScope​()
        已过时。
        此构造函数仅用于序列化,不应由子类使用。
      • IdentityScope

        public IdentityScope​(String name)
        已过时。
        构造具有指定名称的新的身份范围。
        参数
        name - 范围名称。
      • IdentityScope

        public IdentityScope​(String name,
                             IdentityScope scope)
                      throws KeyManagementException
        已过时。
        构造具有指定名称和范围的新的身份范围。
        参数
        name - 范围名称。
        scope - 新身份范围的范围。
        异常
        KeyManagementException - 如果范围中已经存在同名的身份。
    • 方法详细信息

      • setSystemScope

        protected static void setSystemScope​(IdentityScope scope)
        已过时。
        设置系统的身份范围。

        首先,如果有一个安全管理器,它的checkSecurityAccess方法将以"setSystemScope"作为参数来调用,以确定是否可以设置身份范围。

        参数
        scope - 设置的范围。
        异常
        SecurityException - 如果存在安全管理员,并且其 checkSecurityAccess方法不允许设置身份范围。
        另请参见:
        getSystemScope()SecurityManager.checkSecurityAccess(java.lang.String)
      • size

        public abstract int size​()
        已过时。
        返回此身份范围内的身份数。
        结果
        该身份范围内的身份数量。
      • getIdentity

        public abstract Identity getIdentity​(String name)
        已过时。
        以指定的名称(如果有)返回此范围中的身份。
        参数
        name - 要检索的身份的名称。
        结果
        名称为 name的身份,如果此范围中没有名为 name的身份, name null。
      • getIdentity

        public Identity getIdentity​(Principal principal)
        已过时。
        检索其名称与指定的主体相同的身份。 (注:身份实现主体。)
        参数
        principal - 与要检索的身份相对应的主体。
        结果
        名称与委托人名称相同的身份,如果在此范围内没有同名的身份,则为null。
      • getIdentity

        public abstract Identity getIdentity​(PublicKey key)
        已过时。
        使用指定的公钥检索身份。
        参数
        key - 要返回的身份的公钥。
        结果
        使用给定键的身份,如果此范围中没有该密钥的身份,则为null。
      • addIdentity

        public abstract void addIdentity​(Identity identity)
                                  throws KeyManagementException
        已过时。
        向此身份范围添加身份。
        参数
        identity - 要添加的身份。
        异常
        KeyManagementException - 如果身份无效,则会发生名称冲突,另一个身份具有与添加的身份相同的公钥,或发生另一个异常。
      • removeIdentity

        public abstract void removeIdentity​(Identity identity)
                                     throws KeyManagementException
        已过时。
        从此身份范围中删除身份。
        参数
        identity - 要删除的身份
        异常
        KeyManagementException - 如果身份丢失或发生另一个异常。
      • identities

        public abstract Enumeration<Identity> identities​()
        已过时。
        返回此身份范围内所有身份的枚举。
        结果
        在此身份范围内列举所有身份。