Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Dokumentsignierung (Hashwert)

Frage Entwicklung C und C++

Mitglied: 83324

83324 (Level 1)

30.09.2009, aktualisiert 18.10.2012, 4284 Aufrufe, 5 Kommentare

Hallo, bin neu hier

Habe folgendes Problem: Ich muss ein C-Programm schreiben, welches mit Hilfe von OpenSSL ein Dokument signieren (asymmetrisches Verfahren, SHA1) soll. Soweit ich das verstanden hab in der Theorie, muss ich dazu den Hashwert des Dokuments berechnen und das dann mit dem privatem Schlüssel signieren. Den privaten Schlüssel hab ich erstellt über "openssl genrsa". Jetz meine Fragen:

1. Wie berechne ich den Hashwert des Dokumentes? Wees nich wirklich wie ich das angehen soll, den Hashwert-Typ mit SHA1 hab ich zwar so deklariert, aber wie gehts weiter? Welche Funktionen brauch ich da?

2. Das Verfahren is asymmetrisch, also gibt es noch diesen öffentlichen Schlüssel, den ich doch sicher auch irgendwann benötige...Wann brauch ich den und vor allem woher bekomm ich den?

Danke im Voraus.
Mitglied: 76109
30.09.2009, aktualisiert 18.10.2012
Hallo Insomnium!

Eventuell hilft Dir das weiter: http://www.administrator.de/forum/vb-passwort-im-programm-oder-sicher-s ...

Gruß Dieter
Bitte warten ..
Mitglied: 83324
01.10.2009 um 22:42 Uhr
Danke erstmal für die schnelle Antwort. Also so richtig weitergekomm bin ich damit nicht, ich hab jetz mal eine andere Möglichkeit getestet.

if (SHA1_Init(&shactx) == 1)
printf("\nSHA1 - Init erfolgreich!");

if (SHA1_Update(&shactx, dokument, laenge_d) == 1)
printf("\nSHA1 - Update erfolgreich!");

if (SHA1_Final(hashwert, &shactx) == 1)
printf("\nSHA1 - Final erfolgreich!");

Ich hab das Ganze jetz über diese Funktion gemacht, läuft auch alles problemlos durch...ich frag mich nur gerade, ob der Wert, den es in die Variable Hashwert schreibt, auch wirklich der Wert ist, den ich haben möchte. Es gibt zwar einen Wert aus, der sieht allerdings weniger aus wie ne Prüfsumme (sowas ist der Hashwert doch??!!), sondern mehr wie ein Schlüssel...
Bitte warten ..
Mitglied: vonbredowp
01.10.2009 um 23:40 Uhr
Hallo Insomnium,


dann teste die Datei doch einfach mit einem Tool wie diesem :
HashMyFiles 1.52
http://sha1.qarchive.org/


Wenn der gleiche Hashwert rauskommt, passt alles ;)


Hier ein Beispiel wie ein solcher aussieht (neben anderen)


Die md5-Prüfsumme von administrator.de ist:
6516af3f2483f59bf2e5501996d9a631


Die sha1-Prüfsumme von administrator.de ist:
dc5f0070df6a2bef33235e24b0688943f7b85e5b


Die Crypt-Prüfsumme von administrator.de ist:
$1$i0X8XM8Q$MokGTI13KJJTW7VENXXoF0



Mit freundlichen Grüßen,

Patrick von Bredow
Bitte warten ..
Mitglied: 83324
07.10.2009 um 20:38 Uhr
Dank dir, bin jetz erst wieder zum antworten gekommen. Aber mein Hashwert war wie erwartet falsch...nun gut...Allerdings verstehe ich die ganze Funktions- und Vorgehensweise noch nicht so richtig. Wenn ich jetzt als Ausgangsbasis ausschließlich mein Dokument (als .bin-datei) und meinen selbst erstellten Private Key habe, wie bin ich dann in der Lage dieses Dokument zu signieren? Der ganze Ablauf und das warum wieso mit dem asymmetrischen Verfahren is mir noch suspekt. Hat da einer Ahnung von?
Bitte warten ..
Mitglied: lowbyte1
08.11.2009 um 00:06 Uhr
hi


Wie wäre es in der Dokumentation von open ssl nachzuschauen? von wegen Funktionen ,und implementierung.



lb
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...