001/* 002 * oauth2-oidc-sdk 003 * 004 * Copyright 2012-2016, Connect2id Ltd and contributors. 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use 007 * this file except in compliance with the License. You may obtain a copy of the 008 * License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software distributed 013 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 014 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 015 * specific language governing permissions and limitations under the License. 016 */ 017 018package com.nimbusds.openid.connect.sdk.assurance; 019 020 021import net.jcip.annotations.Immutable; 022 023import com.nimbusds.oauth2.sdk.id.Identifier; 024 025 026/** 027 * Identity trust framework identifiers. 028 * 029 * <p>Related specifications: 030 * 031 * <ul> 032 * <li>OpenID Connect for Identity Assurance 1.0, section 5.1. 033 * </ul> 034 */ 035@Immutable 036public final class IdentityTrustFramework extends Identifier { 037 038 039 private static final long serialVersionUID = 378614456182831323L; 040 041 042 /** 043 * The OP verifies and maintains user identities in conformance with 044 * the German Anti-Money Laundering Law. 045 */ 046 public static final IdentityTrustFramework DE_AML = new IdentityTrustFramework("de_aml"); 047 048 049 /** 050 * The OP is able to attest user identities in accordance with the EU 051 * regulation No 910/2014 (eIDAS). 052 */ 053 public static final IdentityTrustFramework EIDAS = new IdentityTrustFramework("eidas"); 054 055 056 /** 057 * The OP is able to attest user identities in accordance with the EU 058 * regulation No 910/2014 (eIDAS) at the identification assurance 059 * level "Substantial". 060 */ 061 @Deprecated 062 public static final IdentityTrustFramework EIDAS_IAL_SUBSTANTIAL = new IdentityTrustFramework("eidas_ial_substantial"); 063 064 065 /** 066 * The OP is able to attest user identities in accordance with the EU 067 * regulation No 910/2014 (eIDAS) at the identification assurance 068 * level "High". 069 */ 070 @Deprecated 071 public static final IdentityTrustFramework EIDAS_IAL_HIGH = new IdentityTrustFramework("eidas_ial_high"); 072 073 074 /** 075 * The OP is able to attest user identities in accordance with the NIST 076 * Special Publication 800-63A. 077 */ 078 public static final IdentityTrustFramework NIST_800_63A = new IdentityTrustFramework("nist_800_63A"); 079 080 081 /** 082 * The OP is able to attest user identities in accordance with the NIST 083 * Special Publication 800-63A at the Identity Assurance Level 2. 084 */ 085 @Deprecated 086 public static final IdentityTrustFramework NIST_800_63A_IAL_2 = new IdentityTrustFramework("nist_800_63A_ial_2"); 087 088 089 /** 090 * The OP is able to attest user identities in accordance with the NIST 091 * Special Publication 800-63A at the Identity Assurance Level 3. 092 */ 093 @Deprecated 094 public static final IdentityTrustFramework NIST_800_63A_IAL_3 = new IdentityTrustFramework("nist_800_63A_ial_3"); 095 096 097 /** 098 * The OP verifies and maintains user identities in conformance with 099 * the Japanese Act on Prevention of Transfer of Criminal Proceeds. 100 */ 101 public static final IdentityTrustFramework JP_AML = new IdentityTrustFramework("jp_aml"); 102 103 104 /** 105 * The OP verifies and maintains user identities in conformance with 106 * the Japanese Act for Identification, etc. by Mobile Voice 107 * Communications Carriers of Their Subscribers, etc. and for 108 * Prevention of Improper Use of Mobile Voice Communications Services. 109 */ 110 public static final IdentityTrustFramework JP_MPIUPA = new IdentityTrustFramework("jp_mpiupa"); 111 112 113 /** 114 * The OP verifies and maintains user identities in conformance with 115 * the Czech Anti-Money Laundering Law. 116 */ 117 public static final IdentityTrustFramework CZ_AML = new IdentityTrustFramework("cz_aml"); 118 119 120 /** 121 * The OP verifies and maintains user identities in conforms with the 122 * German Telecommunications Law (here ยง111). 123 */ 124 public static final IdentityTrustFramework DE_TKG111 = new IdentityTrustFramework("de_tkg111"); 125 126 127 /** 128 * The OP verifies and maintains user identities in conformance with 129 * the Belgian law on electronic identification. 130 */ 131 public static final IdentityTrustFramework BE_ITSME = new IdentityTrustFramework("be_itsme"); 132 133 134 /** 135 * The OP verifies and maintains user identities in conformance with 136 * the requirements of the Swedish e-ID. 137 */ 138 public static final IdentityTrustFramework SE_BANKID = new IdentityTrustFramework("se_bankid"); 139 140 141 /** 142 * The OP is accredited by the Agency for Digital Italy as an identity 143 * provider in the Public Digital Identity System (SPID). 144 */ 145 public static final IdentityTrustFramework IT_SPID = new IdentityTrustFramework("it_spid"); 146 147 148 /** 149 * The OP is accredited as an identity provider in the Dutch Trust 150 * Framework for Electronic Identification. 151 */ 152 public static final IdentityTrustFramework NL_EHERKENNING = new IdentityTrustFramework("nl_eHerkenning"); 153 154 155 /** 156 * The OP is certified as an identity service provider in the UK trust 157 * framework for digital identity and attributes. 158 */ 159 public static final IdentityTrustFramework UK_TFIDA = new IdentityTrustFramework("uk_tfida"); 160 161 162 /** 163 * The OP is accredited as an identity service provider under the AU 164 * Trusted Digital Identity Framework. 165 */ 166 public static final IdentityTrustFramework AU_TDIF = new IdentityTrustFramework("au_tdif"); 167 168 169 /** 170 * Creates a new identity trust framework. 171 * 172 * @param value The identity trust framework value. Must not be 173 * {@code null}. 174 */ 175 public IdentityTrustFramework(final String value) { 176 super(value); 177 } 178 179 180 @Override 181 public boolean equals(final Object object) { 182 183 return object instanceof IdentityTrustFramework && 184 this.toString().equals(object.toString()); 185 } 186}