Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi IOUtils TFile.Encrypt Prozedur (https://www.delphipraxis.net/181642-ioutils-tfile-encrypt-prozedur.html)

Roland Chastain 31. Aug 2014 18:53

Delphi-Version: XE2

IOUtils TFile.Encrypt Prozedur
 
Hallo !

Weiß jemand wie die TFile.Encrypt und TFile.Decrypt Prozedure benutzen?

Da ist mein Code. Es kompiliert aber funktioniert nicht: es stürzt ab (auch wenn ich führe das Program als Administrator aus).

Mein Betriebsystem ist Windows 8.1.

Code:
program Test;
 
{$APPTYPE CONSOLE}
 
uses
  System.IOUtils;
 
begin
  TFile.Encrypt('C:\MeinOrdner\Datei.txt');
end.

himitsu 31. Aug 2014 22:09

AW: IOUtils TFile.Encrypt Prozedur
 
Binde mal die SysUtils mit ein.
Ohne ist die Exceptionbehandlung nicht (richtig) initialisiert.

Außerdem müsstest du die Datei von der Konsole (cmd.exe) aus ausführen, damit das Konsolenfenster nicht gleich wieder zu geht.
Oder du baust selber eine Fehlerbehandlung ein und lässt nach der Fehleranzeige warten.

TFile.Encrypt sagt dir jedenfalls was nicht stimmt, wenn du ihm die Chance lässt.

Delphi-Quellcode:
program Test;
 
{$APPTYPE CONSOLE}
 
uses
  System.SysUtils,
  System.IOUtils;
 
begin
  try
    TFile.Encrypt('C:\MeinOrdner\Datei.txt');
  except
    on E: Exception do begin
      WriteLn(E.ClassName + ': ' + E.Message);
      WriteLn('Weiter mit [Enter].');
      ReadLn;
    end;
  end;
end.

Die VCL mach halt mehr, als nur optisches Zeugs.
z.B. Fehler abfangen und "anzeigen", was du in der Konsole alles selber machen musst.

mkinzler 1. Sep 2014 05:25

AW: IOUtils TFile.Encrypt Prozedur
 
Existiert die Datei?
Hast Du genügend Rechte auf die Datei?
Ist das Dateisystem NTFS?
Mit welchem Fehler stürzt er ab?

Roland Chastain 1. Sep 2014 05:59

AW: IOUtils TFile.Encrypt Prozedur
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für ihren Antworten.

Ja, die Datei existiert und das Dateisystem ist NTFS. Ich weiss nicht ob ich genügend Rechte habe.

Nun (mit himitsu Code), es stürzt nicht mehr ab, aber ich kann lesen:

Zitat:

EInOutError: Cette demande n'est pas prise en charge
Weiter mit [Enter].
Zitat:

50 (0x32) Cette demande n'est pas prise en charge -> The request is not supported (ERROR_NOT_SUPPORTED)
So ich sehe nun dass das Problem ist nicht in mein Programm.

Dalai 1. Sep 2014 09:39

AW: IOUtils TFile.Encrypt Prozedur
 
Nur ins Blaue geraten: Hat der Benutzer ein Passwort? Ich kann mir vorstellen, dass Windows die Verschlüsselung verweigert, wenn ein Benutzer kein Passwort hat - analog zum Verweigern des RunAs und des Remotezugriffs auf Freigaben.

MfG Dalai

himitsu 1. Sep 2014 10:04

AW: IOUtils TFile.Encrypt Prozedur
 
In Windows 8.1 wurde der NTFS-Treiber mal wieder erneuert.

Dabei sind Komprimierung und Verschlüsselung halt mit rausgeflogen.
Vielleicht als Entlastung der ARMs? :gruebel:


Und bei Festplatten/Partitionen ab 2 GB wird die Komprimierung auch schon früher (Win7) deaktiviert.



Es gibt ja noch die Zugriffsrechte.
OK, da Microsoft die Spezifikation vom NTFS nicht offenlegte und die Linuxleute sich durch Reverse-Engineering einen Eigenen schrieben, hatten die halt keine Lust das Rechtesystem auch noch nachzubauen und liesen es einfach weg. :stupid:



Tut mir Leid, hatte ich glatt wieder vergessen, das mit dem NTFS-Treiber, da ich bisher nur 8.0 in den Fingern hatte und es da noch ging.

Eventuell geht es noch, wenn man die Partition mit einem älteren Windows neu formatiert, also mit einer älteren NTFS-Version, wo das noch ging. :angel:
Ich hoffe/vermute mal die haben dafür noch einen Treiber an Board, da sie ja auch externe Festplatten noch auslesen können sollten.

Olli73 1. Sep 2014 10:48

AW: IOUtils TFile.Encrypt Prozedur
 
Zitat:

Zitat von himitsu (Beitrag 1270496)
In Windows 8.1 wurde der NTFS-Treiber mal wieder erneuert.

Dabei sind Komprimierung und Verschlüsselung halt mit rausgeflogen.
Vielleicht als Entlastung der ARMs? :gruebel:

Also bei mir steht beides zur Verfügung unter W8.1. Ist allerdings die Proffessional, vielleicht liegt es eher daran?

Gruß,
Olli

himitsu 1. Sep 2014 11:25

AW: IOUtils TFile.Encrypt Prozedur
 
Hmmmmm :gruebel:


Die Partition, auf welcher du das ausprobiert hast, wurde mit der Installation des Windows 8.1 auch neu erstellt?

Ist es ein upgegradetes Windows 8.0?

Ist es ein vorinstalliertes Windows und eventuell von welchem Vertreiber/Händler?

Der schöne Günther 1. Sep 2014 11:27

AW: IOUtils TFile.Encrypt Prozedur
 
Also auf meinen 8.1-Geräten habe ich auch überall Kompression und Verschlüsselung. Wäre mir wirklich neu, dass das auf einmal fehlen sollte. Allerdings sind auch alle 8.1 Professional.

Olli73 1. Sep 2014 11:29

AW: IOUtils TFile.Encrypt Prozedur
 
Zitat:

Zitat von himitsu (Beitrag 1270506)
Hmmmmm :gruebel:


Die Partition, auf welcher du das ausprobiert hast, wurde mit der Installation des Windows 8.1 auch neu erstellt?

Ist es ein upgegradetes Windows 8.0?

Ist es ein vorinstalliertes Windows und eventuell von welchem Vertreiber/Händler?

Könnte natürlich auch am Upgrade liegen...

Konkret ist es ein ASUS-Desktop-Rechner mit vorinstalliertem W8.0 (ohne Prof.) mit Upgrade auf Prof. mit MediaCenter und anschließend auf 8.1 und später auch Update 1.

Gruß,
Olli

himitsu 1. Sep 2014 11:34

AW: IOUtils TFile.Encrypt Prozedur
 
Wenn ihr einen Partitions Manager hättet, dann könnte man dort mal nachsehn, welche NTFS-Version ihr eigentlich habt. (Windows zeigt das ja nicht an, jedenfalls weiß ich nicht wo)

@Roland: Das ist auch ein NTFS? Windows 8 hat ja auch noch das ReFS bekommen.

Olli73 1. Sep 2014 12:09

AW: IOUtils TFile.Encrypt Prozedur
 
Wo hast du eigentlich die Information her, dass es mit W8.1 Prof. (bzw. dem neuen NTFS) nicht funktioniert?

Ich habe nur konkrete Infos zu W8.0 gefunden und dort geht wohl nur mit der Prof.

himitsu 1. Sep 2014 15:01

AW: IOUtils TFile.Encrypt Prozedur
 
Wenn ich das noch wüsste.
Ging damals als Info so rum, als die Win8-Beta rumrannte.

Und mir ist so, als wenn ich es auch mal im deutschen/englischem Wikipedia laß.


Zitat:

Zitat von http://www.winhelp.us/encrypting-file-system-in-windows.html
Only Professional/Business and Ultimate/Enterprise editions of Windows XP, Vista, 7, 8 and 8.1 support file and folder encryption on NTFS file system. The feature is not available in Basic and Home editions, but you can still use encrypted files if you import decryption certificate. FAT file systems and other file systems do not support Encrypting File System.

Grad nochmal schnell sucht, fand ich das.
Vielleicht war die Info nur auf bestimmte Editionen beschränkt ... oder so.

Roland Chastain 1. Sep 2014 18:28

AW: IOUtils TFile.Encrypt Prozedur
 
Zitat:

Zitat von himitsu (Beitrag 1270510)
@Roland: Das ist auch ein NTFS? Windows 8 hat ja auch noch das ReFS bekommen.

Ja, das ist ein NTFS.

Zitat:

Zitat von http://www.winhelp.us/encrypting-file-system-in-windows.html
Only Professional/Business and Ultimate/Enterprise editions of Windows XP, Vista, 7, 8 and 8.1 support file and folder encryption on NTFS file system. The feature is not available in Basic and Home editions, but you can still use encrypted files if you import decryption certificate. FAT file systems and other file systems do not support Encrypting File System.

Ich verstehe nun. Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz