interface OnStatusChangedListener | |||||||
VPN状态改变监听接口 | |||||||
名称 | onStatusCallback | ||||||
功能 | vpn状态回调接口 | ||||||
参数 | 参数名 | 类型 | 方向 | 说明 | |||
vpnStatus | IConstants.VPNStatus | IN | vpn状态:包含在线、重连中、离线状态 | ||||
reason | StatusChangedReason | IN | vpn状态改变原因封装类 | ||||
interface LoginResultListener | |||||||
VPN登录结果回调 | |||||||
名称 | onLoginFailed | ||||||
功能 | 登录失败结果回调,VPN初始化和认证过程失败都会调用该接口 | ||||||
参数 | 参数名 | 类型 | 方向 | 说明 | |||
errorCode | ErrorCode | IN | 错误码 | ||||
errorStr | String | IN | 失败描述 | ||||
名称 | onLoginProcess | ||||||
功能 | 登录认证进行中回调接口,组合认证中必须实现该接口进行后续认证过程 | ||||||
参数 | 参数名 | 类型 | 方向 | 说明 | |||
nextAuthType | IConstants | IN | nextAuthType为IConstants中的 AUTH_TYPE_PASSWORD: 密码认证 AUTH_TYPE_SMS: 短信认证 AUTH_TYPE_RADIUS: 挑战认证 AUTH_TYPE_CERTIFICATE: 证书认证 AUTH_TYPE_TOKEN: 令牌认证 AUTH_TYPE_RAND_CODE: 图形校验码 AUTH_TYPE_RENEW_PASSWORD: 强制更新密码 AUTH_TYPE_RENEW_PASSWORD_WITH_OLDPASSWORD: 强制更新密码 |
||||
message | BaseMessage | IN | 下一次认证附带的信息 | ||||
名称 | onLoginSuccess | ||||||
功能 | 登录成功结果回调,所有认证过程完成 | ||||||
interface RandCodeListener | |||||||
展示图形校验码的回调接口 | |||||||
名称 | onShowRandCode | ||||||
功能 | 自定义该方法,根据返回的Drawable对象,采用自定义的方式展示图形校验码 | ||||||
参数 | 参数名 | 类型 | 方向 | 说明 | |||
drawable | Drawable | IN | 服务端返回的图形校验码 | ||||
class ChangePasswordResult | |||||||
主动修改密码返回结果封装类 | |||||||
名称 | isSuccess | ||||||
功能 | 获取密码修改结果 | ||||||
返回值 | 类型 | boolean | 说明 | true->修改成功 false->修改失败 | |||
名称 | getResultStr | ||||||
功能 | 获取密码修改结果 | ||||||
返回值 | 类型 | String | 说明 | 密码修改失败时,返回相应提示字符串 | |||
class BaseMessage | |||||||
认证信息的基础类 | |||||||
名称 | getErrorCode | ||||||
功能 | vpn状态回调接口 | ||||||
返回值 | 类型 | ErrorCode | 说明 | 错误码,枚举类型 | |||
名称 | getErrorStr | ||||||
功能 | 获取错误提示信息 | ||||||
返回值 | 类型 | String | 说明 | 错误提示信息 | |||
class ChallengeMessage | |||||||
挑战认证(Radius认证)返回信息封装类 | |||||||
名称 | getChallengeMsg | ||||||
功能 | 获取挑战认证的提示信息 | ||||||
返回值 | 类型 | String | 说明 | 挑战认证的提示信息 | |||
class SmsMessage | |||||||
短信认证返回信息封装类 | |||||||
名称 | getPolicyMsg | ||||||
功能 | 获取修改密码时的密码策略 | ||||||
返回值 | 类型 | String | 说明 | 密码规则信息 | |||
class ChangePswMessage | |||||||
强制修改密码返回信息封装类 | |||||||
名称 | getPhoneNum | ||||||
功能 | 获取短信认证的手机号码 | ||||||
返回值 | 类型 | String | 说明 | 手机号码 | |||
名称 | getCountDown | ||||||
功能 | 获取重新发送短信倒计时时间 | ||||||
返回值 | 类型 | int | 说明 | 短信倒计时时间 | |||
名称 | isStillValid | ||||||
功能 | 次发送的短信验证码是否在有效期 | ||||||
返回值 | 类型 | boolean | 说明 | 短信验证码是否在有效期 | |||
class StatusChangedReason | |||||||
状态变化原因封装类 | |||||||
名称 | getReasonCode | ||||||
功能 | 获取状态变化原因码,参看{@link ReasonCode} | ||||||
返回值 | 类型 | ReasonCode | 说明 | 状态变化原因码,暂时只有ReasonCode.OTHER | |||
名称 | getReasonDes | ||||||
功能 | 取状态变化原因描述 | ||||||
返回值 | 类型 | ReasonCode | 说明 | 状态变化原因描述 | |||
interface IConstants | |||||||
登录过程错误码 | |||||||
常量码 | 常量值 | 错误描述 | |||||
1 | VPNMode.EASYAPP | VPN模式为EASYAPP模式 支持协议:TCP 稳定性:好 兼容性:全支持 VPN作用范围:只控制封装的应用,访问的IP如果是VPN服务器端配置的内网资源,就走vpn访问。访问的不是配置的资源IP,就会走系统的流程(跟vpn无关) 多账号:同一台设备可以多个APP使用EasyApp模块,并且支持不同App登陆不同VPN |
|||||
2 | VPNMode.L3VPN | VPN模式为L3VPN模式 支持协议:TCP、UDP、ICMP 稳定性:优 兼容性:不支持Android4.0以下系统 VPN作用范围:针对整个手机,手机上所有应用都能访问资源, Android5.0以上支持VPN黑白名单,可以设置哪些应用可以访问VPN,哪些应用不允许访问VPN 多账号:同一台设备只能有一个APP使用L3vpn模块,所以只能用一个账号登陆一个VPN |
|||||
1 | DeviceLanguage.CHINESE | 信息提示的语言,中文 | |||||
2 | DeviceLanguage.ENGLISH | 信息提示的语言,英文 | |||||
1 | LogLevel.INFO | 日志等级:信息 | |||||
2 | LogLevel.WARN | 日志等级:警告 | |||||
3 | LogLevel.ERROR | 日志等级:错误 | |||||
1 | VPNStatus.VPNOFFLINE | vpn状态:离线 | |||||
2 | VPNStatus.VPNRECONNECTED | vpn状态:重连中 | |||||
3 | VPNStatus.VPNONLINE | vpn状态:在线 | |||||
-1000 | AUTH_TYPE_INIT | 初始化认证 | |||||
-1 | AUTH_TYPE_FAIL | 认证失败 | |||||
0 | AUTH_TYPE_CERTIFICATE | 证书认证 | |||||
1 | AUTH_TYPE_PASSWORD | 用户密码认证 | |||||
2 | AUTH_TYPE_SMS | 短信认证 | |||||
3 | AUTH_TYPE_SMS1 | 重新获取短信认证,同{@link #AUTH_TYPE_REACQUIRE_SMS} | |||||
3 | AUTH_TYPE_REACQUIRE_SMS | 重新获取短信认证 | |||||
4 | AUTH_TYPE_HARDID | 硬件特征码认证(具体根据服务器端配置决定走收集还是认证流程) | |||||
6 | AUTH_TYPE_RADIUS | RADIUS挑战认证 | |||||
7 | AUTH_TYPE_TOKEN | 令牌认证 | |||||
8 | AUTH_TYPE_HARDID_AUTH | 硬件特征码认证 | |||||
9 | AUTH_TYPE_HARDID_COLLECT | 硬件特征码收集 | |||||
10 | AUTH_AUTHORIZATION | 授权认证 | |||||
11 | AUTH_TYPE_CODE | 钉钉专用code认证 | |||||
16 | AUTH_TYPE_TWFID | TWF认证,同{@link #AUTH_TYPE_SESSION} | |||||
16 | AUTH_TYPE_SESSION | SESSION认证,同{@link #AUTH_TYPE_TWFID} | |||||
17 | AUTH_TYPE_NONE | 无认证 | 认证结束 | |||||
18 | AUTH_TYPE_RENEW_PASSWORD | 强制修改密码认证 | |||||
20 | AUTH_TYPE_RENEW_PASSWORD_WITH_OLDPASSWORD | 强制修改密码认证,需要携带旧密码,处理之前没有输入密码的情况 | |||||
22 | AUTH_TYPE_RAND_CODE | 图形校验码+用户密码认证 | |||||
1<<11 | AUTH_TYPE_TICKET | 免密认证 | |||||
enum com.sangfor.ssl.common.ErrorCode | |||||||
登录过程错误码 | |||||||
错误码 | 常量值 | 错误描述 | |||||
1000 | SF_ERROR_NONE | 登录成功 | |||||
1001 | SF_ERROR_SERVER_BUSY | 操作失败,可能服务器太忙 | |||||
1002 | SF_ERROR_TIME_DENY | 非允许时间段,禁止登录 | |||||
1003 | SF_ERROR_AUTH_TYPE_DISABLE | 未启用此认证,访问被拒绝 | |||||
1004 | SF_ERROR_NOT_SAME_USER | 登录失败,前一认证与当前认证非同一用户 | |||||
1005 | SF_ERROR_AUTH_COMBINATION_INVALID | 不支持此种认证组合方式 | |||||
1006 | SF_ERROR_LICENSED_USER_LIMIT | 系统已到达最大授权用户限制 | |||||
1007 | SF_ERROR_GROUP_USER_LIMIT | 您所在用户组已达到最大在线用户限制 | |||||
1008 | SF_ERROR_ACCOUNT_LOCKED | 用户尝试暴破登录,已被系统锁定 | |||||
1009 | SF_ERROR_IP_LOCKED | ip地址尝试暴破登录,已被系统锁定 | |||||
1010 | SF_ERROR_IP_NEED_WORD_VERIFICATION | ip地址尝试暴破登录,启用图形校验码 | |||||
1101 | SF_ERROR_PASSWOR_INVALID | 用户名或者密码错误 | |||||
1102 | SF_ERROR_USER_EXPIRE | 用户已过期 | |||||
1103 | SF_ERROR_USER_DISABLE | 用户被禁用 | |||||
1104 | SF_ERROR_USER_TIMEOUT | 用户已超时或注销 | |||||
1105 | SF_ERROR_CHARACTERS_INCORRECT | 校验码错误或校验码已过期 | |||||
1106 | SF_ERROR_USER_NEED_WORD_VERIFICATION | 用户名或密码错误,启用图形校验码 | |||||
1201 | SF_ERROR_CERTIFICATE_INVALID | 证书不合法 | |||||
1202 | SF_ERROR_CERTIFICATE_AUTH_DISABLE | 证书认证被禁用 | |||||
1203 | SF_ERROR_CERTIFICATE_REVOKED | 证书已经被撤消 | |||||
1204 | SF_ERROR_CERTIFICATE_CODE_ERR | 证书编码设置有误,请联系管理员 | |||||
1205 | SF_ERROR_CERTIFICATE_SIGN_INVALID | 证书签名无效 | |||||
1206 | SF_ERROR_CERTIFICATE_NOT_EFFECT | 证书还未生效 | |||||
1207 | SF_ERROR_CERTIFICATE_EXPIRE | 证书已经过期 | |||||
1301 | SF_ERROR_TICKET_MOBID_INVALID | 免密认证无效的手机ID | |||||
1302 | SF_ERROR_TICKET_CODEID_INVALID | 免密认证无效的code | |||||
1303 | SF_ERROR_TICKET_PASS_CLOSE | 免密认证功能未开启 | |||||
1304 | SF_ERROR_TICKET_UNKOWN | 未知错误 | |||||
1401 | SF_ERROR_SEND_SMS_MESSAGE | 发送短信失败 | |||||
1402 | SF_ERROR_SMS_PASSWORD_INVALID | 短信验证码错误 | |||||
1403 | SF_ERROR_NOT_SET_PHONE_NUMBER | 用户未设置手机号码,无法进行短信认证 | |||||
1404 | SF_ERROR_PHONE_NUMBER_INCORRECT | 提交的手机号码错误,无法进行短信认证 | |||||
1501 | SF_ERROR_EMM_NOT_AUTHORZATION | EMM授权不通过,请联系管理员更新授权 | |||||
1502 | SF_ERROR_EMM_DEVICE_LIMIT | EMM授权达到最大数 | |||||
1503 | SF_ERROR_EMM_DEVICE_FROZEN | EMM授权被冻结 | |||||
1504 | SF_ERROR_EMM_FAILED | EMM授权认证失败 | |||||
1601 | SF_ERROR_HID_VERIFY_FAILED | 硬件特征码验证失败 | |||||
1602 | SF_ERROR_HID_EXIST_NOTPASSED | 存在未审批的硬件特征码,等待管理员审批 | |||||
1603 | SF_ERROR_HID_INVALID | 用户超时或硬件特征码无效输入 | |||||
1604 | SF_ERROR_HID_LIMIT | 硬件特征数达到最大值 | |||||
1605 | SF_ERROR_HID_UPDATE_FAILED | 更新硬件特征码失败 | |||||
1606 | SF_ERROR_HID_GROUP_LIMIT | 硬件特征码达到组用户最大限制 | |||||
1607 | SF_ERROR_HID_SN_LIMIT | 硬件特征码达到授权限制 | |||||
1608 | SF_ERROR_HID_FAILED | 当前终端未经过硬件特征码验证,请等待管理员审批 | |||||
1609 | SF_ERROR_HID_SUBMIT_FAILED | 提交硬件特征码失败 | |||||
1701 | SF_ERROR_NO_EXTERNAL_SERVER | 没有对应的外部认证服务器,认证失败 | |||||
1702 | SF_ERROR_TOKEN_PASSWORD_INCORRECT | 动态令牌密码错误,认证失败 | |||||
1703 | SF_ERROR_CHALLENGE_FAILED | 挑战认证失败 | |||||
1704 | SF_ERROR_CHALLENGE_TIMEOUT | radius挑战超时 | |||||
2001 | SF_ERROR_CONNECT_VPN_FAILED | 连接VPN服务器错误,请检查网络 | |||||
2002 | SF_ERROR_URL_INVALID | VPN的URL为空 | |||||
2003 | SF_ERROR_DOMAN_RESOLVE_FAILED | 域名解析失败 | |||||
2004 | SF_ERROR_CRACKED_PHONE | 越狱手机禁止登陆 | |||||
2005 | SF_ERROR_SELECT_LINE_FAILED | VPN选路失败 | |||||
2006 | SF_ERROR_NET_INVALID | 网络不可用 | |||||
2007 | SF_ERROR_ADDRESS_FORMAT | vpn地址格式有误 | |||||
2101 | SF_ERROR_AUTH_PARAM_EMPTY | 认证参数为空 | |||||
2102 | SF_ERROR_AUTH_TYPE_INVALID | 调用的方法与当前认证方式不一致 | |||||
2103 | SF_ERROR_CERTIFICATE_NOT_EXIST | 证书不存在 | |||||
2104 | SF_ERROR_CERTIFICATE_TYPE_ERROR | 证书类型获取失败 | |||||
2105 | SF_ERROR_TICKET_AUTH_DISABLE | 免密认证不可用 | |||||
2106 | SF_ERROR_BUILD_REQUEST | 构建请求失败 | |||||
2107 | SF_ERROR_SESSION_INVALID | session无效 | |||||
2108 | SF_ERROR_AUTH_TYPE_UNSPPORT | 认证类型不支持 | |||||
2109 | SF_ERROR_STATUS_ERROR | 登录VPN状态错误,注销后再进行登录 | |||||
2110 | SF_ERROR_HID_GET_ERROR | 读取硬件特征码失败 | |||||
2111 | SF_ERROR_AUTH_INIT_ERROR | VPN初始化失败 | |||||
2201 | SF_ERROR_START_L3VPN_FAILED | 启动L3VPN失败 | |||||
3001 | SF_ERROR_CHPWD_TIMEOUT | 用户超时 | |||||
3002 | SF_ERROR_CHPWD_NO_PERMISSION | 不属于本地密码认证用户 | |||||
3003 | SF_ERROR_CHPWD_GETINFO_FAIL | 获取用户信息失败 | |||||
3004 | SF_ERROR_CHPWD_WRONG_PWD | 密码输入错误 | |||||
3005 | SF_ERROR_CHPWD_SAFE_POLICY | 不符合密码策略 | |||||
3006 | SF_ERROR_CHPWD_FAILED | 修改密码请求错误 | |||||
3007 | SF_ERROR_VPN_NOT_LOGIN | VPN未登录,VPN未登录导致修改密码失败 | |||||
3008 | SF_ERROR_NEW_PASSWORD_SAME_AS_OLD | 新密码与原密码相同 | |||||
3101 | SF_ERROR_FORWARD_FAILED | 转发线程启动失败 | |||||
3201 | SF_ERROR_OUT_OF_MEMORY | 内存不足 | |||||
4001 | SF_ERROR_OTHER_ERROR | 其它错误 | |||||