Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / помогите с ява кодом для цифровой подписи / 2 сообщений из 2, страница 1 из 1
23.01.2013, 10:24:14
    #38120836
ytnomad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с ява кодом для цифровой подписи
всем привет.
помогите кто может пожалуйста.
я нашел ява код для решения моей задачи(нужно отправлять платежное поручение в soap конферте подписанным цифровой подписью и прикрепленным сертификатом).
скомпилил его удачно в jdk1.6.0_37. и оно работает.
хочется чтобы он работал в строенной в oracle 9i jvm версий 1.3.1. этот код там не работает.
выходит ошибка class com.sun.org.apache.xerces.internal.impl.dv.util.Base64 not found in import.
я не могу найти подходящего класса в сети для 1.3.1 так как яву плохо знаю.

помогите мне с переписыванием этого кода для jvm 1.3.1.

заранее спасибо.

ниже код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
 import java.io.*;
 import java.security.Key;
 import java.security.KeyStore;
 import java.security.PrivateKey;
 import java.security.Signature;
 import java.security.cert.Certificate;
 public class Sign {
 public static void main(String[] args) throws Exception {
 // TODO code application logic here
 BufferedReader reader = new BufferedReader(new FileReader("c:
cert.p12"));
 StringBuilder fullText = new StringBuilder();
 String line = reader.readLine();
 while (line != null) {
 fullText.append(line);
 line = reader.readLine();
 }
 KeyStore p12 = KeyStore.getInstance("pkcs12");
 p12.load(new FileInputStream("c:
cert.p12"), "Hfrtnf$5".toCharArray());

 //????????? ????????? ????, ??? ????? ????? ???????????? alias ? ??????
 //Key key = p12.getKey("my kkb key", "ryba-mech".toCharArray());
 Key key = (Key) p12.getKey("my kkb key", "Hfrtnf$5".toCharArray());
 Certificate userCert = (Certificate) p12.getCertificate("my kkb key");
 String base64Cert = new String(Base64.encode(userCert.getEncoded()));
 //signing
 Signature signer = Signature.getInstance("SHA1withRSA");
 signer.initSign((PrivateKey) key);
 signer.update(fullText.toString().getBytes());
 byte[] digitalSignature = signer.sign();
 String base64sign = new String(Base64.encode(digitalSignature));
 String base64Xml = new String(Base64.encode(fullText.toString().getBytes()));

 System.out.println("<certificate>" + base64Cert+"</certificate>");
 System.out.println("<xmlBody>" + base64Xml+"</xmlBody>");
 System.out.println("<signature>" + base64sign+"</signature>");
 }
 }
...
Рейтинг: 0 / 0
23.01.2013, 10:59:52
    #38120905
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с ява кодом для цифровой подписи
Подключите commons codec, хотя они уже не поддерживают версию Java 1.3.x
http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Base64.html
Если не заработает надо просто поисктаь более древние версии. Apache Commons очень долго поддерживали совместимость с 1.3.х
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / помогите с ява кодом для цифровой подписи / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]