|
|
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
помогите найти ошибки((( //GSig.java /* Генерация DSA-подписи */ import java.io.*; import java.security.*; class GSig { //сохранение байтового массива в файл public static void saveToFile (byte[] info, String filename) { try { FileOutputStream fos = new FileOutputStream (filename); fos.write(info); fos.close(); } catch (Exception e) { System.err.println(“Caught exception “ + e.toString()); } }// saveToFile () public static void main(String args[]) { try { /* Генерация ключей */ KeyPairGenerator keyGen = KeyPairGenerator.getInstance(“DSA”, “SUN”); SecureRandom random = SecureRandom.getInstance(“SHA1PRNG”, “SUN”); keyGen.initialize(1024, random); KeyPair pair = keyGen.generateKeyPair(); PrivateKey priv = pair.getPrivate(); PublicKey pub = pair.getPublic(); /* Создание объекта класса Signature */ Signature dsa = Signature.getInstance(“SHA1withDSA”, “SUN”); /* Инициализация частным ключом */ dsa.initSign(priv); /* Чтение данных из файла “data”. Вызов метода update() */ FileInputStream fis = new FileInputStream(“data”); BufferedInputStream bufin = new BufferedInputStream(fis); byte[] buffer = new byte[1024]; int len; while (bufin.available() != 0) { len = bufin.read(buffer); dsa.update(buffer, 0, len); } bufin.close(); /* Генерация подписи */ byte[] realSig = dsa.sign(); /* Сохранение подписи в файл “signature” */ saveToFile (realSig,”signature”); /* Сохранение открытого ключа в файл “pubkey” */ byte[] key = pub.getEncoded(); saveToFile (key,”pubkey”); } catch (Exception e) { System.err.println(“Caught exception “ + e.toString()); } }// main() }// class GSig //VSig.java /* Верификация DSA-подписи */ import java.io.*; import java.security.*; import java.security.spec.*; class VSig { //чтение из файла в байтовый массив public static byte[] readFromFile (String fileName) { byte[] info; try { FileInputStream fis = new FileInputStream(fileName); info = new byte[fis.available()]; fis.read(info); fis.close(); } catch (Exception e) { System.err.println(“Caught exception “ + e.toString()); info = new byte[0]; } return(info); }// copyFromFile () public static void main(String args[]) { try { /* Получение encoded public key из файла “pubkey” */ byte[] encKey = readFromFile(“pubkey”); /* Создание спецификации ключа */ X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey); /* Создание объектов Лунафсещкн и ЗгидшсЛун*/ KeyFactory keyFactory = KeyFactory.getInstance (“DSA”, “SUN”); PublicKey pubKey = keyFactory.generatePublic (pubKeySpec); /* Чтение подписи из файла “signature” */ byte[] sigToVerify = readFromFile(“signature”); /* Создание объекта класса Signature и инициализация с помощью открытого ключа */ Signature sig = Signature.getInstance (“SHA1withDSA”, “SUN”); sig.initVerify(pubKey); /* Чтение данных из файла “data” и вызов метода update() */ FileInputStream datafis = new FileInputStream (“data”); BufferedInputStream bufin = new BufferedInputStream(datafis); byte[] buffer = new byte[1024]; int len; while (bufin.available() != 0) { len = bufin.read(buffer); sig.update(buffer, 0, len); } bufin.close(); /* Верификация */ boolean verifies = sig.verify(sigToVerify); System.out.println(“Signature verifies: “ + verifies); } catch (Exception e) { System.err.println(“Caught exception “ + e.toString()); } }// main() }// class VSig ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 20:45 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
ymerla91, А пример вроде бы рабочий... Ну по-крайней мере подтверждение подписи проходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 21:23 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
WGA, Подскажите пожалуйста, в какой программе вы запускаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 08:15 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
WGA, пожалуйста помогите разобраться с задачей((( очень нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2013, 13:38 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
ymerla91WGA, пожалуйста помогите разобраться с задачей((( очень нужноjavac + java ЗЫ. Вряд ли кто будет Вас здесь учить тому, что гуглится за 5 минут . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2013, 14:05 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
WGAymerla91WGA, пожалуйста помогите разобраться с задачей((( очень нужноjavac + java ЗЫ. Вряд ли кто будет Вас здесь учить тому, что гуглится за 5 минут . я исправила все кавычки. вроде как компилируется,а когда запускаю пишет такие вещи((( когда запускаю GSig.java, то пишет Caught exception java.io.FileNotFoundException: data (=х ефрхЕё эрщЕш еърчрээ˩щ Iрщы) когда запускаю VSig.java, то пишет Caught exception java.io.FileNotFoundException: pubkey (=х ефрхЕё эрщЕш еърчрээ˩щ Iрщы) Caught exception java.security.spec.InvalidKeySpecException: Inappropriate key s pecification: IOException: DerInputStream.getLength(): lengthTag=127, too big. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2014, 00:14 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
WGA,у меня все получилось))) возможно вы знаете как эту программу защитить от копирования??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2014, 14:46 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
ymerla91WGA,у меня все получилось))) возможно вы знаете как эту программу защитить от копирования???Ваш препод над Вами издевается, давая тупые задания. Java-программы практически невозможно защитить от "копирования". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2014, 20:00 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
WGAВаш препод над Вами издевается, давая тупые задания. Java-программы практически невозможно защитить от "копирования". и все же можно это хотя бы как то сделать что бы препод только отстал,какую нидь минимальную защиту(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 11:28 |
|
||
|
цифровая подпись dsa
|
|||
|---|---|---|---|
|
#18+
помогите пожалуйста, преподу все мало, и он просит чтобы было написано не только что подпись проходит, а что где проверяет программа , все все должно писаться. (вдруг, говорит, вы просто написали что проверка проходит и это на экран выводится и ничего не проверяется)а я не понимаю как это сделать.очень нужна ваша помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2014, 14:39 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38514208&tid=2127791]: |
0ms |
get settings: |
10ms |
get forum list: |
32ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 443ms |

| 0 / 0 |
