Initial commit of actLibrary ( see #2 ) , Updates in openssl-act-engine, extended documentation ( see #6 )

This commit is contained in:
carsten.pluntke
2010-09-23 08:37:18 +00:00
parent c627f638b2
commit adbb943401
1033 changed files with 99577 additions and 23 deletions

View File

@@ -1,6 +1,6 @@
Benutzung der engine_act OpenSSL engine
Abgesehen von den Engine-Befehlen "ENUM_CERTS" und "PIN" (s.u.) l<EFBFBD>uft die Benutzung dieser Engine <EFBFBD>ber OpenSSL selbst ab.
Abgesehen von den Engine-Befehlen "ENUM_CERTS" und "PIN" (s.u.) läuft die Benutzung dieser Engine über OpenSSL selbst ab.
1) Laden/Einbinden
@@ -24,7 +24,7 @@ SO_PATH gibt den absoluten Pfad zur Engine an.
ENGINE_cleanup();
3) Enumerierung der erreichbaren Smartcard-Zertifikate und Schl<EFBFBD>ssel
3) Enumerierung der erreichbaren Smartcard-Zertifikate und Schlüssel
#include <openssl/engine.h>
#include "engine_sct.h"
@@ -50,7 +50,7 @@ struct enum_certs_s
};
So kann man dann mit einer for-Schleife <EFBFBD>ber die einzelnen Zertifikate/Schl<EFBFBD>sselidentifikationen iterieren
So kann man dann mit einer for-Schleife über die einzelnen Zertifikate/Schlüsselidentifikationen iterieren
for(int i=0;i<certs_found->num_certs;i++)
{
@@ -59,17 +59,17 @@ So kann man dann mit einer for-Schleife
....
}
4) Laden eines Schl<EFBFBD>ssels zur Benutzung
4) Laden eines Schlüssels zur Benutzung
Sowohl cert_data.id als auch cert_data.name k<EFBFBD>nnen als Parameter f<EFBFBD>r ENGINE_load_public_key() oder ENGINE_load_private_key() verwendet werden.
cert_data.name hat das Format "slot-<x>-name-<name>", der Authenthisierungsschl<EFBFBD>ssel im ersten (oder einzigen) Slot w<EFBFBD>re dann
Sowohl cert_data.id als auch cert_data.name können als Parameter für ENGINE_load_public_key() oder ENGINE_load_private_key() verwendet werden.
cert_data.name hat das Format "slot-<x>-name-<name>", der Authenthisierungsschlüssel im ersten (oder einzigen) Slot wäre dann
"slot-0-name-SwissSign_digSig"
ENGINE_load_private_key() versucht gleich schon ein Login auf der Karte. Man kann ein Pin-Dialog per Callback <EFBFBD>bergeben, aber man kann auch
ENGINE_load_private_key() versucht gleich schon ein Login auf der Karte. Man kann ein Pin-Dialog per Callback übergeben, aber man kann auch
die PIN von vornherein setzen, und zwar mit
ENGINE_ctrl_cmd_string(e, "PIN", pin_str, 0);
/!\ pin_str ist ein nullterminierter String (char *) und wird in der Funktion <EFBFBD>berschrieben! Wird die PIN also sp<EFBFBD>ter anderswo noch gebraucht, muss man
hier eine Kopie des Strings <EFBFBD>bergeben.
/!\ pin_str ist ein nullterminierter String (char *) und wird in der Funktion überschrieben! Wird die PIN also später anderswo noch gebraucht, muss man
hier eine Kopie des Strings übergeben.