Subversion Repositories public

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 andreas 1
<?php
2
function CreateCryptKey() {
3
	// Angabe der Daten für den distinguished name, der in dem Zertifikat benutzt
4
	// wird. Sie müssen die Werte dieser Schlüssel so anpassen, dass diese ihrem
5
	// Namen und Firma entsprechen, oder um präziser zu sein, den Namen und die
6
	// Firma der Person/Seite angeben, für die Sie das Zertifikat erzeugen.
7
	// Für SSL Zertifikate entspricht der commonName gewöhnlich dem Domainnamen,
8
	// für den das Zertifikat benutzt werden soll, aber bei S/MIME Zertifikaten
9
	// entspricht der commonName dem Namen der Person, die das Zertifikat nutzen
10
	// möchte.
11
	$dn = array(
12
	   "countryName" => "AT",
13
	   "stateOrProvinceName" => "Austria",
14
	   "localityName" => "Vienna",
15
	   "organizationName" => "TheosSoft",
16
	   "organizationalUnitName" => "software engeneering",
17
	   "commonName" => "theossoft.net",
18
	   "emailAddress" => "office@theossoft.net"
19
	);
20
 
21
	// Erzeugen eines neuen privaten (und öffentlichen) Schlüsselpaars
22
	$privkey = openssl_pkey_new();
23
 
24
	// Erzeugen einer Zertifikatssignierungsanfrage
25
	$csr = openssl_csr_new($dn, $privkey);
26
 
27
	// Erzeugen eines selbstsignierten Zertifikts, das fuer die Dauer von 365 Tagen
28
	// gueltig ist.
29
	$sscert = openssl_csr_sign($csr, null, $privkey, 365);
30
 
31
	// Speichern des Zertifikats
32
	openssl_csr_export_to_file($csr, "setup/pmkey.csr");
33
	openssl_x509_export_to_file($sscert, "setup/pmkey.xpem");
34
	openssl_pkey_export_to_file($privkey, "setup/pmkey.pem", "jDz7jJ1l2s99hR4Qa");
35
 
36
	// Anzeigen der moeglichen aufgetretenen Fehler
37
	while (($e = openssl_error_string()) != false) {
38
	   echo $e . "\n";
39
	}
40
}
41
 
42
function encrypt($str) {
43
/*	$f = realpath("setup/pmkey.xpem");
44
	$key = openssl_pkey_get_public("file://" . $f);
45
 
46
	if (!openssl_public_encrypt($str, $bcstr, $key)) {
47
	   echo "Error: Encrypt: Fehler beim Verschl&uuml;sseln eines Strings!<p>$str</p><br>\n";
48
	}
49
 
50
	openssl_free_key($key);
51
	$cs = unpack("h*", $bcstr);
52
	$cstr = implode(",", $cs);
53
	// Anzeigen der moeglichen aufgetretenen Fehler
54
	while (($e = openssl_error_string()) != false) {
55
	   echo "Encrypt: " . $e . "<br>\n";
56
	}
57
*/
58
	$cstr = md5("jDz7jJ1l2s99hR4Qa") . $str;
59
	return $cstr;
60
}
61
 
62
function decrypt($cstr) {
63
	if (strlen($cstr) < 10)
64
	   return $cstr;
65
 
66
/*	$f = realpath("setup/pmkey.pem");
67
	$key = openssl_pkey_get_private("file://" . $f, "jDz7jJ1l2s99hR4Qa");
68
	$bcstr = pack("h*", $cstr);
69
 
70
	if (!openssl_private_decrypt($bcstr, $str, $key, OPENSSL_PKCS1_PADDING)) {
71
	   echo "Error: Decrypt: Fehler beim Entschl&uuml;sseln eines Strings!<p>$cstr</p><br>\n";
72
	}
73
 
74
	openssl_free_key($key);
75
	// Anzeigen der moeglichen aufgetretenen Fehler
76
	while (($e = openssl_error_string()) != false) {
77
	   echo "Decrypt: " . $e . "<br>\n";
78
	}
79
*/
80
	$str = substr($cstr, 32);
81
	return $str;
82
}
83
 
84
function WarnHacker($anz) {
85
global $unum;
86
global $rstufe;
87
 
88
   echo "<p>Sie haben bereits (mehrfach) versucht dieses Programm\n";
89
   echo "illegal zu manipulieren!<br>$unum $rstufe<br>\n";
90
   echo "Der Administrator wurde per E-Mail dar&uuml;ber informiert\n";
91
 
92
   if ($anz >= 3) {
93
      echo "und ihr Zugang <b>gesperrt</b>! Um wieder freigeschalten\n";
94
      echo "zu werden, wenden sie sich bitte an ihren Administrator!</p>";
95
   } else {
96
      echo "und ihr Zugang wird bei weiteren Versuchen gesperrt!</p>";
97
   }
98
}
99
 
100
?>