Module  java.base
软件包  java.security

Class Identity

  • All Implemented Interfaces:
    SerializablePrincipal
    已知直接子类:
    IdentityScopeSigner

    已过时。
    此类不再使用。 它的功能已经被替换为java.security.KeyStore ,该java.security.cert包, java.security.Principal

    @Deprecated(since="1.2")
    public abstract class Identity
    extends Object
    implements Principal, Serializable

    该类表示身份:真实世界的对象,例如人,公司或组织,其身份可以使用其公钥进行身份验证。 身份也可能是更抽象(或具体)的构造,例如守护进程线程或智能卡。

    所有Identity对象都有一个名称和一个公钥。 名字是不可变的 身份也可以是范围。 也就是说,如果一个身份被指定为具有一个特定的范围,则该身份的名称和公钥在该范围内是唯一的。

    身份证件还有一套证书(都证明自己的公钥)。 这些证书中指定的主体名称不一定相同,只是键。

    身份可以被子类化,包括邮政地址和电子邮件地址,电话号码,面孔和徽标的图像等等。

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

      • Identity

        protected Identity​()
        已过时。
        仅用于序列化的构造方法。
      • Identity

        public Identity​(String name)
        已过时。
        构造一个具有指定名称的标识符,而不指定范围。
        参数
        name - 身份名称。
    • 方法详细信息

      • getName

        public final String getName​()
        已过时。
        返回此身份的名称。
        Specified by:
        getName在接口 Principal
        结果
        这个身份的名字。
      • getScope

        public final IdentityScope getScope​()
        已过时。
        返回此身份的范围。
        结果
        这个身份的范围。
      • setPublicKey

        public void setPublicKey​(PublicKey key)
                          throws KeyManagementException
        已过时。
        设置此身份的公钥。 旧密钥和所有这些身份的证书将通过此操作删除。

        首先,如果有一个安全管理器,它的checkSecurityAccess方法是以"setIdentityPublicKey"作为参数来调用,以查看是否可以设置公钥。

        参数
        key - 这个身份的公钥。
        异常
        KeyManagementException - 如果身份范围中的另一个身份具有相同的公钥,或者是否发生另一个异常。
        SecurityException - 如果存在安全管理员,并且其 checkSecurityAccess方法不允许设置公钥。
        另请参见:
        getPublicKey()SecurityManager.checkSecurityAccess(java.lang.String)
      • setInfo

        public void setInfo​(String info)
        已过时。
        指定此标识的常规信息字符串。

        首先,如果有一个安全管理器,它的checkSecurityAccess方法被调用,其中"setIdentityInfo"作为参数来查看是否可以指定信息字符串。

        参数
        info - 信息字符串。
        异常
        SecurityException - 如果存在安全管理员,并且其 checkSecurityAccess方法不允许设置信息字符串。
        另请参见:
        getInfo()SecurityManager.checkSecurityAccess(java.lang.String)
      • getInfo

        public String getInfo​()
        已过时。
        返回先前为此标识指定的一般信息。
        结果
        关于这个身份的一般信息。
        另请参见:
        setInfo(java.lang.String)
      • addCertificate

        public void addCertificate​(Certificate certificate)
                            throws KeyManagementException
        已过时。
        为此身份添加证书。 如果身份具有公钥,证书中的公钥必须相同,如果身份不具有公钥,则该身份的公钥设置为证书中指定的公钥。

        首先,如果有一个安全管理器,它的checkSecurityAccess方法将以"addIdentityCertificate"作为参数来调用,以查看是否可以添加一个证书。

        参数
        certificate - 要添加的证书。
        异常
        KeyManagementException - 如果证书无效,则添加的证书中的公钥与此标识的公钥冲突,或者是否发生另一个异常。
        SecurityException - 如果存在安全管理员,并且其 checkSecurityAccess方法不允许添加证书。
        另请参见:
        SecurityManager.checkSecurityAccess(java.lang.String)
      • removeCertificate

        public void removeCertificate​(Certificate certificate)
                               throws KeyManagementException
        已过时。
        从此身份中删除证书。

        首先,如果有一个安全管理器,它的checkSecurityAccess方法将以"removeIdentityCertificate"作为参数来调用,以查看是否可以删除证书。

        参数
        certificate - 要删除的证书。
        异常
        KeyManagementException - 如果证书丢失,或者是否发生另一个异常。
        SecurityException - 如果存在安全管理员,并且其 checkSecurityAccess方法不允许删除证书。
        另请参见:
        SecurityManager.checkSecurityAccess(java.lang.String)
      • certificates

        public Certificate[] certificates​()
        已过时。
        返回此身份的所有证书的副本。
        结果
        该身份的所有证书的副本。
      • equals

        public final boolean equals​(Object identity)
        已过时。
        测试指定对象与此身份之间的相等性。 这首先测试一下实体是否实际引用同一个对象,在这种情况下,它返回true。 接下来,它检查实体是否具有相同的名称和相同的范围。 如果这样做,该方法返回true。 否则,它调用identityEquals ,哪些子类应该覆盖。
        Specified by:
        equals在接口 Principal
        重写:
        equalsObject
        参数
        identity - 测试与此身份相等的对象。
        结果
        如果对象被视为相等,则为true,否则为false。
        另请参见:
        identityEquals(java.security.Identity)
      • identityEquals

        protected boolean identityEquals​(Identity identity)
        已过时。
        测试指定身份与此身份之间的相等性。 这个方法应该被子类覆盖以测试相等性。 如果名称和公钥相等,则默认行为为true。
        参数
        identity - 用于测试与此身份相等的身份。
        结果
        如果身份认为相等,则为真,否则为false。
        另请参见:
        equals(java.lang.Object)
      • toString

        public String toString​()
        已过时。
        返回一个描述此身份的短字符串,告诉其名称及其范围(如果有)。

        首先,如果有一个安全管理器,它的checkSecurityAccess方法将以"printIdentity"作为参数来调用,以查看是否可以返回该字符串。

        Specified by:
        toString在接口 Principal
        重写:
        toStringObject
        结果
        有关此身份的信息,例如其名称及其范围的名称(如果有)。
        异常
        SecurityException - 如果存在安全管理员,并且其 checkSecurityAccess方法不允许返回描述此身份的字符串。
        另请参见:
        SecurityManager.checkSecurityAccess(java.lang.String)
      • toString

        public String toString​(boolean detailed)
        已过时。
        返回此标识的字符串表示形式,可选择更多的细节,不包括没有任何参数的toString方法。

        首先,如果有一个安全管理器,它的checkSecurityAccess方法将以"printIdentity"作为参数来调用,以查看是否可以返回该字符串。

        参数
        detailed - 是否提供详细信息。
        结果
        关于这个身份的信息。 如果detailed为true,则该方法返回的信息多于toString方法提供的信息,而不包含任何参数。
        异常
        SecurityException - 如果存在安全管理员,并且其 checkSecurityAccess方法不允许返回描述此身份的字符串。
        另请参见:
        toString()SecurityManager.checkSecurityAccess(java.lang.String)