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, sections 4.1.1 and 11.1. 033 * </ul> 034 */ 035@Immutable 036public final class IdentityTrustFramework extends Identifier { 037 038 039 /** 040 * The OP verifies and maintains user identities in conforms with the 041 * German Anti-Money Laundering Law. 042 */ 043 public static final IdentityTrustFramework DE_AML = new IdentityTrustFramework("de_aml"); 044 045 046 /** 047 * The OP is able to attest user identities in accordance with the EU 048 * regulation No 910/2014 (eIDAS) at the identification assurance 049 * level "Substantial". 050 */ 051 public static final IdentityTrustFramework EIDAS_IAL_SUBSTANTIAL = new IdentityTrustFramework("eidas_ial_substantial"); 052 053 054 /** 055 * The OP is able to attest user identities in accordance with the EU 056 * regulation No 910/2014 (eIDAS) at the identification assurance 057 * level "High". 058 */ 059 public static final IdentityTrustFramework EIDAS_IAL_HIGH = new IdentityTrustFramework("eidas_ial_high"); 060 061 062 /** 063 * The OP is able to attest user identities in accordance with the NIST 064 * Special Publication 800-63A at the Identity Assurance Level 2. 065 */ 066 public static final IdentityTrustFramework NIST_800_63A_IAL_2 = new IdentityTrustFramework("nist_800_63A_ial_2"); 067 068 069 /** 070 * The OP is able to attest user identities in accordance with the NIST 071 * Special Publication 800-63A at the Identity Assurance Level 3. 072 */ 073 public static final IdentityTrustFramework NIST_800_63A_IAL_3 = new IdentityTrustFramework("nist_800_63A_ial_3"); 074 075 076 /** 077 * The OP verifies and maintains user identities in conforms with the 078 * Japanese Act on Prevention of Transfer of Criminal Proceeds. 079 */ 080 public static final IdentityTrustFramework JP_AML = new IdentityTrustFramework("jp_aml"); 081 082 083 /** 084 * The OP verifies and maintains user identities in conformance with 085 * the Japanese Act for Identification, etc. by Mobile Voice 086 * Communications Carriers of Their Subscribers, etc. and for 087 * Prevention of Improper Use of Mobile Voice Communications Services. 088 */ 089 public static final IdentityTrustFramework JP_MPIUPA = new IdentityTrustFramework("jp_mpiupa"); 090 091 092 /** 093 * Creates a new identity trust framework. 094 * 095 * @param value The identity trust framework value. Must not be 096 * {@code null}. 097 */ 098 public IdentityTrustFramework(final String value) { 099 super(value); 100 } 101 102 103 @Override 104 public boolean equals(final Object object) { 105 106 return object instanceof IdentityTrustFramework && 107 this.toString().equals(object.toString()); 108 } 109}