智能钥匙扩展集成第三方供应商
EAS Cloud标准产品已支持天威供应商,如果选用其它供应商需要进行二次开发,通过扩展标准产品中提供的智能钥匙认证接口,可以实现EAS Cloud与其它第三方智能钥匙供应商的集成。
# CA登录认证扩展
## 1、客户端 (GUI) 登录二次开发接口扩展
客户端登录集成需要二次开发一个集成类,该类要实现标准产品定义的com.kingdee.eas.base.permission.service.helper.AbstractUsbKeyBaseOperatorExt 接口;
接口定义如下:
```java
public class AbstractUsbKeyBaseOperatorExt {
public String readFile(int fileName) throws Exception{}
public void writeFile(String str) throws Exception
public String getNo() throws Exception{}
public void verifyPwd(String newPwd) throws Exception{}
public byte[] exportCertificate() throws Exception {}
}
```
## 2、接口方法及参数说明:
(1) readFile方法:在该方法中需要实现获取UsbKey中用户账号的逻辑;
参数说明:fileName参数可以不使用。
(2) writeFile方法:在该方法中需要实现写入EAS Cloud用户账号的逻辑;
参数说明:str参数为EAS Cloud用户账号;EAS Cloud初始化UsbKey时用。
(3) getNo方法:在该方法中需要实现获取UsbKey编号的逻辑;
(4) verifyPwd方法:在该方法中需要实现校验UsbKey密码的逻辑;
参数说明:newPwd参数代表用户输入的密码。
(5) exportCertificate方法:在该方法中需要实现导出UsbKey公钥证书的逻辑;
EAS Cloud初始化UsbKey时用。
#
# CA数字签名扩展:
需要二次开发一个服务端使用的签名服务类和一个客户端使用的签名服务类,这两个类需要分别实现以下接口:
## 1、服务端签名服务类
服务端签名服务类需要实现标准产品中定义的:
```java
com.kingdee.eas.base.security.provider.app.imp.PKIServerExtProvider接口;接口定义如下:
public interface PKIServerExtProvider {
public byte[] exportCertificate(byte[] userID) throws Exception;
public int verify(byte[] plaintext, byte[] signature, java.security.cert.Certificate cert) throws Exception;
public int verifyCert(java.security.cert.Certificate userCert);
public Certificate transCert(byte[] cert);
}
```
接口方法及参数说明:
1)exportCertificate方法:在该方法中需要实现根据用户账号获取存放在CA服务器中的指定用户证书的逻辑(注:如果默认下EAS Cloud服务器保存了证书,则不用调用此接口);
参数说明:userID参数代表用户账号。
2)verify方法:在该方法中需要实现使用用户证书对签名进行验证的逻辑;
参数说明:plaintext参数代表需要校验的数据;signature参数代表签名数据;cert参数代表用户证书。
3)verifyCert方法:在该方法中需要实现检验用户证书是否有效的逻辑;
参数说明:userCert参数代表用户证书。
4)transCert方法:在该方法中需要实现将byte数组形式的用户证书转化为Certificate对象形式的用户证书的逻辑;
参数说明:cert参数代表用户证书。
## 2、客户端签名服务类
客户端签名服务类需要实现标准产品中定义的:
```java
com.kingdee.eas.base.security.provider.client.IPKIClientExt2Provider
```
接口,以及其父接口
```java
com.kingdee.eas.base.security.provider.PKIException.IPKIClientExtProvider
```
,接口分别定义如下:
```java
public interface IPKIClientExt2Provider extends IPKIClientExtProvider{
public boolean checkPasswd(byte[] passwd);
public boolean checkUsbKeyInited(Window parentUI);
public String GetKeyID();
public byte[] getUserID();
public boolean isUsbKeyExistent();
}
```
接口方法及参数说明:
(1) checkPasswd方法:在该方法中需要实现检查用户输入的密码是否与Usbkey中的密码一致的逻辑;
参数说明:passwd参数代表用户密码。
(2) checkUsbKeyInited方法:在该方法中需要实现检查Usbkey是否有效的逻辑;
(3) GetKeyID方法:在该方法中需要实现获取Usbkey中序列号的逻辑;
(4) getUserID方法:在该方法中需要实现获取Usbkey中用户标识的逻辑;
(5) isUsbKeyExistent方法:在该方法中需要实现检查Usbkey是否已插到USB接口上的逻辑;
```java
public interface IPKIClientExtProvider {
public byte[] sign(byte[] plaintext,String userNumber,byte[] pwd) throws Exception;
public byte[] exportCertificate() throws Exception;
}
```
接口方法及参数说明:
(1) sign方法:在该方法中需要实现与服务端对应的客户端签名的逻辑;
参数说明:plaintext参数代表需要签名的数据;userNumber代表用户账号;pwd代表用户密码。
(2) exportCertificate方法:在该方法中需要实现获取存放在Usbkey中用户证书的逻辑;
# 温馨提示:
本方案只是通用扩展方案进行参考。具体需要由第三方供应商提供相关集成方案或接口,根据实际情况进行二次开发。
智能钥匙扩展集成第三方供应商
EAS Cloud标准产品已支持天威供应商,如果选用其它供应商需要进行二次开发,通过扩展标准产品中提供的智能钥匙认证接口,可以实现EAS Clo...
点击下载文档
本文2024-09-16 22:07:03发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-46032.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章