# 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.12-snapshot # 正式版本,版本号加一 mvn versions:set -DnewVersion=2.0.12 ``` ## 代码扫描 使用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 ```