PHP Fehler/Bug

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Harry_89

Benutzer
Registriert
07. März 2010
Beiträge
254
Reaktionspunkte
0
Punkte
0
Hallo,

heute ist mir etwas komisch ausgefallen.

Ich habe folgenden Code (Vereinfacht)

PHP:
//Daten
		$_POST['data']=array('Bit'=>'1024');		
		$daten=$_POST['data'];
		 
		//Key Config
        $config_key=array(
			'digest_alg'=>'aes256',
            'private_key_bits'=>(int)$daten['Bit']);

		//Key erzeugen		 
		$res = openssl_pkey_new($config_key);		
		$test2=openssl_pkey_get_details ($res);
		var_dump(sha1($test2['key']));

		//DN
		$dn = array(
			"countryName" => "US",
			"stateOrProvinceName" => "Colorado",
			"organizationName" => "yPass.net",
			"organizationalUnitName" => "yPass.net",
			"commonName" => "yPass.net Root Certificate"
		);
		
		//Req
		$req_csr = openssl_csr_new($dn, $req_key);				
		openssl_csr_export ($req_csr, $out1);
		
		$test3=openssl_csr_get_public_key ($req_csr);
		$test3=openssl_pkey_get_details ($test3);
		var_dump(sha1($test3['key']));
		
		//CRT
		$req_cert = openssl_csr_sign($req_csr, NULL, $req_key, 365);
		openssl_x509_export ( $req_cert ,$out);
		$test=openssl_pkey_get_public ( $out);

		$test1=openssl_pkey_get_details ($test);

		var_dump(sha1($test1['key']));

Als output erhalte ich 3 Strings.
2 davon sind identisch, 1 ist anders.
Sie müssten aber alle gleich sein.

Jetzt habe ich folgendes herausgefunden.
Wenn ich die Variable $res umbenenne in $req_key, stimmen alle 3 Strings überein.

PHP:
//Daten
		$_POST['data']=array('Bit'=>'1024');		
		$daten=$_POST['data'];
		 
		//Key Config
        $config_key=array(
			'digest_alg'=>'aes256',
            'private_key_bits'=>(int)$daten['Bit']);

		//Key erzeugen		 
		$req_key = openssl_pkey_new($config_key);		
		$test2=openssl_pkey_get_details ($req_key);
		var_dump(sha1($test2['key']));

		//DN
		$dn = array(
			"countryName" => "US",
			"stateOrProvinceName" => "Colorado",
			"organizationName" => "yPass.net",
			"organizationalUnitName" => "yPass.net",
			"commonName" => "yPass.net Root Certificate"
		);
		
		//Req
		$req_csr = openssl_csr_new($dn, $req_key);				
		openssl_csr_export ($req_csr, $out1);
		
		$test3=openssl_csr_get_public_key ($req_csr);
		$test3=openssl_pkey_get_details ($test3);
		var_dump(sha1($test3['key']));
		
		//CRT
		$req_cert = openssl_csr_sign($req_csr, NULL, $req_key, 365);
		openssl_x509_export ( $req_cert ,$out);
		$test=openssl_pkey_get_public ( $out);

		$test1=openssl_pkey_get_details ($test);

		var_dump(sha1($test1['key']));

Ergebnis: Alle 3 sind gleich.

Kann das jemand bestätigen?
Das muss doch ein Bug sein oder?
 
Ich antworte mir mal eben selbst.
Ich hab vor lauter Bäumen den Wald nicht mehr gesehen und vergessen 2 andere Variablen mit zu ziehen....

Ich schäme mich so in den Boden... :rolleyes:

Ist erledigt.
 
Ist doch toll dass du das Problem selber gefunden hast, und danke dass du uns die Lösung verraten hast. ;)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat