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 其它错误