我是Java新手,我有一個簡單的問題。我有帶SHA1withRSA可信私鑰和證書的JKS密鑰庫,我需要爲SOAP消息生成PKCS#7簽名。 我試圖找到一些信息這件事,在那一刻,我有這樣的:如何糾正使用rsa私鑰和java生成簽名?
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(...);//load ks from ks path
//initiate signature(if I do it - Web-Service send me exception:Error while
//ASN.1-decoding PKCS#7 message
RSAPrivateKey = (RSAPrivateKey) ks.getKey(...);
Signature sign = Signature.getInstance("SHA1WithRSA);
sign.initSign(privatKey);
sign.update(data)//data - final byte[] data - method argument
byte[] bb = sign.sign();
BASE64Encoder enc = new BASE64Encoder();
return encoder.encode(bb);
請告訴我,我的錯誤呢?也許我需要上課,而且這些代碼並不像我想要的那樣工作得很好。謝謝。
你有什麼錯誤或什麼?這是一個非常普遍的問題「我的錯誤在哪裏?」 –
是否確定'Signature.getInstance(「SHA1WithRSA);'是正確的? –
@ rakeb.void在此之前,我使用了bouncycastle API並簽名驗證錯誤對此代碼:僅ASN.1解碼錯誤 – Giymose