scfs-api-sdk/readme.md

113 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# SCFS-API-SDK
## 使用教程
```java
// 创建配置类
Profile profile=new RsaProfile.Builder()
.channel(xx)
.privateKey(xx)
.addCertificate(xx)
.build();
// 创建 http 客户端
ApiClient apiClient=new DefaultApiClientBuilder()
.profile(profile)
.build();
// 发起调用
EchoService echoService=new EchoService(apiClient);
//echoService.
echo();
```
* [scfs-api-core](scfs-api-core) 核心模块封装http请求抽象加密/加密/加签等
* [scfs-api-service](scfs-api-service) 业务模型模块
* [scfs-api-rsa](scfs-api-rsa) rsa/aes加密算法实现
* [scfs-api-sm](scfs-api-sm) 国密实现模块sm2/sm4
* [scfs-api-spring-boot-starter](scfs-api-spring-boot-starter) springboot 集成模块
## 生成私钥/证书
### 通过openSSL生成RSA证书
使用密钥工具生成
* https://slproweb.com/products/Win32OpenSSL.htm
```shell
# 私钥
openssl genrsa -out rsa_private_key.pem 2048
# 证书请求文件
openssl req -utf8 -new -out rsa_csr.pem -key rsa_private_key.pem
# Country Name (2 letter code) [AU]:CN
# State or Province Name (full name) [Some-State]:浙江省
# Locality Name (eg, city) []:杭州市
# Organization Name (eg, company) [Internet Widgits Pty Ltd]:浙江稠州商业银行
# Organizational Unit Name (eg, section) []:数字金融部
# Common Name (e.g. server FQDN or YOUR name) []:scfs.czcb.com.cn
# Email Address []:
# Please enter the following 'extra' attributes
# to be sent with your certificate request
# A challenge password []:
# An optional company name []:
# 证书
openssl x509 -req -days 3650 -in rsa_csr.pem -signkey rsa_private_key.pem -out rsa_certificate.pem
```
## 更新版本号
```shell
# 开发测试阶段使用快照版本
mvn versions:set -DnewVersion=2.0.21-snapshot
# 正式版本,版本号加一
mvn versions:set -DnewVersion=2.0.21
```
## 代码扫描
使用jenkins扫描
配置maven脚本 \bin\mvn.cmd添加一行命令 `set JAVA_HOME="C:\Ext\zulu17"`
```shell
## 添加jdk17目录
set JAVA_HOME="C:\Ext\zulu17"
set ERROR_CODE=0
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%"=="" goto OkJHome
for %%i in (java.exe) do set "JAVACMD=%%~$PATH:i"
goto checkJCmd
```
执行 scanner.cmd脚本
```shell
## C:\Ext\mvn17\bin\mvn.cmd 修改maven脚本路径
call C:\Ext\mvn17\bin\mvn.cmd clean package verify sonar:sonar -Dsonar.projectKey=scfs-api-sdk -Dsonar.projectName=scfs-api-sdk -Dsonar.host.url=http://10.129.135.192:7100 -Dsonar.login=sqp_90e5fb014f985e2c458e46b9239926cfbbd4fffe
```
## 沙箱环境配置
```shell
scfs.api-gateway.online=false
scfs.api-gateway.host=http://10.131.98.80:8088/api-gateway
scfs.api-gateway.channel.channel-no=0000
scfs.api-gateway.channel.app-no=41
scfs.api-gateway.cipher.store-type=resources
# 渠道 0000
scfs.api-gateway.cipher.channel-private-key=CZCB-SM-FB4E3DCE0297438ED390771F46576B92FD7E6B7F1E9BD12A7D87E821B59948E5-PRIVATE.pem
scfs.api-gateway.cipher.channel-certificate-serial=FB4E3DCE0297438ED390771F46576B92FD7E6B7F1E9BD12A7D87E821B59948E5
scfs.api-gateway.cipher.certificate=CZCB-SM-FB4E3DCE0297438ED390771F46576B92FD7E6B7F1E9BD12A7D87E821B59948E5-CERTIFICATE.pem
```
## 单元测试
```shell
mvn clean test
```