powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / цифровая подпись dsa
10 сообщений из 10, страница 1 из 1
цифровая подпись dsa
    #38510435
ymerla91
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите найти ошибки(((

//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
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38510464
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
ymerla91,

А пример вроде бы рабочий... Ну по-крайней мере подтверждение подписи проходит.
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38510670
ymerla91
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WGA,

Подскажите пожалуйста, в какой программе вы запускаете?
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38514208
ymerla91
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WGA, пожалуйста помогите разобраться с задачей((( очень нужно
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38514241
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
ymerla91WGA, пожалуйста помогите разобраться с задачей((( очень нужноjavac + java

ЗЫ. Вряд ли кто будет Вас здесь учить тому, что гуглится за 5 минут .
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38517134
ymerla91
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38519012
ymerla91
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WGA,у меня все получилось))) возможно вы знаете как эту программу защитить от копирования???
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38519161
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
ymerla91WGA,у меня все получилось))) возможно вы знаете как эту программу защитить от копирования???Ваш препод над Вами издевается, давая тупые задания. Java-программы практически невозможно защитить от "копирования".
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38519416
ymerla91
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WGAВаш препод над Вами издевается, давая тупые задания. Java-программы практически невозможно защитить от "копирования".
и все же можно это хотя бы как то сделать что бы препод только отстал,какую нидь минимальную защиту((
...
Рейтинг: 0 / 0
цифровая подпись dsa
    #38531866
ymerla91
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите пожалуйста, преподу все мало, и он просит чтобы было написано не только что подпись проходит, а что где проверяет программа , все все должно писаться. (вдруг, говорит, вы просто написали что проверка проходит и это на экран выводится и ничего не проверяется)а я не понимаю как это сделать.очень нужна ваша помощь
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / цифровая подпись dsa
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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