小编Ali*_*Ali的帖子

数字签名SunMSCAPI提供商和MS Crypto API

我想与SunMSCAPI提供商签署文件.由于需要使用MS Crypto API导入公钥和签名.

通常生成签名SHA1withRSA,最终使用big-endian到little-endian(字节顺序)转换.

//generate keystore with java keytool
$Keytool -genkey -alias tsign -keystore c:\test\tsignjks.p12 - keyalg rsa -storetype  pkcs12
Run Code Online (Sandbox Code Playgroud)

在Java应用程序中:

//for signing and getting keystore, assuming windows certificate is installed
..ks = KeyStore.getInstance("Windows-MY","SunMSCAPI"); 
PrivateKey priv = ks.getKey("tsign",password); 
Signature rsa = Signature.getInstance("SHA1withRSA","SunMSCAPI"); 
rsa.initSign(priv);
.. 
rsa.update(buffer, 0, len);
..
byte[] realSig = rsa.sign();

//for writing public key for ms crypto api or exporting it from windows certificate store
Certificate cert = ks.getCertificate("tsign");
byte[] encodedCert = cert.getEncoded();
FileOutputStream …
Run Code Online (Sandbox Code Playgroud)

java rsa cryptoapi digital-signature mscapi

4
推荐指数
1
解决办法
6614
查看次数

标签 统计

cryptoapi ×1

digital-signature ×1

java ×1

mscapi ×1

rsa ×1