1.0.6 • Published 8 months ago

private-ssl v1.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

1.安装

npm install private-ssl

2.创建实例

import ProxySingletonSSL from "private-ssl"

let ssl = ProxySingletonSSL( { targetUrl : "http://localhost:8080" //CA服务器地址 } )

//设置baekey和user ssl.Storage.baseKey = "1234sdlgkjalkdg" //用于加解密私钥文件 ssl.Storage.user = "user" //用户名

//登录 ssl.ReqLoginByCertificate( certPem, // string 证书 priKeyPem, // string 私钥 baseKey, // string baseKey ).then(token=>{

}).catch(error=>{

})

//申请证书 ssl.ReqIssueCertificate( { name = "user", email = "", country = "CN", algorithm = "SM2/SM3", deptId = 0, valityTime = "2", pubKey = "04cdddb7a82dc44bf45d5267abea1f4f0bf88d355bf5b0223245d2e2d8f594f277327a385a26ac85ea790001db72b49f9b3c6a7975e126aa7204bcba717bd6df2a", priKey = "10981453c8e61368a9166bcf4e3757c38a260e1d9d2e68d946dc3dfd7b8cd2f6", baseKey = "gasdt23523adga......" } ).then(res=>{ console.log(res); })

// 双向认证 ssl.ReqAuthentication( selfCertPem, selfKeyPem, baseKey , { //回调函数 sendCert, //发送自身证书 caVerifyCert, //服务器验证结果 generateRandStr, //生成随机串 encryptRandStr, //加密随机串 sendRandStr, //发送随机串 responseVerify, //响应认证 checkRandStr, //检验随机串 getToken, //获得临时通行证 done, //结束 } ).then(()=>{

})

// 申请秘钥 ssl.ReqSessionKey(basekey).then(key=>{ console.log(key); })

// SM2 加密,返回一个字符串 let ciphertext = ssl.EncryptByHexPubKeyWithSM2(pubKeyHex : string, plaintext : any); let ciphertext = ssl.EncryptByPEMWithSM2(pubKeyPem : string, plaintext : any);

ssl.DecryptWithSM4CBC = sm4_cbc_decrypt;

// SM2 解密,返回一个字符串 let plaintext = ssl.DecryptByHexPriKeyWithSM2(priKeyHex : string, ciphertext: any); let plaintext = ssl.DecryptByPEMKeyWithSM2(priKeyPem : string, ciphertext: any);

// SM3 计算字符串哈希,返回一个十六进制字符串 let result = CalHashWithSM3(src : Uint8Array);

// SM4加密,返回一个Uint8Array let ciphertext = ssl.EncryptWithSM4CBC( { plainByteArray : plaintextArray, //Uint8Array key : "0123456789abcdef0123456789abcdef", iv : "0123456789abcdef0123456789abcdef" } );

// SM4解密,返回一个Uint8Array let plaintext = ssl.EncryptWithSM4CBC( { cipherByteArray : plaintextArray, //Uint8Array key : "0123456789abcdef0123456789abcdef", iv : "0123456789abcdef0123456789abcdef" } });

3.加密上传 let uploadTask = new UploadFileTask( { user = null, deptName = null, file = null, fileId = null, chunkSize = 1 1024 1024, successCallback = null, //上传成功回调 errorCallback = null, //上传失败回调 speedCallback = null, //上传速率回调 } );

// 开始上传 uploadTask.start();

//暂停 uploadTask.stop();

// 下载并解密 ssl.DownLoadDecrypt(fileName).then(uint8array=>{

})

// 下载不解密 ssl.DownLoadOnly(fileName).then(uint8array=>{

})

4.水印处理 // 给图片文件加明暗水印 ssl.addImageText( imageUrl, // File对象 lightText, // 明水印 lightTextColor, // 明水印颜色 hidenText // 暗水印 ).then(blob=>{

})

// 给PDF文件加明暗水印 ssl.addImageText( pdfDoc, // File对象 lightText, // 明水印 lightTextColor, // 明水印颜色 hidenText // 暗水印 ).then(blob=>{

})

// 给视频文件加明暗水印 ssl.addVideoText( imageUrl, // File对象 lightText, // 明水印
hidenText // 暗水印 ).then(blob=>{

})

// 读取文件明水印 ssl.readLightText( file //File对象 ).then(text=>{

})

// 读取文件水印 ssl.readHidenText( file //File对象 ).then(text=>{

})

5.访问器get, set ssl.Storage.user = "user..." ssl.Storage.baseKey = "124124" // 会话密钥 ssl.Storage.sessionKey // 会话密钥的Flag ssl.Storage.sessionKeyFlag // 自身证书 ssl.Storage.selfCertificate // 根证书 ssl.Storage.rootCertificate // 自身私钥 ssl.Storage.selfPemPrivateKey CA服务器地址 ssl.Storage.caBaseUrl

1.0.6

8 months ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago