<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mt</id>
	<title>Apache OpenOffice Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mt"/>
	<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/wiki/Special:Contributions/Mt"/>
	<updated>2026-05-09T17:38:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Error_Detection_with_BoundsChecker&amp;diff=195502</id>
		<title>Error Detection with BoundsChecker</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Error_Detection_with_BoundsChecker&amp;diff=195502"/>
		<updated>2011-03-28T12:22:02Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
BoundsChecker is a utility for checking applications for bugs like memory overwrites, reading not initialized memory, use of dangling pointers and much more. &lt;br /&gt;
&lt;br /&gt;
BoundsChecker is available for all Windows platforms. If you don&amp;#039;t have a licensed version yet, you may download an evaluation version from [http://www.microfocus.com/ www.microfocus.com].&lt;br /&gt;
&lt;br /&gt;
I recommend using BoundsChecker version 7.0 or higher, because they improved the detection of memory leaks and BoundsChecker doesn&amp;#039;t report so many wrong memory leaks because of dynamically allocated memory in static objects in libraries.&lt;br /&gt;
&lt;br /&gt;
For integration into Visual Studio 2008, version 9.0 is needed, and for Visual Studio 2010, version 10.0 is required.&lt;br /&gt;
&lt;br /&gt;
For X64 applications, you will need version 10.5.&lt;br /&gt;
&lt;br /&gt;
== Preparations ==&lt;br /&gt;
Install the lasted version of OpenOffice.org, non product builds are preferred for receiving complete stack traces.&lt;br /&gt;
&lt;br /&gt;
Without stack traces, beside that you may need them for debugging, you can&amp;#039;t set error suppressions on specific methods.&lt;br /&gt;
&lt;br /&gt;
An other advantage of non product builds is, that some more objects are destroyed on application exit. This is normally not necessary, but it&amp;#039;s important for finding memory leaks, and therefor only done in non product builds.&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org has it&amp;#039;s own memory manager in the project sal. This should be disabled by building sal/rtl/source/alloc_global.c with dmake ENVCFLAGS=-DFORCE_SYSALLOC.&lt;br /&gt;
Copy sal3.dll to the URE/bin directory.&lt;br /&gt;
&lt;br /&gt;
I didn&amp;#039;t try if new releases of BoundsChecker works well with our own memory manager, maybe with the option &amp;#039;Show leaked allocator blocks&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Installation of BoundsChecker  ==&lt;br /&gt;
&lt;br /&gt;
Install BoundsChecker standalone or as part of the DevPartner Studio (administrative rights are required). &lt;br /&gt;
&lt;br /&gt;
If you want to compile something for BoundsChecker (&amp;quot;FinalCheck&amp;quot;), you need to have nmcl.exe in your PATH (e.g. C:\Program Files (x86)\Common Files\Micro Focus\NMShared\CTI\10.5)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BoundsChecker can be used via integration into Microsoft Visual Studio or stand alone. For debugging purposes, using the Visual Studio integration is recommended.&lt;br /&gt;
&lt;br /&gt;
== Recommended BoundsChecker settings ==&lt;br /&gt;
Configure BoundsChecker via &amp;#039;BoundsChecker/Settings...&amp;#039; in Visual Studio, or via &amp;#039;Program/Settings...&amp;#039; in the BoundsChecker application.&lt;br /&gt;
&lt;br /&gt;
For a complete description of all possible settings see BoundsChecker documentation, these are only some recommendations on how to configure BoundsChecker for testing OpenOffice.org.&lt;br /&gt;
&lt;br /&gt;
The defaults for &amp;#039;General&amp;#039; setting are good, may be you want to reduce stack sizes for using less memory and for better performance.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;API Call reporting&amp;#039;, &amp;#039;COM Call reporting&amp;#039;, &amp;#039;Call Validation&amp;#039; and &amp;#039;COM Object Tracker&amp;#039; can stay off. &lt;br /&gt;
&lt;br /&gt;
You should also turn of &amp;#039;Resource Tracker&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;Resource Tracker&amp;#039; and &amp;#039;Call Validation&amp;#039; might be reasonable only in some projects using the Windows API directly, like VCL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;Memory Tracker&amp;#039; stays enabled.&lt;br /&gt;
&lt;br /&gt;
Turn of &amp;#039;Report leaks immediately&amp;#039;, because some objects register itself somewhere and BoundsChecker reports a lot of wrong memory leaks.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;Enable FinalCheck&amp;#039; should stay enabled for better results.&lt;br /&gt;
&lt;br /&gt;
Turn on &amp;#039;Enforce strict reallocation semantics&amp;#039; for marking pointers as dangling after a realloc, see BoundsChecker help for further information.&lt;br /&gt;
&lt;br /&gt;
If you are searching for a strange error you can&amp;#039;t find with normal settings, you may chose &amp;#039;Check heap blocks at run time - On all memory API calls&amp;#039;, but then OpenOffice.org will become *very* slow.&lt;br /&gt;
&lt;br /&gt;
== Working with BoundsChecker ==&lt;br /&gt;
&lt;br /&gt;
You need to run soffice.bin directly, instead of soffice.exe. This is possible when you extend your PATH variable to contain the Base/program and JRE/bin directory. Adding the brand layer program dir is not necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Searching for memory leaks&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you only are interested in searching for memory leaks, you might disable &amp;#039;FinalCheck&amp;#039;, &amp;#039;Guard bytes&amp;#039;, &amp;#039;Fill on allocation&amp;#039; and &amp;#039;Poison on free&amp;#039; on the &amp;#039;Memory Tracker&amp;#039; page for better performance.&lt;br /&gt;
&lt;br /&gt;
You don&amp;#039;t have to instrument any code for this.&lt;br /&gt;
&lt;br /&gt;
After starting and closing the application you can investigate all memory leaks on the &amp;#039;Memory Leaks&amp;#039; page in the BoundsChecker window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Searching for errors&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can search for errors without instrumenting the code, but in this mode BoundsChecker will miss a lot of different kinds of errors, so it&amp;#039;s highly recommended to instrument the modules you want to test. For further information which errors are only detected with FinalCheck, see BoundsChecker help file, &amp;quot;Checking a Program with FinalCheck&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Compiling OpenOffice.org with BoundsChecker ==&lt;br /&gt;
&lt;br /&gt;
The OpenOffice.org build environment offers some dmake parameters for instrumenting modules with FinalCheck:&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;bndchk=true&amp;#039;&amp;#039;&amp;#039;           Use BoundsChecker instrumentation&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;nmpass=true]&amp;#039;&amp;#039;&amp;#039;        pass-through mode, code will not be instrumented.&lt;br /&gt;
     &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;stoponerror=true]&amp;#039;&amp;#039;&amp;#039;   Stop if an error occurs during instrumentation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;When using bndchk=true, all output file are build into &amp;lt;output tree&amp;gt;.bnd, so you should rename the existing output tree before building some files for BoundsChecker.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have some files you don&amp;#039;t want to instrument, maybe because they lead to runtime problems with BoundsChecker, you can specify nmpass=true, so files are compiled into the BoundsChecker output tree, but without instrumentation.&lt;br /&gt;
&lt;br /&gt;
If a file can not be instrumented, it will be compiled without FinalCheck automatically. Use stoponerror=true if you want to stop the build process in this case.&lt;br /&gt;
&lt;br /&gt;
== General hints ==&lt;br /&gt;
&lt;br /&gt;
If you are only interested in errors in your module, not in memory leak detection, it might be a good idea to use a product build of OpenOffice.org for better performance, but then stack traces are limited to modules that are at least linked with debug information.&lt;br /&gt;
&lt;br /&gt;
For error detection its better to use BoundsChecker integrated into Visual Studio, than using BoundsChecker stand alone, because only in the integrated version you have a &amp;#039;debug&amp;#039; button in the error dialog to immediately start debugging when an error occurs.&lt;br /&gt;
&lt;br /&gt;
Depending on the reported error, you find different call stack in the error window. Use the tab control to switch between &amp;#039;Current Call Stack&amp;#039;, &amp;#039;Call Stack At Allocation&amp;#039; and &amp;#039;Call Stack At Deallocation&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
There different kind of errors and the possible reasons are well explained in the BoundsChecker help, just press the &amp;#039;Explain&amp;#039; button in the dialog.&lt;br /&gt;
&lt;br /&gt;
If you are not interested in some errors that occur very often or don&amp;#039;t belong to the module you want to investigate, you can use the error suppression.&lt;br /&gt;
&lt;br /&gt;
You can suppress this kind of error always, but better is to suppress it only when occurring in a special function or at least a special module or file.&lt;br /&gt;
&lt;br /&gt;
BoundsChecker offers the possibility not to check special modules (Settings/Modules and files), but this can lead to problems and not detected error.&lt;br /&gt;
&lt;br /&gt;
You can&amp;#039;t disable the sal library, because memory allocation is done there, and when this is monitored there is no big different if you turn of some other modules, the memory operations are the most expensive things for BoundsChecker.&lt;br /&gt;
&lt;br /&gt;
== Start Script  ==&lt;br /&gt;
&lt;br /&gt;
Change _NT_SYMBOL_PATH and _OFFICE_ROOT as needed &lt;br /&gt;
&lt;br /&gt;
  @echo off&lt;br /&gt;
  &lt;br /&gt;
  set _NT_SYMBOL_PATH=O:\DEV300\wntmsci12.pro\pdb.m37&lt;br /&gt;
  set _OFFICE_ROOT=e:\openofficeorg30\OpenOffice.org 3&lt;br /&gt;
  &lt;br /&gt;
  SET _OLD_PATH=%PATH%&lt;br /&gt;
  set PATH=%PATH%;%_OFFICE_ROOT%\Basis\program&lt;br /&gt;
  set PATH=%PATH%;%_OFFICE_ROOT%\URE\bin&lt;br /&gt;
  &lt;br /&gt;
  &amp;quot;C:\Program Files (x86)\Micro Focus\DevPartner Studio\BoundsChecker\BC.exe&amp;quot; &amp;quot;%_OFFICE_ROOT%\program\soffice.bin&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  SET PATH=%_OLD_PATH%&lt;br /&gt;
  SET _OLD_PATH=&lt;br /&gt;
  SET _OFFICE_ROOT=&lt;br /&gt;
&lt;br /&gt;
[[Category:Debugging]] [[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Error_Detection_with_BoundsChecker&amp;diff=195501</id>
		<title>Error Detection with BoundsChecker</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Error_Detection_with_BoundsChecker&amp;diff=195501"/>
		<updated>2011-03-28T12:20:16Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
BoundsChecker is a utility for checking applications for bugs like memory overwrites, reading not initialized memory, use of dangling pointers and much more. &lt;br /&gt;
&lt;br /&gt;
BoundsChecker is available for all Windows platforms. If you don&amp;#039;t have a licensed version yet, you may download an evaluation version from [http://www.microfocus.com/ www.microfocus.com].&lt;br /&gt;
&lt;br /&gt;
I recommend using BoundsChecker version 7.0 or higher, because they improved the detection of memory leaks and BoundsChecker doesn&amp;#039;t report so many wrong memory leaks because of dynamically allocated memory in static objects in libraries.&lt;br /&gt;
&lt;br /&gt;
For integration into Visual Studio 2008, version 9.0 is needed, and for Visual Studio 2010, version 10.0 is required.&lt;br /&gt;
&lt;br /&gt;
For X64 applications, you will need version 10.5.&lt;br /&gt;
&lt;br /&gt;
== Preparations ==&lt;br /&gt;
Install the lasted version of OpenOffice.org, non product builds are preferred for receiving complete stack traces.&lt;br /&gt;
&lt;br /&gt;
Without stack traces, beside that you may need them for debugging, you can&amp;#039;t set error suppressions on specific methods.&lt;br /&gt;
&lt;br /&gt;
An other advantage of non product builds is, that some more objects are destroyed on application exit. This is normally not necessary, but it&amp;#039;s important for finding memory leaks, and therefor only done in non product builds.&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org has it&amp;#039;s own memory manager in the project sal. This should be disabled by building sal/rtl/source/alloc_global.c with dmake ENVCFLAGS=-DFORCE_SYSALLOC.&lt;br /&gt;
Copy sal3.dll to the URE/bin directory.&lt;br /&gt;
&lt;br /&gt;
I didn&amp;#039;t try if new releases of BoundsChecker works well with our own memory manager, maybe with the option &amp;#039;Show leaked allocator blocks&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Installation of BoundsChecker  ==&lt;br /&gt;
&lt;br /&gt;
Install BoundsChecker standalone or as part of the DevPartner Studio (administrative rights are required). &lt;br /&gt;
&lt;br /&gt;
If you want to compile something for BoundsChecker (&amp;quot;FinalCheck&amp;quot;), you need to have nmcl.exe in your PATH (e.g. C:\Program Files (x86)\Common Files\Micro Focus\NMShared\CTI\10.5)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BoundsChecker can be used via integration into Microsoft Visual Studio or stand alone. For debugging purposes, using the Visual Studio integration is recommended.&lt;br /&gt;
&lt;br /&gt;
== Recommended BoundsChecker settings ==&lt;br /&gt;
Configure BoundsChecker via &amp;#039;BoundsChecker/Settings...&amp;#039; in Visual Studio, or via &amp;#039;Program/Settings...&amp;#039; in the BoundsChecker application.&lt;br /&gt;
&lt;br /&gt;
For a complete description of all possible settings see BoundsChecker documentation, these are only some recommendations on how to configure BoundsChecker for testing OpenOffice.org.&lt;br /&gt;
&lt;br /&gt;
The defaults for &amp;#039;General&amp;#039; setting are good, may be you want to reduce stack sizes for using less memory and for better performance.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;API Call reporting&amp;#039;, &amp;#039;COM Call reporting&amp;#039;, &amp;#039;Call Validation&amp;#039; and &amp;#039;COM Object Tracker&amp;#039; can stay off. &lt;br /&gt;
&lt;br /&gt;
You should also turn of &amp;#039;Resource Tracker&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;Resource Tracker&amp;#039; and &amp;#039;Call Validation&amp;#039; might be reasonable only in some projects using the Windows API directly, like VCL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;Memory Tracker&amp;#039; stays enabled.&lt;br /&gt;
&lt;br /&gt;
Turn of &amp;#039;Report leaks immediately&amp;#039;, because some objects register itself somewhere and BoundsChecker reports a lot of wrong memory leaks.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;Enable FinalCheck&amp;#039; should stay enabled for better results.&lt;br /&gt;
&lt;br /&gt;
Turn on &amp;#039;Enforce strict reallocation semantics&amp;#039; for marking pointers as dangling after a realloc, see BoundsChecker help for further information.&lt;br /&gt;
&lt;br /&gt;
If you are searching for a strange error you can&amp;#039;t find with normal settings, you may chose &amp;#039;Check heap blocks at run time - On all memory API calls&amp;#039;, but then OpenOffice.org will become *very* slow.&lt;br /&gt;
&lt;br /&gt;
== Working with BoundsChecker ==&lt;br /&gt;
&lt;br /&gt;
You need to run soffice.bin directly, instead of soffice.exe. This is possible when you extend your PATH variable to contain the Base/program and JRE/bin directory. Adding the brand layer program dir is not necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Searching for memory leaks&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you only are interested in searching for memory leaks, you might disable &amp;#039;FinalCheck&amp;#039;, &amp;#039;Guard bytes&amp;#039;, &amp;#039;Fill on allocation&amp;#039; and &amp;#039;Poison on free&amp;#039; on the &amp;#039;Memory Tracker&amp;#039; page for better performance.&lt;br /&gt;
&lt;br /&gt;
You don&amp;#039;t have to instrument any code for this.&lt;br /&gt;
&lt;br /&gt;
After starting and closing the application you can investigate all memory leaks on the &amp;#039;Memory Leaks&amp;#039; page in the BoundsChecker window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Searching for errors&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can search for errors without instrumenting the code, but in this mode BoundsChecker will miss a lot of different kinds of errors, so it&amp;#039;s highly recommended to instrument the modules you want to test. For further information which errors are only detected with FinalCheck, see BoundsChecker help file, &amp;quot;Checking a Program with FinalCheck&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Compiling OpenOffice.org with BoundsChecker ==&lt;br /&gt;
&lt;br /&gt;
The OpenOffice.org build environment offers some dmake parameters for instrumenting modules with FinalCheck:&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;bndchk=true&amp;#039;&amp;#039;&amp;#039;           Use BoundsChecker instrumentation&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;nmpass=true]&amp;#039;&amp;#039;&amp;#039;        pass-through mode, code will not be instrumented.&lt;br /&gt;
     &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;stoponerror=true]&amp;#039;&amp;#039;&amp;#039;   Stop if an error occurs during instrumentation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;When using bndchk=true, all output file are build into &amp;lt;output tree&amp;gt;.bnd, so you should rename the existing output tree before building some files for BoundsChecker.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have some files you don&amp;#039;t want to instrument, maybe because they lead to runtime problems with BoundsChecker, you can specify nmpass=true, so files are compiled into the BoundsChecker output tree, but without instrumentation.&lt;br /&gt;
&lt;br /&gt;
If a file can not be instrumented, it will be compiled without FinalCheck automatically. Use stoponerror=true if you want to stop the build process in this case.&lt;br /&gt;
&lt;br /&gt;
== General hints ==&lt;br /&gt;
&lt;br /&gt;
If you are only interested in errors in your module, not in memory leak detection, it might be a good idea to use a product build of OpenOffice.org for better performance, but then stack traces are limited to modules that are at least linked with debug information.&lt;br /&gt;
&lt;br /&gt;
For error detection its better to use BoundsChecker integrated into Visual Studio, than using BoundsChecker stand alone, because only in the integrated version you have a &amp;#039;debug&amp;#039; button in the error dialog to immediately start debugging when an error occurs.&lt;br /&gt;
&lt;br /&gt;
Depending on the reported error, you find different call stack in the error window. Use the tab control to switch between &amp;#039;Current Call Stack&amp;#039;, &amp;#039;Call Stack At Allocation&amp;#039; and &amp;#039;Call Stack At Deallocation&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
There different kind of errors and the possible reasons are well explained in the BoundsChecker help, just press the &amp;#039;Explain&amp;#039; button in the dialog.&lt;br /&gt;
&lt;br /&gt;
If you are not interested in some errors that occur very often or don&amp;#039;t belong to the module you want to investigate, you can use the error suppression.&lt;br /&gt;
&lt;br /&gt;
You can suppress this kind of error always, but better is to suppress it only when occurring in a special function or at least a special module or file.&lt;br /&gt;
&lt;br /&gt;
BoundsChecker offers the possibility not to check special modules (Settings/Modules and files), but this can lead to problems and not detected error.&lt;br /&gt;
&lt;br /&gt;
You can&amp;#039;t disable the sal library, because memory allocation is done there, and when this is monitored there is no big different if you turn of some other modules, the memory operations are the most expensive things for BoundsChecker.&lt;br /&gt;
&lt;br /&gt;
== Start Script ==&lt;br /&gt;
&lt;br /&gt;
Change _NT_SYMBOL_PATH and _OFFICE_ROOT as needed&lt;br /&gt;
&lt;br /&gt;
  @echo off&lt;br /&gt;
  &lt;br /&gt;
  set _NT_SYMBOL_PATH=O:\DEV300\wntmsci12.pro\pdb.m37&lt;br /&gt;
  set _OFFICE_ROOT=e:\openofficeorg30\OpenOffice.org 3&lt;br /&gt;
  &lt;br /&gt;
  SET _OLD_PATH=%PATH%&lt;br /&gt;
  set PATH=%PATH%;%_OFFICE_ROOT%\Basis\program&lt;br /&gt;
  set PATH=%PATH%;%_OFFICE_ROOT%\URE\bin&lt;br /&gt;
  &lt;br /&gt;
  &amp;quot;c:\Program Files\Compuware\DevPartner Studio\BoundsChecker\BC.exe&amp;quot; &amp;quot;%_OFFICE_ROOT%\program\soffice.bin&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  SET PATH=%_OLD_PATH%&lt;br /&gt;
  SET _OLD_PATH=&lt;br /&gt;
  SET _OFFICE_ROOT=&lt;br /&gt;
&lt;br /&gt;
[[Category:Debugging]]&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Accessibility/Developer&amp;diff=192889</id>
		<title>Accessibility/Developer</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Accessibility/Developer&amp;diff=192889"/>
		<updated>2011-02-01T07:21:04Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accessibility related information for Developers and QA. &lt;br /&gt;
&lt;br /&gt;
This wiki page is meant to replace some of the existing (and sometimes outdated) static HTML pages, and is work in progress.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Accessibility API  ==&lt;br /&gt;
&lt;br /&gt;
=== UNO Accessibility API  ===&lt;br /&gt;
&lt;br /&gt;
The UNO Accessibility API (UAA) defines a set of interfaces and services that are implemented by all UNO objects that belong to the GUI. Corresponding to the tree hierarchy of graphical user interfaces the UAA represents the GUI as a tree of accessible objects which can be queried by AT about properties like names, roles, geometry, and color. &lt;br /&gt;
&lt;br /&gt;
=== API Reference  ===&lt;br /&gt;
&lt;br /&gt;
*[http://ui.openoffice.org/accessibility/unoapi.html OOo&amp;#039;s UNO Accessibility API (UAA)] &lt;br /&gt;
*[http://library.gnome.org/devel//atk/ GNOME&amp;#039;s Accessibility Toolkit (ATK)] &lt;br /&gt;
*[http://developer.apple.com/library/mac/#documentation/cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html NSAccessibility Protocol Reference] &lt;br /&gt;
*[http://download.oracle.com/javase/1.5.0/docs/api/javax/accessibility/package-tree.html Java Accessibility API] &lt;br /&gt;
*[http://msdn.microsoft.com/en-us/library/dd373592%28v=VS.85%29.aspx Microsoft Active Accessibility] &lt;br /&gt;
*[http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/ IAccessible2 API Documentation]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Accessibility&amp;diff=192888</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Accessibility&amp;diff=192888"/>
		<updated>2011-02-01T07:07:23Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenOffice.org]] has support for various &amp;#039;&amp;#039;&amp;#039;Accessibility&amp;#039;&amp;#039;&amp;#039; aspects: keyboard navigation, scheming, assistive technology (AT) support, and much more. &lt;br /&gt;
&lt;br /&gt;
Details can be found here: http://ui.openoffice.org/accessibility/whitepaper.html &lt;br /&gt;
&lt;br /&gt;
There is a mailing list which can be used for user questions and comments, as well as for developer related things. &lt;br /&gt;
&lt;br /&gt;
Please subscribe to &amp;#039;&amp;#039;&amp;#039;accessibility@ui.openoffice.org&amp;#039;&amp;#039;&amp;#039;, or have a look into http://ui.openoffice.org/servlets/SummarizeList?listName=accessibility &lt;br /&gt;
&lt;br /&gt;
The Accessibility Project pages are here: http://ui.openoffice.org/accessibility/ &lt;br /&gt;
&lt;br /&gt;
== OpenOffice.org AT support  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org exposes it&amp;#039;s information to AT via the Java Accessibility API (JAA) on Windows, via GNOME Accessibility API (ATK) on Linux/Solaris with GNOME and via NSAccessibility on MAC&amp;amp;nbsp;OSX. &lt;br /&gt;
&lt;br /&gt;
More details about this can be found [http://ui.openoffice.org/accessibility/at-support.html here]. &lt;br /&gt;
&lt;br /&gt;
Information for Developers and Testers can be found [[Accessibility/Developer|here]].&lt;br /&gt;
&lt;br /&gt;
=== Windows  ===&lt;br /&gt;
&lt;br /&gt;
To use [[Java]] Accessibility, a current version of Java (v1.5 or newer) must be installed. This can be found here: http://java.sun.com/ &lt;br /&gt;
&lt;br /&gt;
Verify that OpenOffice.org uses the correct version: Choose menu Tools/Options/Java. &lt;br /&gt;
&lt;br /&gt;
You also need the “Java Access Bridge for Windows v2”, which can be found here: http://java.sun.com/products/accessbridge/ &lt;br /&gt;
&lt;br /&gt;
You also have to activate AT support in OpenOffice.org: Choose menu Tools/Options/Accessibility and check “Support assistive technology tools”. If you can&amp;#039;t access the OOo GUI, you might want to use a registry key: HKEY_CURRENT_USER\Software\OpenOffice.org\Accessibility\AtToolSupport (dword:1) (Attention: If that key exists, the value from configuration will be ignored) &lt;br /&gt;
&lt;br /&gt;
If you want to install the Access-Bridge only for one user, you can find some hints at [[Windows Access Bridge Single-User Install]]. &lt;br /&gt;
&lt;br /&gt;
Adding support for IAccessible2 is an ongoing effort, see [[Accessibility/IAccessible2 support]] for the status. &lt;br /&gt;
&lt;br /&gt;
=== GNOME  ===&lt;br /&gt;
&lt;br /&gt;
Everything you need is included in current versions of GNOME. &lt;br /&gt;
&lt;br /&gt;
Activate AT support globally: Preferences/Accessibility/Assistive Technology Support, check “Enable assistive technologies” More information can be found here: http://developer.gnome.org/projects/gap/ &lt;br /&gt;
&lt;br /&gt;
[[Accessibility/TextAttributes]] lists the mapping between OOo text properties and ATK text attributes. &lt;br /&gt;
&lt;br /&gt;
=== MacOSX  ===&lt;br /&gt;
&lt;br /&gt;
[http://wiki.services.openoffice.org/wiki/Accessibility/MacOSX MacOSX Accessibility information]. &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org interacts well in general with the VoiceOver screen reader that is built into Mac OS X. Enable the screen reader using Command-F5 and set the options using control-option-F8. OpenOffice.org accepts the VoiceOver Navigation well and for the most part the options are available to the screen reader. Some options can&amp;#039;t be accessed with the screen reader navigation. &lt;br /&gt;
&lt;br /&gt;
=== AT that works  ===&lt;br /&gt;
&lt;br /&gt;
In general, AT support is much better on GNOME than on Windows. This is no limitation within OpenOffice.org, but in Windows AT, which concentrates on other things, not on Java Accessibility. &lt;br /&gt;
&lt;br /&gt;
*Windows, Screen Reader &lt;br /&gt;
**ZoomText 7.11, 8.12, 9.x &lt;br /&gt;
**JAWS 6.2, 7.x &lt;br /&gt;
**NVDA (open source!)&lt;br /&gt;
&lt;br /&gt;
*Windows, Screen Magnifier &lt;br /&gt;
**ZoomText 7.11, 8.12, 9.x&lt;br /&gt;
&lt;br /&gt;
*Windows, On Screen keyboard &lt;br /&gt;
**Probably all, because they just send Windows messages&lt;br /&gt;
&lt;br /&gt;
*GNOME, Screen Reader &lt;br /&gt;
**Orca &lt;br /&gt;
**Gnopernicus&lt;br /&gt;
&lt;br /&gt;
*GNOME, Screen Magnifier &lt;br /&gt;
**Gnopernicus &lt;br /&gt;
**(Orca)&lt;br /&gt;
&lt;br /&gt;
*GNOME, On Screen keyboard &lt;br /&gt;
**GOK &lt;br /&gt;
**Dasher&lt;br /&gt;
&lt;br /&gt;
*Mac OS X &lt;br /&gt;
**VoiceOver&lt;br /&gt;
&lt;br /&gt;
=== Orca  ===&lt;br /&gt;
&lt;br /&gt;
In order to get OpenOffice.org (Version 2.3 and up) speaking through the graphical screenreader Orca (http://live.gnome.org/Orca), you don&amp;#039;t necessarily need to start a gnome-session in GNU/Linux. Setting and exporting the following variables in the shell, will tell the soffice command to use the atk-spi bridge of GTK. &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tt&amp;gt;export SAL_USE_VCLPLUGIN=&amp;quot;gtk&amp;quot; GTK_MODULES=&amp;quot;gail:atk-bridge&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;orca &amp;amp;amp;  # if not already running&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;soffice file.odt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With Orca running, all of OOo&amp;#039;s menu functions are accessible with speech and braille using the left &amp;quot;Alt&amp;quot; key or the right &amp;quot;Menu&amp;quot; key on your keyboard, in combination with navigation functions that Orca provides with its hotkeys (usually Scroll_Lock plus one or more other keys).&lt;br /&gt;
&lt;br /&gt;
== AT support while giving a presentation  ==&lt;br /&gt;
&lt;br /&gt;
While the normal (edit) mode for presentations works well with AT, the slide show itself doesn&amp;#039;t expose much information. The reason is the the slide show only has elements optimized for the slide show, and doesn&amp;#039;t know the real objects in the presentation document. Even knowing the real objects, it&amp;#039;s unclear how to best expose the content, given that you won&amp;#039;t see all content at once, but the many transition effects result in many changes to what you see on the screen. &lt;br /&gt;
&lt;br /&gt;
For making slide shows accessible, people should use the [http://extensions.services.openoffice.org/project/presenter-screen Presenter Console]. (Please note the the currently available extension is not accessible - an update should be available in the OOo 3.2 time frame. See also [[Presenter Console]] for a description of the extension. &lt;br /&gt;
&lt;br /&gt;
In the presenter console, the critical information is exposed to AT: Current slide and it&amp;#039;s notes. &lt;br /&gt;
&lt;br /&gt;
We believe that the presentation slides itself are not a good source for gathering the critical information you need while giving a life presentation, and that people would put information they need in the notes. &lt;br /&gt;
&lt;br /&gt;
I hope some (accessible) documentation / help explaining the keyboard usage will also be available with the next version. See [[Presenter Console#Keyboard_Shortcuts]] for a list of the support keyboard shortcuts. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== OpenOffice.org DAISY support  ==&lt;br /&gt;
&lt;br /&gt;
An Extension for exporting ODT to DAISY / DTBOOK is available here: &lt;br /&gt;
&lt;br /&gt;
[http://odt2dtbook.sourceforge.net/ odt2dtbook OpenOffice.org Extension] &lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
&lt;br /&gt;
[http://markhobley.yi.org:9088/ The Accessibility Users&amp;#039; Wiki] &lt;br /&gt;
&lt;br /&gt;
[[Category:Article]] [[Category:Accessibility]] [[it:IT/Accessibility|it:IT/Accessibility]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Accessibility/Developer&amp;diff=192887</id>
		<title>Accessibility/Developer</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Accessibility/Developer&amp;diff=192887"/>
		<updated>2011-02-01T07:04:29Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accessibility related information for Developers and QA. &lt;br /&gt;
&lt;br /&gt;
This wiki page is meant to replace some of the existing (and sometimes outdated) static HTML pages, and is work in progress.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Accessibility API  ==&lt;br /&gt;
&lt;br /&gt;
=== UNO Accessibility API  ===&lt;br /&gt;
&lt;br /&gt;
The UNO Accessibility API (UAA) defines a set of interfaces and services that are implemented by all UNO objects that belong to the GUI. Corresponding to the tree hierarchy of graphical user interfaces the UAA represents the GUI as a tree of accessible objects which can be queried by AT about properties like names, roles, geometry, and color. &lt;br /&gt;
&lt;br /&gt;
=== API Reference  ===&lt;br /&gt;
&lt;br /&gt;
*[http://ui.openoffice.org/accessibility/unoapi.html OOo&amp;#039;s UNO Accessibility API (UAA)] &lt;br /&gt;
*[http://library.gnome.org/devel//atk/ GNOME&amp;#039;s Accessibility Toolkit (ATK)] &lt;br /&gt;
*[http://developer.apple.com/library/mac/#documentation/cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html NSAccessibility Protocol Reference] &lt;br /&gt;
*[http://download.oracle.com/docs/cd/E17802_01/j2se/javase/technologies/accessibility/docs/jaccess-1.3/doc/index.html Java Accessibility Utilities 1.3] &lt;br /&gt;
*[http://msdn.microsoft.com/en-us/library/dd373592%28v=VS.85%29.aspx Microsoft Active Accessibility] &lt;br /&gt;
*[http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/ IAccessible2 API Documentation]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Accessibility/Developer&amp;diff=192886</id>
		<title>Accessibility/Developer</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Accessibility/Developer&amp;diff=192886"/>
		<updated>2011-02-01T07:03:54Z</updated>

		<summary type="html">&lt;p&gt;Mt: Created page with &amp;#039;Accessibility related information for Developers and QA.   This wiki page is meant to replace some of the existing (and sometimes outdated) static HTML pages.   &amp;lt;br&amp;gt;   == Accessi…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accessibility related information for Developers and QA. &lt;br /&gt;
&lt;br /&gt;
This wiki page is meant to replace some of the existing (and sometimes outdated) static HTML pages. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Accessibility API ==&lt;br /&gt;
&lt;br /&gt;
=== UNO Accessibility API  ===&lt;br /&gt;
&lt;br /&gt;
The UNO Accessibility API (UAA) defines a set of interfaces and services that are implemented by all UNO objects that belong to the GUI. Corresponding to the tree hierarchy of graphical user interfaces the UAA represents the GUI as a tree of accessible objects which can be queried by AT about properties like names, roles, geometry, and color. &lt;br /&gt;
&lt;br /&gt;
=== API Reference  ===&lt;br /&gt;
&lt;br /&gt;
*[http://ui.openoffice.org/accessibility/unoapi.html OOo&amp;#039;s UNO Accessibility API (UAA)] &lt;br /&gt;
*[http://library.gnome.org/devel//atk/ GNOME&amp;#039;s Accessibility Toolkit (ATK)] &lt;br /&gt;
*[http://developer.apple.com/library/mac/#documentation/cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html NSAccessibility Protocol Reference] &lt;br /&gt;
*[http://download.oracle.com/docs/cd/E17802_01/j2se/javase/technologies/accessibility/docs/jaccess-1.3/doc/index.html Java Accessibility Utilities 1.3] &lt;br /&gt;
*[http://msdn.microsoft.com/en-us/library/dd373592%28v=VS.85%29.aspx Microsoft Active Accessibility] &lt;br /&gt;
*[http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/ IAccessible2 API Documentation]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Accessibility&amp;diff=192885</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Accessibility&amp;diff=192885"/>
		<updated>2011-02-01T06:44:08Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenOffice.org]] has support for various &amp;#039;&amp;#039;&amp;#039;Accessibility&amp;#039;&amp;#039;&amp;#039; aspects: keyboard navigation, scheming, assistive technology (AT) support, and much more. &lt;br /&gt;
&lt;br /&gt;
Details can be found here: http://ui.openoffice.org/accessibility/whitepaper.html &lt;br /&gt;
&lt;br /&gt;
There is a mailing list which can be used for user questions and comments, as well as for developer related things. &lt;br /&gt;
&lt;br /&gt;
Please subscribe to &amp;#039;&amp;#039;&amp;#039;accessibility@ui.openoffice.org&amp;#039;&amp;#039;&amp;#039;, or have a look into http://ui.openoffice.org/servlets/SummarizeList?listName=accessibility &lt;br /&gt;
&lt;br /&gt;
The Accessibility Project pages are here: http://ui.openoffice.org/accessibility/ &lt;br /&gt;
&lt;br /&gt;
== OpenOffice.org AT support  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org exposes it&amp;#039;s information to AT via the Java Accessibility API (JAA) on Windows, via GNOME Accessibility API (ATK) on Linux/Solaris with GNOME and via NSAccessibility on MAC&amp;amp;nbsp;OSX.&lt;br /&gt;
&lt;br /&gt;
More details about this can be found here: http://ui.openoffice.org/accessibility/at-support.html. &lt;br /&gt;
&lt;br /&gt;
=== Windows  ===&lt;br /&gt;
&lt;br /&gt;
To use [[Java]] Accessibility, a current version of Java (v1.5 or newer) must be installed. This can be found here: http://java.sun.com/ &lt;br /&gt;
&lt;br /&gt;
Verify that OpenOffice.org uses the correct version: Choose menu Tools/Options/Java. &lt;br /&gt;
&lt;br /&gt;
You also need the “Java Access Bridge for Windows v2”, which can be found here: http://java.sun.com/products/accessbridge/ &lt;br /&gt;
&lt;br /&gt;
You also have to activate AT support in OpenOffice.org: Choose menu Tools/Options/Accessibility and check “Support assistive technology tools”. If you can&amp;#039;t access the OOo GUI, you might want to use a registry key: HKEY_CURRENT_USER\Software\OpenOffice.org\Accessibility\AtToolSupport (dword:1) (Attention: If that key exists, the value from configuration will be ignored) &lt;br /&gt;
&lt;br /&gt;
If you want to install the Access-Bridge only for one user, you can find some hints at [[Windows Access Bridge Single-User Install]]. &lt;br /&gt;
&lt;br /&gt;
Adding support for IAccessible2 is an ongoing effort, see [[Accessibility/IAccessible2 support]] for the status. &lt;br /&gt;
&lt;br /&gt;
=== GNOME  ===&lt;br /&gt;
&lt;br /&gt;
Everything you need is included in current versions of GNOME. &lt;br /&gt;
&lt;br /&gt;
Activate AT support globally: Preferences/Accessibility/Assistive Technology Support, check “Enable assistive technologies” More information can be found here: http://developer.gnome.org/projects/gap/ &lt;br /&gt;
&lt;br /&gt;
[[Accessibility/TextAttributes]] lists the mapping between OOo text properties and ATK text attributes. &lt;br /&gt;
&lt;br /&gt;
=== MacOSX  ===&lt;br /&gt;
&lt;br /&gt;
[http://wiki.services.openoffice.org/wiki/Accessibility/MacOSX MacOSX Accessibility information]. &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org interacts well in general with the VoiceOver screen reader that is built into Mac OS X. Enable the screen reader using Command-F5 and set the options using control-option-F8. OpenOffice.org accepts the VoiceOver Navigation well and for the most part the options are available to the screen reader. Some options can&amp;#039;t be accessed with the screen reader navigation. &lt;br /&gt;
&lt;br /&gt;
=== AT that works  ===&lt;br /&gt;
&lt;br /&gt;
In general, AT support is much better on GNOME than on Windows. This is no limitation within OpenOffice.org, but in Windows AT, which concentrates on other things, not on Java Accessibility. &lt;br /&gt;
&lt;br /&gt;
*Windows, Screen Reader &lt;br /&gt;
**ZoomText 7.11, 8.12, 9.x &lt;br /&gt;
**JAWS 6.2, 7.x &lt;br /&gt;
**NVDA (open source!)&lt;br /&gt;
&lt;br /&gt;
*Windows, Screen Magnifier &lt;br /&gt;
**ZoomText 7.11, 8.12, 9.x&lt;br /&gt;
&lt;br /&gt;
*Windows, On Screen keyboard &lt;br /&gt;
**Probably all, because they just send Windows messages&lt;br /&gt;
&lt;br /&gt;
*GNOME, Screen Reader &lt;br /&gt;
**Orca &lt;br /&gt;
**Gnopernicus&lt;br /&gt;
&lt;br /&gt;
*GNOME, Screen Magnifier &lt;br /&gt;
**Gnopernicus &lt;br /&gt;
**(Orca)&lt;br /&gt;
&lt;br /&gt;
*GNOME, On Screen keyboard &lt;br /&gt;
**GOK &lt;br /&gt;
**Dasher&lt;br /&gt;
&lt;br /&gt;
*Mac OS X &lt;br /&gt;
**VoiceOver&lt;br /&gt;
&lt;br /&gt;
=== Orca  ===&lt;br /&gt;
&lt;br /&gt;
In order to get OpenOffice.org (Version 2.3 and up) speaking through the graphical screenreader Orca (http://live.gnome.org/Orca), you don&amp;#039;t necessarily need to start a gnome-session in GNU/Linux. Setting and exporting the following variables in the shell, will tell the soffice command to use the atk-spi bridge of GTK. &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tt&amp;gt;export SAL_USE_VCLPLUGIN=&amp;quot;gtk&amp;quot; GTK_MODULES=&amp;quot;gail:atk-bridge&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;orca &amp;amp;amp;  # if not already running&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;soffice file.odt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With Orca running, all of OOo&amp;#039;s menu functions are accessible with speech and braille using the left &amp;quot;Alt&amp;quot; key or the right &amp;quot;Menu&amp;quot; key on your keyboard, in combination with navigation functions that Orca provides with its hotkeys (usually Scroll_Lock plus one or more other keys). &lt;br /&gt;
&lt;br /&gt;
== AT support while giving a presentation  ==&lt;br /&gt;
&lt;br /&gt;
While the normal (edit) mode for presentations works well with AT, the slide show itself doesn&amp;#039;t expose much information. The reason is the the slide show only has elements optimized for the slide show, and doesn&amp;#039;t know the real objects in the presentation document. Even knowing the real objects, it&amp;#039;s unclear how to best expose the content, given that you won&amp;#039;t see all content at once, but the many transition effects result in many changes to what you see on the screen. &lt;br /&gt;
&lt;br /&gt;
For making slide shows accessible, people should use the [http://extensions.services.openoffice.org/project/presenter-screen Presenter Console]. (Please note the the currently available extension is not accessible - an update should be available in the OOo 3.2 time frame. See also [[Presenter Console]] for a description of the extension. &lt;br /&gt;
&lt;br /&gt;
In the presenter console, the critical information is exposed to AT: Current slide and it&amp;#039;s notes. &lt;br /&gt;
&lt;br /&gt;
We believe that the presentation slides itself are not a good source for gathering the critical information you need while giving a life presentation, and that people would put information they need in the notes. &lt;br /&gt;
&lt;br /&gt;
I hope some (accessible) documentation / help explaining the keyboard usage will also be available with the next version. See [[Presenter Console#Keyboard_Shortcuts]] for a list of the support keyboard shortcuts. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== OpenOffice.org DAISY support  ==&lt;br /&gt;
&lt;br /&gt;
An Extension for exporting ODT to DAISY / DTBOOK is available here: &lt;br /&gt;
&lt;br /&gt;
[http://odt2dtbook.sourceforge.net/ odt2dtbook OpenOffice.org Extension] &lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
&lt;br /&gt;
[http://markhobley.yi.org:9088/ The Accessibility Users&amp;#039; Wiki] &lt;br /&gt;
&lt;br /&gt;
[[Category:Article]] [[Category:Accessibility]] [[it:IT/Accessibility|it:IT/Accessibility]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=164806</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=164806"/>
		<updated>2010-04-22T06:50:32Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To distinguish between the &amp;amp;quot;old signature&amp;amp;quot; and the one produced by OOo 3.2, the signature component will check if the manifest.xml is part of the signature. If not, then the validation algorithm of OOo 3.0. is used. However, even if the signature validates correctly, it will be indicated, that this is an &amp;amp;quot;old&amp;amp;quot; signature. The wording will be something like &amp;quot;Partial signature&amp;quot;, because the old signature did not comprise all files of the document (the ZIP archive). Signatures created by OOo 3.2 will be displayed as invalid in previous versions of OOo.&lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF. The document signature stream itself might be excluded. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
As a side effect, it will not be possible anymore to sign the macros after signing the document,because the macro signature stream must be included in the document signature. The corresponding menu items should be disabled, or a information needs to be displayed to the user. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Include existing document signatures in newer document signatures ==&lt;br /&gt;
&lt;br /&gt;
The document signature could include all existing signatures. This way it wouldn&amp;#039;t be possible that someone removes old signatures, which where existent in the moment an other person signed the document. Use case: Different people/groups need to sign the document in a certain order. It&amp;#039;s important to see who had signed the document before, and that older signatures can&amp;#039;t be removed afterwords without breaking the signature.&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently. &lt;br /&gt;
&lt;br /&gt;
The signatures are part of the package, contained in META-INF, and dont need to be listed in manifest.xml, so encryption is possible even when signing manifest.xml (w/o storing information for the encryption in the manifest.xml, but in the signature file itself).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification. &lt;br /&gt;
&lt;br /&gt;
== Skip support for self signed certificates?  ==&lt;br /&gt;
&lt;br /&gt;
Self signed certificates are not good for establishing trust, because the user would need to verify the certificate&amp;#039;s fingerprint somehow. &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s very easy to fool people with signing a document with a self signed certificate, using the name and other data from another person. Most users don&amp;#039;t have a deeper knowledge about signatures, certificates and PKI, and they simply look at the name listed in the certificate. &lt;br /&gt;
&lt;br /&gt;
== Certificate revocation  ==&lt;br /&gt;
&lt;br /&gt;
OOo needs to support certification revocation. ([http://www.openoffice.org/issues/show_bug.cgi?id=103420 issue #103420]) &lt;br /&gt;
&lt;br /&gt;
Currently revocation works on Windows, using MS Crypto API, but it doesn&amp;#039;t work with our current implementation on other platforms based on Mozilla profiles and NSS. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=User_Experience/Improving_OOo_Default_Settings&amp;diff=164078</id>
		<title>User Experience/Improving OOo Default Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=User_Experience/Improving_OOo_Default_Settings&amp;diff=164078"/>
		<updated>2010-04-13T10:30:36Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{User Experience}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Renaissance Subproject to Achieve Better Default Settings  ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Executive summary:&amp;#039;&amp;#039;&amp;#039; Please locate your favorite low hanging fruits by _&amp;#039;&amp;#039;&amp;#039;end of April&amp;#039;&amp;#039;&amp;#039;_ to improve default settings in Impress (or all apps for later, but the lmpress focus is till end of April) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Better Defaults&amp;quot;, as this effort is called for short, aims to collect suggestions for better default settings in OOo. First in Impress (in accordance with the present focus of project Renaissance) and later in the other OOo applications. This is a subproject of [http://wiki.services.openoffice.org/wiki/Renaissance Project Renaissance], so it is listed on the [http://wiki.services.openoffice.org/wiki/Renaissance:Impress#Current_Work &amp;quot;Current Work&amp;quot; wiki page] . &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
What does &amp;quot;better defaults&amp;quot; mean? Well, I KNOW there are default settings that you change first thing when you install a new version of OOo. So please share what they are and why the change(s) make(s) your life much easier.&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
For example, two issues Frank found are: &lt;br /&gt;
&lt;br /&gt;
Make objects same size {{bug|54281}} &lt;br /&gt;
&lt;br /&gt;
Text area selection is not very accurate and covers other objects. {{bug|96548}} &lt;br /&gt;
&lt;br /&gt;
One default setting changed recently was {{bug|2446}} Boy did that feel good! Let&amp;#039;s find more of those. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Low Hanging Fruit Clause&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
No new features. The developer should only have to flip a switch on something that is already alive and kicking in the office suite, but just not set as the default. We want results, so the low hanging fruits are the ones we want to grab. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;#039;&amp;#039;&amp;#039;How to Get Started&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Find existing default setting issues or write new RFEs in IssueTracker (use &amp;quot;default&amp;quot; in the title and keyword) and add them to list in the table on this wiki page. &amp;lt;br&amp;gt; Or, if RFE writing is not your kind of thing, just write your desires to achieve default utopia&amp;amp;nbsp;;-) in the table below. Be sure to make it clear where the feature is located (write down where to click to get there) and why it is better to set the default the way you want it as compared to the old setting. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
If you have a complex issue or several defaults in the same area, it would be best if you create an individual wiki page (put link to it in the table below) for all the related defaults like Chris did (see [http://wiki.services.openoffice.org/wiki/GoodDefaults_GridHandling Grid Handling].) Each individual default setting being suggested can then be discussed on the respective wiki pages, just like the discussion in the table at the bottom of the Grind Handling wiki page. That information will serve as the basis for decision making when it comes to evaluation time, because the iTeam will have the discussion and details all in one place (wiki page) and not jumbled all over the mailing lists. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;#039;&amp;#039;&amp;#039;Time Frame&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Please get your 2cents in by the END of APRIL for OOo Impress. Then the iTeam can evaluate the suggestions and decide what to implement with the resources they have. The other applications will follow within the scope of the [http://wiki.services.openoffice.org/wiki/Renaissance Renaissance project].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;List of Better Default Setting Suggestions&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Idea&amp;lt;br&amp;gt; &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Application&amp;lt;br&amp;gt; &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&amp;lt;br&amp;gt; &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Rotation Mode, Guides when Moving on &lt;br /&gt;
| Impress &lt;br /&gt;
| &amp;#039;Rotation Mode after Clicking Object&amp;#039; &amp;amp;amp; &amp;#039;Guides When Moving&amp;#039; are two feature options which are switched off by default =&amp;amp;gt; they should be switched on by default (more info: [http://wiki.services.openoffice.org/wiki/GoodDefaults_GridHandling Grid Handling]). &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Change Handle Size &lt;br /&gt;
| Draw/Impress &lt;br /&gt;
| The current handle size was defined years ago - with displays offering less density than today. I propose to change the default handle size to &amp;quot;large&amp;quot;. This option can be found in the toolbar &amp;quot;Options&amp;quot; (more info: [http://wiki.services.openoffice.org/wiki/GoodDefaults_GridHandling Grid Handling]). &lt;br /&gt;
| [[User:ChristophNoack|ChristophNoack]]&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bullet point lists &lt;br /&gt;
| Impress &lt;br /&gt;
| Bad standard defaults of bullet point lists. If one creates a text frame in Impress and clicks on the button &amp;quot;numbering and bullet points&amp;quot; (Nummerierung und Aufzählungszeichen), the newly created bullet point list has terrible standard defaults: &lt;br /&gt;
*(1) Almost no space between the bullet point and the text. &lt;br /&gt;
*(2) No ident for the second line of text under a bullet point. The second line appears left-justified directly under the bullet point. Instead, there should be a ident of the second line. It should begin exactly there where the first letter in the first line starts.&lt;br /&gt;
&lt;br /&gt;
| [[User:Gerald|Gerald]]&lt;br /&gt;
|-&lt;br /&gt;
| default colour of drawing objects &lt;br /&gt;
| Draw/Impress &lt;br /&gt;
| The default color of drawing object is ugly and has not changed since the 1990ies. For more details, see {{issue|93507}} &lt;br /&gt;
| [[User:Gerald|Gerald]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;Right page&amp;#039; should be next style to &amp;#039;Left page&amp;#039; &lt;br /&gt;
| Writer &lt;br /&gt;
| {{Bug|15498}} &lt;br /&gt;
| Name&lt;br /&gt;
|-&lt;br /&gt;
| Ugly style sheets for headings in Writer &lt;br /&gt;
| Writer &lt;br /&gt;
| I used Writer for several articles, publications, flyers and in all of them the standard headings look ugly and outdated. Any designer would not choose these style sheets for Heading 1-10. Furthermore, in this regard the competition has made large steps forward during the last release cycles. &lt;br /&gt;
| [[User:Gerald|Gerald]]&lt;br /&gt;
|-&lt;br /&gt;
| Make manual page break in Writer better visiable &lt;br /&gt;
| Writer &lt;br /&gt;
| for example use &amp;#039;light blue&amp;#039; and a thicker line. {{bug|33518}} and duplicates {{bug|65150}}, {{bug|82353}}, {{bug|96963}}, {{bug|22646}} &lt;br /&gt;
| Name&lt;br /&gt;
|-&lt;br /&gt;
| Default line too thick &lt;br /&gt;
| Chart &lt;br /&gt;
| especially XY-Charts need hairline lines.{{bug|98803}} &lt;br /&gt;
| Name&lt;br /&gt;
|-&lt;br /&gt;
| Idea &lt;br /&gt;
| Draw &lt;br /&gt;
| Include toolboxes circles, rectangles, text instead of single symbol in drawing toolbar. Reasoning: (1) The &amp;#039;circles and ovals&amp;#039; and the &amp;#039;text&amp;#039; toolbox is not accessible via View - Toolbars in Draw. So currently the only way to access arcs and legends is to customize the drawing toolbar. (2) Draw is used for technical constructions and there those objects are often used, in contrast to Writer or Impress, where drawing objects are used for illustrations in most cases. (3) Using the toolboxes needs no more space than single objects and give you a quick access too, because the last used object remains above for single click. &lt;br /&gt;
| [[User:Regina|Regina]]&lt;br /&gt;
|-&lt;br /&gt;
| Add Math formula icon to standard bar &lt;br /&gt;
| All &lt;br /&gt;
| Math objects are often used in technical documents. You need the way Insert - Object - Formula to insert one. That is too long. For example consider writing a math text for school, which has about twenty formulas per page usually. &lt;br /&gt;
| [[User:Regina|Regina]]&lt;br /&gt;
|-&lt;br /&gt;
| Distance in numbering styles larger &lt;br /&gt;
| Writer &lt;br /&gt;
| Make the distance from number to text in numbering styles larger, so that 10. text is still in line. &lt;br /&gt;
| [[User:Regina|Regina]]&lt;br /&gt;
|-&lt;br /&gt;
| Add a gap in table of contents &lt;br /&gt;
| Writer &lt;br /&gt;
| Add a gap (tab or space) between number and text in table of contents in Writer. The picture shows the ugly default settings. Notice the missing space between number and heading text. [[Image:UglyDefaultSpaceInTOC.png]] &lt;br /&gt;
| [[User:Regina|Regina]]&lt;br /&gt;
|-&lt;br /&gt;
| Use parallel perspective for 3D-scene &lt;br /&gt;
| Draw &lt;br /&gt;
| 3D-scenes in Draw are to illustrate constructions. Often several 3D-objects are combined in one scene. Working with several objects is faulty if &amp;#039;&amp;#039;perspective&amp;#039;&amp;#039; is on. So the first step when working with 3D-objects is to switch to parallel projection. It is &amp;quot;faulty&amp;quot; because it is unhandy to arrange or rotate objects inside a scene when in central perspective and because of {{bug|67847}}. &lt;br /&gt;
| [[User:Regina|Regina]]&lt;br /&gt;
|-&lt;br /&gt;
| Set margins in style of Math formula objects to 0cm &lt;br /&gt;
| Writer &lt;br /&gt;
| Set margins in style of Math formula objects in Writer to 0cm. {{bug|22136}} &lt;br /&gt;
| [[User:Regina|Regina]]&lt;br /&gt;
|-&lt;br /&gt;
| Add a spacing below for tables &lt;br /&gt;
| Writer &lt;br /&gt;
| Add a spacing below for tables in Writer. In normal text flow the style &amp;#039;&amp;#039;text body&amp;#039;&amp;#039; is used, which gives good distance between two paragraphs. It has a spacing above of 0cm and a spacing below of 0.21cm. But after a table the text nearly touches the border of the table, because the table has spacing 0cm. And if you do not use borders the spacing is to small too, because the style &amp;#039;&amp;#039;Table contents&amp;#039;&amp;#039; has below spacing 0cm too. &lt;br /&gt;
| [[User:Regina|Regina]]&lt;br /&gt;
|-&lt;br /&gt;
| Uncheck transparency warning &lt;br /&gt;
| All &lt;br /&gt;
| Uncheck transparency warning in Tools &amp;amp;gt; Options. Modern PCs are fast enough to calculate transparency. So most oft the users no longer need this warning. &lt;br /&gt;
| [[User:Regina|Regina]]&lt;br /&gt;
|-&lt;br /&gt;
| change default color in form wizard &lt;br /&gt;
| Database &lt;br /&gt;
| the default background color of an default form document, created by the form wizard, is anything like orang -&amp;amp;gt; this is a bad default and looks unprofessional =&amp;amp;gt; change it in anything common like &amp;#039;light gray&amp;#039; &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Msc MSC]&lt;br /&gt;
|-&lt;br /&gt;
| switch off impress wizard &lt;br /&gt;
| Impress &lt;br /&gt;
| looks old fashioned, is redundant and annoying &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Wg WG]&lt;br /&gt;
|-&lt;br /&gt;
| Default Clipboard Format for vector graphics &lt;br /&gt;
| All except Draw &lt;br /&gt;
| If someone paste a vector graphic into a document, he normally doesn&amp;#039;t intend to edit it there, but most probably he needs to resize it. Unfortunately scaling of embedded Draw graphics doesn&amp;#039;t work, because text will not scaled proper. Until this work, the user must use Paste Special-&amp;amp;gt;As GDI-Metafile. I think GDI-Metafile should be the default here. &lt;br /&gt;
| Jörg&lt;br /&gt;
|-&lt;br /&gt;
| Changing default font &lt;br /&gt;
| Impress &amp;amp;amp; Draw &lt;br /&gt;
| {{bug|70585}} It should be possible to change the overall default font for text (not the GUI) &lt;br /&gt;
in Impress permanently, using one centralized setting, for example Options -&amp;amp;gt; Openoffice.org -&amp;amp;gt; fonts -&amp;amp;gt; Change default font or somewhere similar. &amp;lt;br&amp;gt; This is especially a problem when working with asian languages. I know you can work around the problem using templates, but it is neither quick, nor is it likely to appear obvious to the average user. &lt;br /&gt;
&lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Change default pen color from neon green &lt;br /&gt;
| Impress &lt;br /&gt;
| {{bug|47990}} As described in BUG 10922 the neon green color of the pen used to draw on a &lt;br /&gt;
presentation is very difficult to see for students in a classroom, and the color is hard coded into OOo. I would like to see the default changed to perhaps black or red, as they are much easier colors to see. BUG 10922 is still a very good idea, but I filed this report to request a simple change of the default color, which should be much easier than what BUG 10922 is requesting. A slightly more ambitious, but still not difficult, would be to read the color value from a file or some such, instead of hard coding it in the OOo source. &amp;lt;br&amp;gt; p.s. available after .. menue: slide show / slide show settings &amp;amp;amp; check &amp;#039;mouse pointer as pen&amp;#039; &amp;amp;amp; starting a presentation&amp;lt;br&amp;gt; Please integrate the patch for the pen, that&amp;#039;s already available in the go-oo-build, into vanilla-ooo. This patch allows to change the configuration of the pen (color, line width etc.).&amp;lt;br&amp;gt; It should be posible to change the configuration of the cursor (from arrow to pen) during the presentation mode (via context menu). &lt;br /&gt;
&lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&amp;lt;br&amp;gt; andreasma&lt;br /&gt;
|-&lt;br /&gt;
| Don&amp;#039;t emulate MS Office&amp;#039;s annoying &amp;quot;clippy&amp;quot; &lt;br /&gt;
| All &lt;br /&gt;
| Options &amp;amp;#124; OpenOffice &amp;amp;#124; General and then Turn off Help Agent and Turn on Extended Tips &lt;br /&gt;
| Safway&lt;br /&gt;
|-&lt;br /&gt;
| Please set all checkboxes in Change Tools --&amp;amp;gt; Options --&amp;amp;gt; Load/Save --&amp;amp;gt; Microsoft Office by default &lt;br /&gt;
| All &lt;br /&gt;
| It is very annoying that these checkboxes are not checked by default because users which own Microsoft Office and open a document with an Excel OLE-object see a document in a different way than a user who does not have Microsoft Office installed. This is because (by default) an installed Excel is used to render the xls-diagrams while (when Excel is not installed) OpenOffice.org is used to render it. When a user sends such a document to a different user it seems as if OpenOffice.org does not display the document in the same way as on the other computer. But the problem is in the OLE-object. When the boxes are checked it would be a better default. &lt;br /&gt;
| parity&lt;br /&gt;
|-&lt;br /&gt;
| Tab Stops with reasonable settings &lt;br /&gt;
| All &lt;br /&gt;
| Tools &amp;amp;gt; Options &amp;amp;gt; Writer or Writer/Web or Calc or Impress or Draw &amp;amp;gt; General &amp;amp;gt; Settings &amp;amp;gt; Tab stops = 0.50 instead of 0.49 &lt;br /&gt;
| Safway&lt;br /&gt;
|-&lt;br /&gt;
| Grid Settings much more manageable and understandable &lt;br /&gt;
| All &lt;br /&gt;
| Tools &amp;amp;gt; Options &amp;amp;gt; Writer or Writer/Web or Calc or Impress or Draw &amp;amp;gt; Grid &lt;br /&gt;
Snap to Grid should be off. Visible Grid should be off. Resolution &amp;amp;gt; Horizontal = 0.10 instead of 0.39. Resolution &amp;amp;gt; Vertical = 0.10 instead of 0.39. Synchronize axes should be on. &lt;br /&gt;
&lt;br /&gt;
| Safway&lt;br /&gt;
|-&lt;br /&gt;
| Table keyboard handling consistent &lt;br /&gt;
| Calc &lt;br /&gt;
| Tools &amp;amp;gt; Options &amp;amp;gt; Calc &amp;amp;gt; Table &amp;amp;gt; Keyboard handling &amp;amp;gt; Insert cell &amp;amp;gt; Column = 0.20 like the others instead of 0.98. &lt;br /&gt;
| Safway&lt;br /&gt;
|-&lt;br /&gt;
| Anchor context sensitive toolbars by default &lt;br /&gt;
| All &lt;br /&gt;
| Context sensitive toolbars (like table, image toolbars) is a great feature &lt;br /&gt;
when you get used to it, but new users just see a toolbar popping in front of their work. I always dock those toolbars to the bottom edge of the window. I think this could be a good default for new (and old) users. &lt;br /&gt;
&lt;br /&gt;
| RGB&lt;br /&gt;
|-&lt;br /&gt;
| Change &amp;quot;Show as tip&amp;quot; for word completion &lt;br /&gt;
| Writer &lt;br /&gt;
| The word completion is a useful feature, but the way it is shown by default is quite &amp;quot;disturbing&amp;quot;: if a &lt;br /&gt;
long suggestion pops when you are near the page edge the word you are writing will jump to next line. &amp;quot;Show as tooltip is a better alternative, IMO. The option is on Tools -&amp;amp;gt; AutoCorrect Options -&amp;amp;gt; Word Completion tab &lt;br /&gt;
&lt;br /&gt;
| RGB&lt;br /&gt;
|-&lt;br /&gt;
| Space Markers Off &lt;br /&gt;
| Writer &lt;br /&gt;
| Turn off markers for spaces (small dots between words). &lt;br /&gt;
| [[User:Mr smyle|mr_smyle]]&lt;br /&gt;
|-&lt;br /&gt;
| Shortcut For Insert Comment &lt;br /&gt;
| Calc, Writer &lt;br /&gt;
| Like Ctrl+Ins or Shift+Ins &lt;br /&gt;
| [[User:Mr smyle|mr_smyle]]&lt;br /&gt;
|-&lt;br /&gt;
| Text Paragraph Indents &lt;br /&gt;
| Writer(RU) &lt;br /&gt;
| For style &amp;#039;Text Body&amp;#039; in RU Locale. Off top margin. Add first line indent 1cm. On justify. &lt;br /&gt;
| [[User:Mr smyle|mr_smyle]]&lt;br /&gt;
|-&lt;br /&gt;
| Many Issues From helen_russian &lt;br /&gt;
| All &lt;br /&gt;
| Look at this page, please: http://translate.google.com/translate?js=y&amp;amp;amp;prev=_t&amp;amp;amp;hl=en&amp;amp;amp;ie=UTF-8&amp;amp;amp;layout=1&amp;amp;amp;eotf=1&amp;amp;amp;u=http%3A%2F%2Fmyooo.ru%2Fcontent%2Fview%2F58%2F1%2F&amp;amp;amp;sl=ru&amp;amp;amp;tl=en -- [[Renaissance:Status Meetings:2010-02-22|Discussion was here]] at 5:05:35 PM &lt;br /&gt;
| [[User:Mr smyle|mr_smyle]]&lt;br /&gt;
|-&lt;br /&gt;
| Show Color Panel &lt;br /&gt;
| Impress &lt;br /&gt;
| View -&amp;amp;gt; Toolbars -&amp;amp;gt; Color Bar &lt;br /&gt;
| [[User:Mr smyle|mr_smyle]]&lt;br /&gt;
|-&lt;br /&gt;
| Please include presenter screen in default install set of OOo. &lt;br /&gt;
| Impress &lt;br /&gt;
| Only this integration in the default install set would make the presenter console usable for many use cases: See more detailed description in {{issue|90415}}. &lt;br /&gt;
| [[User:Gerald|Gerald]]&lt;br /&gt;
|-&lt;br /&gt;
| Remove the limits on multi-level undo! &lt;br /&gt;
| All &lt;br /&gt;
| I assume that this limit is just an out-dated, but hard coded default setting. Please see: {{issue|98009}} &lt;br /&gt;
| [[User:Gerald|Gerald]]&lt;br /&gt;
|-&lt;br /&gt;
| Styles and formatting panel docked right &lt;br /&gt;
| Writer &lt;br /&gt;
| Styles and formatting panel is floating and that&amp;#039;s annoying, partialy because it obstructs sight from file in edition.It should be in right side (or left) docked so it&amp;#039;s always in the same place, and doesn&amp;#039;t obstruct the documents. &lt;br /&gt;
| [[User:Xihh|xihh]]&lt;br /&gt;
|-&lt;br /&gt;
| Find &amp;amp;amp; Replace after selecting a range should have &amp;quot;current selection only&amp;quot; checked by default &lt;br /&gt;
| Calc &lt;br /&gt;
| If you select a range of cells before a Find &amp;amp;amp; Replace, it means in 90% cases that you want to act inside this selection. So the option &amp;quot;current selection only&amp;quot; (two clicks more today) should be: &lt;br /&gt;
 - pre-checked if there is an active cells range selection&lt;br /&gt;
 - unchecked if there is no active cells range selection&lt;br /&gt;
&lt;br /&gt;
| [[User:Gibi|Gilles Bignebat (gibi)]]&lt;br /&gt;
|-&lt;br /&gt;
| All OpenOffice.org programmes should use the same default keyboard short-cut for inserting comments &lt;br /&gt;
| Impress,Calc,Writer &lt;br /&gt;
| Inserting comments in OOo programmes is inconsistent. 1st: since the name has changed from &amp;quot;notes&amp;quot; to &amp;quot;comments&amp;quot;, the keyboard short-cut in Writer is still Ctrl-Alt-N, but should be Ctrl-Alt-C now. 2nd: None of these short-cuts works in Impress or Calc. Why? &lt;br /&gt;
| [[User:Gerald|Gerald]]&lt;br /&gt;
|-&lt;br /&gt;
| Default Impress formula font should be much larger &lt;br /&gt;
| Impress &lt;br /&gt;
| The default font size for formula in Impress (after Insert-&amp;amp;gt;Objects-&amp;amp;gt;Formula) is 12pt which is too small to read on the screen. It should be 16pt or 18pt. Please see: {{issue|21118}}. &lt;br /&gt;
| [[User:Gerald|Gerald]]&lt;br /&gt;
|-&lt;br /&gt;
| Add default keyboard short-cut for inserting new slide &lt;br /&gt;
| Impress &lt;br /&gt;
| Please see: {{issue|100650}}. &lt;br /&gt;
| [[User:Gerald|Gerald]]&lt;br /&gt;
|-&lt;br /&gt;
| Remove old word versions from Save As dialog &lt;br /&gt;
| Writer &lt;br /&gt;
| Take a look at {{issue|21118}}, Word 95 and 6.0 formats aren&amp;#039;t being used much anymore, I have had several users accidentally click on them and lose data from the format change. Since they are at least 15 years old and the number of people using Word 95 and 6.0 are likely a very small number I suggest we disable it by default. (It might be possible to move it over to Export?) &lt;br /&gt;
| [[User:Gquigs|gquigs]]&lt;br /&gt;
|-&lt;br /&gt;
| Remove old staroffice files from Save As dialog &lt;br /&gt;
| Impress, Writer, Calc &lt;br /&gt;
| Similar to above, but I haven&amp;#039;t had users do it accidentally yet. It would also go a long way to make the save as-&amp;amp;gt; file format dropdown less overwhelming to users. (It might be possible to move it over to Export?) &lt;br /&gt;
| [[User:Gquigs|gquigs]]&lt;br /&gt;
|-&lt;br /&gt;
| Enable Vertical Text Button for all &lt;br /&gt;
| Impress, Draw &lt;br /&gt;
| It was disabled apparently on purpose but it makes the interface inconsistent. Also, in many presentations people try to use vertical text and can&amp;#039;t find it (I have been asked by my users about this on many occasions). Alternative solution (which seems odd to get this functionality) is to enable &amp;quot;enhanced support for asian languages&amp;quot; by default. Read more {{issue|54423}} &lt;br /&gt;
| [[User:Gquigs|gquigs]]&lt;br /&gt;
|-&lt;br /&gt;
| Enable Vertical Align Buttons &lt;br /&gt;
| Calc &lt;br /&gt;
| I always enable toolbar buttons for vertical align text in the cells. MT:&amp;amp;nbsp;+1&lt;br /&gt;
| [[User:Mr smyle|mr_smyle]]&lt;br /&gt;
|-&lt;br /&gt;
| Enable Add Comment Button &lt;br /&gt;
| Writer &lt;br /&gt;
| I always enable toolbar button for adding comment in writer &lt;br /&gt;
| [[User:Mr smyle|mr_smyle]]&lt;br /&gt;
|-&lt;br /&gt;
| Attach Numeric Styles to same Paragraph Styles &lt;br /&gt;
| Writer &lt;br /&gt;
| At now default paragraph styles &amp;#039;Numeric paragraph N&amp;#039; &amp;#039;Marked paragraph N&amp;#039; have not same numeric styles. So, activation of NUMERIC style did not activate numeration of paragraph! It`s very unexpected for trivial user. &lt;br /&gt;
| [[User:Dvc|dvc]]&lt;br /&gt;
|-&lt;br /&gt;
| Use&amp;amp;nbsp;??/?? as default for fractions instead of&amp;amp;nbsp;?/? &lt;br /&gt;
| Calc &lt;br /&gt;
| See {{issue|67862}} &lt;br /&gt;
| fst&lt;br /&gt;
|-&lt;br /&gt;
| New Document Property&amp;amp;nbsp;: PrintIntention &lt;br /&gt;
| ALL &lt;br /&gt;
| All users who wish to create documents who has to been &amp;quot;printed&amp;quot; by a professional Printer (high resolution) struggles with the same problem: &amp;lt;br&amp;gt; The size/resolution off the graphics inside a OOdocument. &amp;lt;br&amp;gt; I propose to store a &amp;quot;Printer Intention&amp;quot; in the Document &amp;lt;br&amp;gt; see also http://api.openoffice.org/servlets/ReadMsg?listName=dev&amp;amp;amp;msgNo=22239 &lt;br /&gt;
| Fernand&lt;br /&gt;
|-&lt;br /&gt;
| Default user annimation &lt;br /&gt;
| Impress &lt;br /&gt;
| {{issue|62838}} I want to create a user animation with default behaviour: The object just pops up with no tricky animation. Therefore I have to search for this &amp;quot;animation&amp;quot; type (called in german: &amp;quot;erscheinen&amp;quot;) every time within the large list of possible animations. This costs me a lot of time. It would be better, when this were the default, and only if I really want fancy animation, then I have to choose from the list.&amp;lt;br&amp;gt; clu: idea .. usage tracking can show if one setting is significantly more often shown than other .. and this one can became the new default &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Duration of pause to 0 &lt;br /&gt;
| Impress &lt;br /&gt;
| {{issue|49762}} In Slide Show settings (Slide Show - Slide Show Settings), Impress features a setting for the &amp;quot;duration of pause before the slide show is repeated&amp;quot;. It defaults to 10 seconds. I would suggest to have the default set to 0 seconds in order to improve compatibility with MS Powerpoint users, and secondly to leave the decision to insert a pause to the user. &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Slide Titles editable in navigator &lt;br /&gt;
| Impress &lt;br /&gt;
| {{issue|21888}} The Navigator is a very handy tool to move through a presentation and it also can act as a mini outline of the presentation. However, now the only way to change the slide title shown is to display the Modify Layout dialog from the Format menu. It would be a very nice addition to allow the user to directly edit the title of the slide shown in the Navigator directly in the Navigator. &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Real Slide Titles in Navigator &lt;br /&gt;
| Impress &lt;br /&gt;
| {{issue|21888}} It would also be very useful to display the title actually shown on the slide itself as the title unless the user deliberately changed it. The current &amp;quot;Slide 1&amp;quot;, &amp;quot;Slide 2&amp;quot;, etc. defaults are not very useful for identifying the slide. &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Change default table color &lt;br /&gt;
| Impress &lt;br /&gt;
| {{issue|102922}} After inserting a table I change the color of my table. I added the data. Now if I want to add a new row, then despite the color of my whole table it inserts the row with default color (blue combination). So I need to select that row again &amp;amp;amp; then change the color. Steps to reproduce the bug: &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Shortcut for adding a new slide &lt;br /&gt;
| Impress &lt;br /&gt;
| {{issue|100650}} &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Open pps files in show mode &lt;br /&gt;
| Impress &lt;br /&gt;
| {{issue|52755}} If, during installation, a user choses to associate Microsoft PowerPoint &lt;br /&gt;
documents with Open Office, the default behavior for a .pps (PowerPoint Show) file is changed to this: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\OpenOffice.org 1.9.109\program\soffice.exe&amp;quot; -o &amp;quot;%1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
This causes the presentation to be opened in edit mode when double clicked. However, when using Microsoft PowerPoint as the default handler, double clicking a .pps file causes it to immediately start the show. To achieve the same behavior, and hence ease the migration from MSO to OOo, I believe the default behavior for .pps files should be as follow durring installation: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\OpenOffice.org 1.9.109\program\soffice.exe&amp;quot; -show &amp;quot;%1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| Disable &amp;quot;Allow quick editing&amp;quot; mode as default &lt;br /&gt;
| Draw/Impress &lt;br /&gt;
| The so called quick editing mode at /tools/options/draw/general or /tools/options/impress/general should be disabled by default because people will be able to detect and to move text objects more easily &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:JoostAndrae ja]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;Number recognition&amp;quot; (in tables) should be turned of by default, &lt;br /&gt;
| Writer &lt;br /&gt;
| It&amp;#039;s usefull for advanced user, but disorientating / annoying for new users. Advanced user can easily switch it on. &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Camillem CamilleM]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;tagged PDF&amp;quot; as default &lt;br /&gt;
| All &lt;br /&gt;
| PDF-Export: set &amp;quot;tagged PDF&amp;quot; as default (30% bigger files, but accessible by default) .. from letter of MT &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;don&amp;#039;t register&amp;quot; as default &lt;br /&gt;
| All &lt;br /&gt;
| First-Start-Wizard: &amp;quot;don&amp;#039;t register&amp;quot; as default .. from letter of MT &lt;br /&gt;
| [http://wiki.services.openoffice.org/wiki/User:Clu Clu]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Accessibility&amp;diff=140574</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Accessibility&amp;diff=140574"/>
		<updated>2009-09-17T10:56:38Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenOffice.org]] has support for various &amp;#039;&amp;#039;&amp;#039;Accessibility&amp;#039;&amp;#039;&amp;#039; aspects: keyboard navigation, scheming, assistive technology (AT) support, and much more.&lt;br /&gt;
&lt;br /&gt;
Details can be found here: http://ui.openoffice.org/accessibility/whitepaper.html&lt;br /&gt;
&lt;br /&gt;
There is a mailing list which can be used for user questions and comments, as well as for developer related things. &lt;br /&gt;
&lt;br /&gt;
Please subscribe to &amp;#039;&amp;#039;&amp;#039;accessibility@ui.openoffice.org&amp;#039;&amp;#039;&amp;#039;, or have a look into http://ui.openoffice.org/servlets/SummarizeList?listName=accessibility&lt;br /&gt;
&lt;br /&gt;
The Accessibility Project pages are here: http://ui.openoffice.org/accessibility/&lt;br /&gt;
&lt;br /&gt;
== OpenOffice.org AT support ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org exposes it&amp;#039;s information to AT via the Java Accessibility API (JAA) on Windows, and via GNOME Accessibility API (ATK) on Linux/Solaris with GNOME.&lt;br /&gt;
This way OpenOffice.org should be accessible with AT supporting JAA or ATK.&lt;br /&gt;
&lt;br /&gt;
More details about this can be found here: http://ui.openoffice.org/accessibility/at-support.html.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
To use [[Java]] Accessibility, a current version of Java (v1.5 or newer) must be installed.&lt;br /&gt;
This can be found here: http://java.sun.com/&lt;br /&gt;
&lt;br /&gt;
Verify that OpenOffice.org uses the correct version: Choose menu Tools/Options/Java.&lt;br /&gt;
&lt;br /&gt;
You also need the “Java Access Bridge for Windows v2”, which can be found here: http://java.sun.com/products/accessbridge/ &lt;br /&gt;
&lt;br /&gt;
You also have to activate AT support in OpenOffice.org: Choose menu Tools/Options/Accessibility and check “Support assistive technology tools”.&lt;br /&gt;
If you can&amp;#039;t access the OOo GUI, you might want to use a registry key: HKEY_CURRENT_USER\Software\OpenOffice.org\Accessibility\AtToolSupport (dword:1)&lt;br /&gt;
(Attention: If that key exists, the value from configuration will be ignored)&lt;br /&gt;
&lt;br /&gt;
If you want to install the Access-Bridge only for one user, you can find some hints at [[Windows Access Bridge Single-User Install]].&lt;br /&gt;
&lt;br /&gt;
Adding support for IAccessible2 is an ongoing effort, see [[Accessibility/IAccessible2 support]] for the status.&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
Everything you need is included in current versions of GNOME.&lt;br /&gt;
&lt;br /&gt;
Activate AT support globally: Preferences/Accessibility/Assistive Technology Support, check “Enable assistive technologies”&lt;br /&gt;
More information can be found here: http://developer.gnome.org/projects/gap/&lt;br /&gt;
&lt;br /&gt;
[[Accessibility/TextAttributes]] lists the mapping between OOo text properties and ATK text attributes.&lt;br /&gt;
&lt;br /&gt;
=== MacOSX ===&lt;br /&gt;
&lt;br /&gt;
Please have a look [http://wiki.services.openoffice.org/wiki/Accessibility/MacOSX here].&lt;br /&gt;
&lt;br /&gt;
=== AT that works ===&lt;br /&gt;
&lt;br /&gt;
In general, AT support is much better on GNOME than on Windows. This is no limitation within OpenOffice.org, but in Windows AT, which concentrates on other things, not on Java Accessibility.&lt;br /&gt;
&lt;br /&gt;
* Windows, Screen Reader&lt;br /&gt;
** ZoomText 7.11, 8.12, 9.x&lt;br /&gt;
** JAWS 6.2, 7.x&lt;br /&gt;
** NVDA (open source!)&lt;br /&gt;
&lt;br /&gt;
* Windows, Screen Magnifier&lt;br /&gt;
** ZoomText 7.11, 8.12, 9.x&lt;br /&gt;
&lt;br /&gt;
* Windows, On Screen keyboard&lt;br /&gt;
** Probably all, because they just send Windows messages&lt;br /&gt;
&lt;br /&gt;
* GNOME, Screen Reader&lt;br /&gt;
** Orca&lt;br /&gt;
** Gnopernicus&lt;br /&gt;
&lt;br /&gt;
* GNOME, Screen Magnifier&lt;br /&gt;
** Gnopernicus&lt;br /&gt;
** (Orca)&lt;br /&gt;
&lt;br /&gt;
* GNOME, On Screen keyboard&lt;br /&gt;
** GOK&lt;br /&gt;
** Dasher&lt;br /&gt;
&lt;br /&gt;
* Mac OSX&lt;br /&gt;
** Voice Over&lt;br /&gt;
&lt;br /&gt;
=== Orca ===&lt;br /&gt;
&lt;br /&gt;
In order to get OpenOffice.org (Version 2.3 and up) speaking through the graphical screenreader Orca (http://live.gnome.org/Orca), you don&amp;#039;t necessarily need to start a gnome-session in GNU/Linux. Setting and exporting the following variables in the shell, will tell the soffice command to use the atk-spi bridge of GTK. &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tt&amp;gt;export SAL_USE_VCLPLUGIN=&amp;quot;gtk&amp;quot; GTK_MODULES=&amp;quot;gail:atk-bridge&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;tt&amp;gt;orca &amp;amp;  # if not already running&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;tt&amp;gt;soffice file.odt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With Orca running, all of OOo&amp;#039;s menu functions are accessible with speech and braille using the left &amp;quot;Alt&amp;quot; key or the right &amp;quot;Menu&amp;quot; key on your keyboard, in combination with navigation functions that Orca provides with its hotkeys (usually Scroll_Lock plus one or more other keys).&lt;br /&gt;
&lt;br /&gt;
== AT support while giving a presentation  ==&lt;br /&gt;
&lt;br /&gt;
While the normal (edit) mode for presentations works well with AT, the slide show itself doesn&amp;#039;t expose much information. The reason is the the slide show only has elements optimized for the slide show, and doesn&amp;#039;t know the real objects in the presentation document. Even knowing the real objects, it&amp;#039;s unclear how to best expose the content, given that you won&amp;#039;t see all content at once, but the many transition effects result in many changes to what you see on the screen. &lt;br /&gt;
&lt;br /&gt;
For making slide shows accessible, people should use the [http://extensions.services.openoffice.org/project/presenter-screen Presenter Console]. (Please note the the currently available extension is not accessible - an update should be available in the OOo 3.2 time frame. &lt;br /&gt;
&lt;br /&gt;
In the presenter console, the critical information is exposed to AT: Current slide and it&amp;#039;s notes. &lt;br /&gt;
&lt;br /&gt;
We believe that the presentation slides itself are not a good source for gathering the critical information you need while giving a life presentation, and that people would put information they need in the notes. &lt;br /&gt;
&lt;br /&gt;
I hope some (accessible) documentation / help explaining the keyboard usage will also be available with the next version. For now, the most important keyboard shortcuts are: [Will be filled with valuable information later today] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== OpenOffice.org DAISY support  ==&lt;br /&gt;
&lt;br /&gt;
An Extension for exporting ODT to DAISY / DTBOOK is available here: &lt;br /&gt;
&lt;br /&gt;
[http://odt2dtbook.sourceforge.net/ odt2dtbook OpenOffice.org Extension]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
[http://markhobley.yi.org:9088/ The Accessibility Users&amp;#039; Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Article]]&lt;br /&gt;
[[Category:Accessibility]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134499</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134499"/>
		<updated>2009-07-10T12:58:13Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
**[[Security/Digital Signatures#Certificate revocation|Certificate revocation]]  &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing_the_Encryption_Specification_for_ODF_1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply_to_the_updated_ODF_1.2_Encryption_Specification_in_OOo_3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Document Integrity: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Make_sure_OOo_3.2_would_adhere_to_the_ODF_conformance_clause|Make sure OOo 3.2 would adhere to the ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signatures: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]] &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signatures_for_Extensions|Digital Signatures for Extensions]] &lt;br /&gt;
**[[Security/Digital Signatures#Include_existing_document_signatures_in_newer_document_signatures|Include existing document signatures in newer document signatures ]] &lt;br /&gt;
**[[Security/Digital Signatures#Skip support for self signed certificates?|Skip support for self signed certificates? ]]  &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
**[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
**[[Security/Encryption#Password_length_and_password_pattern|Password length and password pattern ]] &lt;br /&gt;
*Notes and Ideas: &lt;br /&gt;
**[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134498</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134498"/>
		<updated>2009-07-10T12:57:05Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF. The document signature stream itself might be excluded. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
As a side effect, it will not be possible anymore to sign the macros after signing the document,because the macro signature stream must be included in the document signature. The corresponding menu items should be disabled, or a information needs to be displayed to the user. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Include existing document signatures in newer document signatures ==&lt;br /&gt;
&lt;br /&gt;
The document signature could include all existing signatures. This way it wouldn&amp;#039;t be possible that someone removes old signatures, which where existent in the moment an other person signed the document. Use case: Different people/groups need to sign the document in a certain order. It&amp;#039;s important to see who had signed the document before, and that older signatures can&amp;#039;t be removed afterwords without breaking the signature.&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification. &lt;br /&gt;
&lt;br /&gt;
== Skip support for self signed certificates?  ==&lt;br /&gt;
&lt;br /&gt;
Self signed certificates are not good for establishing trust, because the user would need to verify the certificate&amp;#039;s fingerprint somehow. &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s very easy to fool people with signing a document with a self signed certificate, using the name and other data from another person. Most users don&amp;#039;t have a deeper knowledge about signatures, certificates and PKI, and they simply look at the name listed in the certificate. &lt;br /&gt;
&lt;br /&gt;
== Certificate revocation  ==&lt;br /&gt;
&lt;br /&gt;
OOo needs to support certification revocation. ([http://www.openoffice.org/issues/show_bug.cgi?id=103420 issue #103420]) &lt;br /&gt;
&lt;br /&gt;
Currently revocation works on Windows, using MS Crypto API, but it doesn&amp;#039;t work with our current implementation on other platforms based on Mozilla profiles and NSS. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134497</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134497"/>
		<updated>2009-07-10T12:56:07Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF. The document signature stream itself might be excluded. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
As a side effect, it will not be possible anymore to sign the macros after signing the document,because the macro signature stream must be included in the document signature. The corresponding menu items should be disabled, or a information needs to be displayed to the user. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Include existing document signatures in newer document signatures ==&lt;br /&gt;
&lt;br /&gt;
The document signature could include all existing signatures. This way it wouldn&amp;#039;t be possible that someone removes old signatures, which where existent in the moment an other person signed the document. Use case: Different people/groups need to sign the document in a certain order. It&amp;#039;s important to see who had signed the document before, and that older signatures can&amp;#039;t be removed afterwords without breaking the signature.&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification. &lt;br /&gt;
&lt;br /&gt;
== Skip support for self signed certificates?  ==&lt;br /&gt;
&lt;br /&gt;
Self signed certificates are not good for establishing trust, because the user would need to verify the certificate&amp;#039;s fingerprint somehow. &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s very easy to fool people with signing a document with a self signed certificate, using the name and other data from another person. Most users don&amp;#039;t have a deeper knowledge about signatures, certificates and PKI, and they simply look at the name listed in the certificate. &lt;br /&gt;
&lt;br /&gt;
== Certificate revocation  ==&lt;br /&gt;
&lt;br /&gt;
OOo needs to support certification revocation. ([http://www.openoffice.org/issues/show_bug.cgi?id=103420 issue #103420]) &lt;br /&gt;
&lt;br /&gt;
Currently this might already work on Windows, using MS Crypto API, but it doesn&amp;#039;t work with our current implementation on other platforms based on Mozilla profiles and NSS. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134496</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134496"/>
		<updated>2009-07-10T12:52:45Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing_the_Encryption_Specification_for_ODF_1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply_to_the_updated_ODF_1.2_Encryption_Specification_in_OOo_3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Document Integrity: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Make_sure_OOo_3.2_would_adhere_to_the_ODF_conformance_clause|Make sure OOo 3.2 would adhere to the ODF conformance clause]]&lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signatures: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]] &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signatures_for_Extensions|Digital Signatures for Extensions]] &lt;br /&gt;
**[[Security/Digital Signatures#Include_existing_document_signatures_in_newer_document_signatures|Include existing document signatures in newer document signatures ]] &lt;br /&gt;
**[[Security/Digital Signatures#Skip support for self signed certificates?|Skip support for self signed certificates? ]]  &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
**[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
**[[Security/Encryption#Password_length_and_password_pattern|Password length and password pattern ]] &lt;br /&gt;
*Notes and Ideas: &lt;br /&gt;
**[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134495</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134495"/>
		<updated>2009-07-10T12:52:05Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF. The document signature stream itself might be excluded. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
As a side effect, it will not be possible anymore to sign the macros after signing the document,because the macro signature stream must be included in the document signature. The corresponding menu items should be disabled, or a information needs to be displayed to the user. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Include existing document signatures in newer document signatures ==&lt;br /&gt;
&lt;br /&gt;
The document signature could include all existing signatures. This way it wouldn&amp;#039;t be possible that someone removes old signatures, which where existent in the moment an other person signed the document. Use case: Different people/groups need to sign the document in a certain order. It&amp;#039;s important to see who had signed the document before, and that older signatures can&amp;#039;t be removed afterwords without breaking the signature.&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification. &lt;br /&gt;
&lt;br /&gt;
== Skip support for self signed certificates?  ==&lt;br /&gt;
&lt;br /&gt;
Self signed certificates are not good for establishing trust, because the user would need to verify the certificate&amp;#039;s fingerprint somehow. &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s very easy to fool people with signing a document with a self signed certificate, using the name and other data from another person. Most users don&amp;#039;t have a deeper knowledge about signatures, certificates and PKI, and they simply look at the name listed in the certificate. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134494</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134494"/>
		<updated>2009-07-10T12:50:59Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF. The document signature stream itself might be excluded. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
As a side effect, it will not be possible anymore to sign the macros after signing the document,because the macro signature stream must be included in the document signature. The corresponding menu items should be disabled, or a information needs to be displayed to the user. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Include existing document signatures in newer document signatures ==&lt;br /&gt;
&lt;br /&gt;
The document signature could include all existing signatures. This way it wouldn&amp;#039;t be possible that someone removes old signatures, which where existent in the moment an other person signed the document. Use case: Different people/groups need to sign the document in a certain order. It&amp;#039;s important to see who had signed the document before, and that older signatures can&amp;#039;t be removed afterwords without breaking the signature.&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification. &lt;br /&gt;
&lt;br /&gt;
== Skip support for self signed certificates?  ==&lt;br /&gt;
&lt;br /&gt;
Self signed certificates are not good for establishing trust, because the user would need to verify the certificate&amp;#039;s fingerprint somehow. &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s very easy to fool people with signing a document with a self signed certificate, using name and other data from some other person. Normal users which don&amp;#039;t have a deeper knowledge about signatures, certificates and PKI simply look at the name listed in the certificate. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134493</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134493"/>
		<updated>2009-07-10T12:50:45Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF. The document signature stream itself might be excluded. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
As a side effect, it will not be possible anymore to sign the macros after signing the document,because the macro signature stream must be included in the document signature. The corresponding menu items should be disabled, or a information needs to be displayed to the user. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Include existing document signatures in newer document signatures ==&lt;br /&gt;
&lt;br /&gt;
The document signature could include all existing signatures. This way it wouldn&amp;#039;t be possible that someone removes old signatures, which where existent in the moment an other person signed the document. Use case: Different people/groups need to sign the document in a certain order. It&amp;#039;s important to see who had signed the document before, and that older signatures can&amp;#039;t be removed afterwords without breaking the signature.&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification. &lt;br /&gt;
&lt;br /&gt;
== Skip support for self signed certificates  ==&lt;br /&gt;
&lt;br /&gt;
Self signed certificates are not good for establishing trust, because the user would need to verify the certificate&amp;#039;s fingerprint somehow.&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s very easy to fool people with signing a document with a self signed certificate, using name and other data from some other person. Normal users which don&amp;#039;t have a deeper knowledge about signatures, certificates and PKI simply look at the name listed in the certificate.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134492</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134492"/>
		<updated>2009-07-10T12:46:38Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing_the_Encryption_Specification_for_ODF_1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply_to_the_updated_ODF_1.2_Encryption_Specification_in_OOo_3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Document Integrity: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Make_sure_OOo_3.2_would_adhere_to_the_ODF_conformance_clause|Make sure OOo 3.2 would adhere to the ODF conformance clause]]&lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signatures: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]] &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signatures_for_Extensions|Digital Signatures for Extensions]] &lt;br /&gt;
**[[Security/Digital Signatures#Include_existing_document_signatures_in_newer_document_signatures|Include existing document signatures in newer document signatures ]]&lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
**[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
**[[Security/Encryption#Password_length_and_password_pattern|Password length and password pattern ]]&lt;br /&gt;
*Notes and Ideas: &lt;br /&gt;
**[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134491</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134491"/>
		<updated>2009-07-10T12:45:43Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing_the_Encryption_Specification_for_ODF_1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply_to_the_updated_ODF_1.2_Encryption_Specification_in_OOo_3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Document Integrity: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Make_sure_OOo_3.2_would_adhere_to_the_ODF_conformance_clause|Make sure OOo 3.2 would adhere to the ODF conformance clause]]&lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
Encryption:&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Password_length_and_password_pattern|Password length and password pattern ]]&lt;br /&gt;
&lt;br /&gt;
Digital Signatures:&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_for_Extensions|Digital Signatures for Extensions]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Include existing document signatures in newer document signatures |Include existing document signatures in newer document signatures ]] &lt;br /&gt;
&lt;br /&gt;
Notes and Ideas:&lt;br /&gt;
&lt;br /&gt;
[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134490</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134490"/>
		<updated>2009-07-10T12:43:26Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF. The document signature stream itself might be excluded. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
As a side effect, it will not be possible anymore to sign the macros after signing the document,because the macro signature stream must be included in the document signature. The corresponding menu items should be disabled, or a information needs to be displayed to the user. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Include existing document signatures in newer document signatures ==&lt;br /&gt;
&lt;br /&gt;
The document signature could include all existing signatures. This way it wouldn&amp;#039;t be possible that someone removes old signatures, which where existent in the moment an other person signed the document. Use case: Different people/groups need to sign the document in a certain order. It&amp;#039;s important to see who had signed the document before, and that older signatures can&amp;#039;t be removed afterwords without breaking the signature.&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134489</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134489"/>
		<updated>2009-07-10T12:31:25Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
OOo should show a warning when an encrypted document contains streams which should be encrypted, but aren&amp;#039;t. Additionally, macros should be disabled for the document. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
OOo 3.2 needs to comply with the updated encryption specification above. This mainly means that all algorithms used in the different steps needs to be documented in the manifest.xml. It does not mean that OOo would implement other algorithms now. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document...&lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. &lt;br /&gt;
&lt;br /&gt;
This topic needs further discussions...&lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
== Password length and password pattern  ==&lt;br /&gt;
&lt;br /&gt;
Maybe we should remove the ancient minimal password length in the password dialog (but don&amp;#039;t allow empty passwords). &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s better to add some good explanations about strong passwords to password dialogs and online help. (Make sure that old OOo versions don&amp;#039;t check the old min password length when loading encrypted documents) &lt;br /&gt;
&lt;br /&gt;
What about adding some configuration items, so companies can configure OOo to adhere to their password rules? &lt;br /&gt;
&lt;br /&gt;
Ooo-password-properties: MinPasswordLength (default=1 if not set), MinNumbercharacters, MinSpecialCharacters, ForbiddenCharacters. &lt;br /&gt;
&lt;br /&gt;
We would then also need some dialog which explains the password rule to the user. &lt;br /&gt;
&lt;br /&gt;
== Thumbnails in encrypted documents  ==&lt;br /&gt;
&lt;br /&gt;
ODF documents can contain a thumbnail, to display a small picture of the first page in a file explorer. &lt;br /&gt;
&lt;br /&gt;
Currently, encrypted documents contain encrypted thumbnails, which is not good for anything. &lt;br /&gt;
&lt;br /&gt;
Encrypted documents shouldn&amp;#039;t store thumbnails, or should include a thumbnail which makes it clear that the document is encrypted. (issue #XXXXX)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But since encrypted documents mustn&amp;#039;t contain any non encrypted streams (with some exceptions), this would need clarification and/or an updated definition of which streams don&amp;#039;t have to be encrypted. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134488</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134488"/>
		<updated>2009-07-10T12:29:42Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
OOo should show a warning when an encrypted document contains streams which should be encrypted, but aren&amp;#039;t. Additionally, macros should be disabled for the document. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
OOo 3.2 needs to comply with the updated encryption specification above. This mainly means that all algorithms used in the different steps needs to be documented in the manifest.xml. It does not mean that OOo would implement other algorithms now. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document...&lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. &lt;br /&gt;
&lt;br /&gt;
This topic needs further discussions...&lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
== Password length and password pattern  ==&lt;br /&gt;
&lt;br /&gt;
Maybe we should remove the ancient minimal password length in the password dialog (but don&amp;#039;t allow empty passwords). &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s better to add some good explanations about strong passwords to password dialogs and online help. (Make sure that old OOo versions don&amp;#039;t check the old min password length when loading encrypted documents) &lt;br /&gt;
&lt;br /&gt;
What about adding some configuration items, so companies can configure OOo to adhere to their password rules? &lt;br /&gt;
&lt;br /&gt;
Ooo-password-properties: MinPasswordLength (default=1 if not set), MinNumbercharacters, MinSpecialCharacters, ForbiddenCharacters. &lt;br /&gt;
&lt;br /&gt;
We would then also need some dialog which explains the password rule to the user. &lt;br /&gt;
&lt;br /&gt;
== Thumbnails in encrypted documents  ==&lt;br /&gt;
&lt;br /&gt;
ODF documents can contain a thumbnail, to display a small picture of the first page in a file explorer.&lt;br /&gt;
&lt;br /&gt;
Currently, encrypted documents contain encrypted thumbnails, which is not good for anything.&lt;br /&gt;
&lt;br /&gt;
Encrypted documents shouldn&amp;#039;t store thumbnails, or should include a thumbnail which makes clear that the document is encrypted.&lt;br /&gt;
&lt;br /&gt;
But since encrypted documents mustn&amp;#039;t contain any non encrypted streams (with some exceptions), this would need clarification and/or an updated definition of which streams don&amp;#039;t have to be encrypted.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134487</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134487"/>
		<updated>2009-07-10T12:25:02Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF. The document signature stream itself might be excluded. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
As a side effect, it will not be possible anymore to sign the macros after signing the document,because the macro signature stream must be included in the document signature. The corresponding menu items should be disabled, or a information needs to be displayed to the user. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134486</id>
		<title>Security/Document Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134486"/>
		<updated>2009-07-10T12:19:58Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The best way to ensure document integrity is to digitally sign the documents. &lt;br /&gt;
&lt;br /&gt;
But most people won&amp;#039;t do it, or even don&amp;#039;t have the infrastructure for this, so there should be some light weight mechanism for checking the document integrity &lt;br /&gt;
&lt;br /&gt;
== ODF conformance clause  ==&lt;br /&gt;
&lt;br /&gt;
The ODF specification should have some conformance clause, that all files, except package meta data in META-INF folder (signature streams for example) and the mimetype stream, must be registered in manifest.xml. &lt;br /&gt;
&lt;br /&gt;
With the current ODF&amp;amp;nbsp;specification, the META-INF&amp;amp;nbsp;folder should only contain manifest.xml, and might contain some signature streams (*signatures.xml).&lt;br /&gt;
&lt;br /&gt;
When this is defined, an ODF application should not load any files which are not registered in manifest, or show a warning to the user.&lt;br /&gt;
&lt;br /&gt;
== Make sure OOo 3.2 would adhere to the ODF conformance clause ==&lt;br /&gt;
&lt;br /&gt;
Independently from whether or not the conformance clause above will make it into the ODF specification, OpenOffice.org should create documents adhering to the definition above. (isse #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Check ODF integrity in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
Assuming that the conformance clause above will be added to the ODF specification, OOo should warn when loading documents containing streams not registered in manifest.xml.(issue #XXXXX)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The check/warning is not necessary when the document has a broken signature.&lt;br /&gt;
&lt;br /&gt;
This shouldn&amp;#039;t be a problem for older documents (written with OOo), because OOo is already registering all files in manifest.xml &lt;br /&gt;
&lt;br /&gt;
Maybe the check should only be done for ODF&amp;amp;nbsp;1.2 (and newer)&amp;amp;nbsp;documents, to avoid interop problems with documents written by other applications.&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134477</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134477"/>
		<updated>2009-07-10T10:54:53Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing_the_Encryption_Specification_for_ODF_1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply_to_the_updated_ODF_1.2_Encryption_Specification_in_OOo_3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Document Integrity: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Make_sure_OOo_3.2_would_adhere_to_the_ODF_conformance_clause|Make sure OOo 3.2 would adhere to the ODF conformance clause]]&lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_for_Extensions|Digital Signatures for Extensions]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Password length and password pattern |Password length and password pattern ]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134476</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134476"/>
		<updated>2009-07-10T10:54:40Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
OOo should show a warning when an encrypted document contains streams which should be encrypted, but aren&amp;#039;t. Additionally, macros should be disabled for the document. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
OOo 3.2 needs to comply with the updated encryption specification above. This mainly means that all algorithms used in the different steps needs to be documented in the manifest.xml. It does not mean that OOo would implement other algorithms now. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document...&lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. &lt;br /&gt;
&lt;br /&gt;
This topic needs further discussions...&lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
== Password length and password pattern  ==&lt;br /&gt;
&lt;br /&gt;
Maybe we should remove the ancient minimal password length in the password dialog (but don&amp;#039;t allow empty passwords). &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s better to add some good explanations about strong passwords to password dialogs and online help. (Make sure that old OOo versions don&amp;#039;t check the old min password length when loading encrypted documents) &lt;br /&gt;
&lt;br /&gt;
What about adding some configuration items, so companies can configure OOo to adhere to their password rules? &lt;br /&gt;
&lt;br /&gt;
Ooo-password-properties: MinPasswordLength (default=1 if not set), MinNumbercharacters, MinSpecialCharacters, ForbiddenCharacters. &lt;br /&gt;
&lt;br /&gt;
We would then also need some dialog which explains the password rule to the user. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134475</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134475"/>
		<updated>2009-07-10T10:54:06Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing_the_Encryption_Specification_for_ODF_1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply_to_the_updated_ODF_1.2_Encryption_Specification_in_OOo_3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Document Integrity: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Make_sure_OOo_3.2_would_adhere_to_the_ODF_conformance_clause|Make sure OOo 3.2 would adhere to the ODF conformance clause]]&lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_for_Extensions|Digital Signatures for Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Minimal password length and password pattern|Minimal password length and password pattern]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134474</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134474"/>
		<updated>2009-07-10T10:53:22Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
OOo should show a warning when an encrypted document contains streams which should be encrypted, but aren&amp;#039;t. Additionally, macros should be disabled for the document. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
OOo 3.2 needs to comply with the updated encryption specification above. This mainly means that all algorithms used in the different steps needs to be documented in the manifest.xml. It does not mean that OOo would implement other algorithms now. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document...&lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. &lt;br /&gt;
&lt;br /&gt;
This topic needs further discussions...&lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
== Minimal password length and password pattern ==&lt;br /&gt;
&lt;br /&gt;
Maybe we should remove the ancient minimal password length in the password dialog (but don&amp;#039;t allow empty passwords). &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s better to add some good explanations about strong passwords to password dialogs and online help. (Make sure that old OOo versions don&amp;#039;t check the old min password length when loading encrypted documents)&lt;br /&gt;
&lt;br /&gt;
What about adding some configuration items, so companies can configure OOo to adhere to their password rules?&lt;br /&gt;
&lt;br /&gt;
Ooo-password-properties: MinPasswordLength (default=1 if not set), MinNumbercharacters, MinSpecialCharacters, ForbiddenCharacters.&lt;br /&gt;
&lt;br /&gt;
We would then also need some dialog which explains the password rule to the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134473</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134473"/>
		<updated>2009-07-10T10:43:41Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
OOo should show a warning when an encrypted document contains streams which should be encrypted, but aren&amp;#039;t. Additionally, macros should be disabled for the document. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
OOo 3.2 needs to comply with the updated encryption specification above. This mainly means that all algorithms used in the different steps needs to be documented in the manifest.xml. It does not mean that OOo would implement other algorithms now. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document...&lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. &lt;br /&gt;
&lt;br /&gt;
This topic needs further discussions...&lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134472</id>
		<title>Security/Document Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134472"/>
		<updated>2009-07-10T10:40:30Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The best way to ensure document integrity is to digitally sign the documents. &lt;br /&gt;
&lt;br /&gt;
But most people won&amp;#039;t do it, or even don&amp;#039;t have the infrastructure for this, so there should be some light weight mechanism for checking the document integrity &lt;br /&gt;
&lt;br /&gt;
== ODF conformance clause  ==&lt;br /&gt;
&lt;br /&gt;
The ODF specification should have some conformance clause, that all files, except package meta data in META-INF folder (signature streams for example) and the mimetype stream, must be registered in manifest.xml. &lt;br /&gt;
&lt;br /&gt;
When this is defined, an ODF application should not load any files which are not registered in manifest, or show a warning to the user.&lt;br /&gt;
&lt;br /&gt;
== Make sure OOo 3.2 would adhere to the ODF conformance clause ==&lt;br /&gt;
&lt;br /&gt;
Independently from whether or not the conformance clause above will make it into the ODF specification, OpenOffice.org should create documents adhering to the definition above. (isse #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Check ODF integrity in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
Assuming that the conformance clause above will be added to the ODF specification, OOo should warn when loading documents containing streams not registered in manifest.xml.(issue #XXXXX)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The check/warning is not necessary when the document has a broken signature.&lt;br /&gt;
&lt;br /&gt;
This shouldn&amp;#039;t be a problem for older documents (written with OOo), because OOo is already registering all files in manifest.xml &lt;br /&gt;
&lt;br /&gt;
Maybe the check should only be done for ODF&amp;amp;nbsp;1.2 (and newer)&amp;amp;nbsp;documents, to avoid interop problems with documents written by other applications.&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134471</id>
		<title>Security/Document Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134471"/>
		<updated>2009-07-10T10:34:22Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The best way to ensure document integrity is to digitally sign the documents. &lt;br /&gt;
&lt;br /&gt;
But most people won&amp;#039;t do it, or even don&amp;#039;t have the infrastructure for this, so there should be some light weight mechanism for checking the document integrity &lt;br /&gt;
&lt;br /&gt;
== ODF conformance clause  ==&lt;br /&gt;
&lt;br /&gt;
The ODF specification should have some conformance clause, that all files, except package meta data in META-INF folder (signature streams for example) and the mimetype stream, must be registered in manifest.xml. &lt;br /&gt;
&lt;br /&gt;
When this is defined, an ODF application should not load any files which are not registered in manifest, or show a warning to the user.&lt;br /&gt;
&lt;br /&gt;
== Make sure OOo 3.2 would adhere to the ODF conformance clause ==&lt;br /&gt;
&lt;br /&gt;
Independently from whether or not the conformance clause above will make it into the ODF specification, OpenOffice.org should create documents adhering to the definition above. (isse #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Check ODF integrity in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
Assuming that the conformance clause above will be added to the ODF specification, OOo should warn when loading documents containing streams not registered in manifest.xml.(issue #XXXXX)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This shouldn&amp;#039;t be a problem for older documents (written with OOo), because OOo is already registering all files in manifest.xml &lt;br /&gt;
&lt;br /&gt;
Maybe the check should only be done for ODF&amp;amp;nbsp;1.2 (and newer)&amp;amp;nbsp;documents, to avoid interop problems with documents written by other applications.&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134470</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134470"/>
		<updated>2009-07-10T10:32:16Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing_the_Encryption_Specification_for_ODF_1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply_to_the_updated_ODF_1.2_Encryption_Specification_in_OOo_3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Document Integrity: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Make_sure_OOo_3.2_would_adhere_to_the_ODF_conformance_clause|Make sure OOo 3.2 would adhere to the ODF conformance clause]]&lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital Signatures for Extensions|Digital Signatures for Extensions]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134468</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134468"/>
		<updated>2009-07-10T10:30:45Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing_the_Encryption_Specification_for_ODF_1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply_to_the_updated_ODF_1.2_Encryption_Specification_in_OOo_3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Document Integrity: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
**[[Security/Document Integrity#Make sure OOo 3.2 would adhere to the ODF conformance clause|Make sure OOo 3.2 would adhere to the ODF conformance clause]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital Signatures for Extensions|Digital Signatures for Extensions]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134467</id>
		<title>Security/Document Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134467"/>
		<updated>2009-07-10T10:29:36Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The best way to ensure document integrity is to digitally sign the documents. &lt;br /&gt;
&lt;br /&gt;
But most people won&amp;#039;t do it, or even don&amp;#039;t have the infrastructure for this, so there should be some light weight mechanism for checking the document integrity &lt;br /&gt;
&lt;br /&gt;
== ODF conformance clause  ==&lt;br /&gt;
&lt;br /&gt;
The ODF specification should have some conformance clause, that all files, except package meta data in META-INF folder (signature streams for example) and the mimetype stream, must be registered in manifest.xml. &lt;br /&gt;
&lt;br /&gt;
When this is defined, an ODF application should not load any files which are not registered in manifest, or show a warning to the user.&lt;br /&gt;
&lt;br /&gt;
== Make sure OOo 3.2 would adhere to the ODF conformance clause ==&lt;br /&gt;
&lt;br /&gt;
Independently from whether or not the conformance clause above will make it into the ODF specification, OpenOffice.org should create documents adhering to the definition above. (isse #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Check ODF integrity in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
Assuming that the conformance clause above will be added to the ODF specification, OOo should warn when loading documents containing streams not registered in manifest.xml.(issue #XXXXX)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This shouldn&amp;#039;t be a problem for older documents (written with OOo), because OOo is already registering all files in manifest.xml&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134465</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134465"/>
		<updated>2009-07-10T10:23:17Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
OOo 3.2 needs to comply with the updated encryption specification above. This mainly means that all algorithms used in the different steps needs to be documented in the manifest.xml. It does not mean that OOo would implement other algorithms now. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document...&lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. &lt;br /&gt;
&lt;br /&gt;
This topic needs further discussions...&lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134463</id>
		<title>Security/Document Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134463"/>
		<updated>2009-07-10T10:20:07Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The best way to ensure document integrity is to digitally sign the documents. &lt;br /&gt;
&lt;br /&gt;
But most people won&amp;#039;t do it, or even don&amp;#039;t have the infrastructure for this, so there should be some light weight mechanism for checking the document integrity &lt;br /&gt;
&lt;br /&gt;
== ODF conformance clause  ==&lt;br /&gt;
&lt;br /&gt;
The ODF specification should have some conformance clause, that all files, except package meta data in META-INF folder (signature streams for example) and the mimetype stream, must be registered in manifest.xml. &lt;br /&gt;
&lt;br /&gt;
When this is defined, an ODF application should not load any files which are not registered in manifest, or show a warning to the user.&lt;br /&gt;
&lt;br /&gt;
== Check ODF integrity in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
Assuming that the conformance clause above will be added to the ODF specification, OOo should warn when loading documents containing streams not registered in manifest.xml.(issue #XXXXX)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This shouldn&amp;#039;t be a problem for older documents (written with OOo), because OOo is already registering all files in manifest.xml&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134462</id>
		<title>Security/Document Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134462"/>
		<updated>2009-07-10T10:18:16Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The best way to ensure document integrity is to digitally sign the documents. &lt;br /&gt;
&lt;br /&gt;
But most people won&amp;#039;t do it, or even don&amp;#039;t have the infrastructure for this, so there should be some light weight mechanism for checking the document integrity &lt;br /&gt;
&lt;br /&gt;
== ODF conformance clause  ==&lt;br /&gt;
&lt;br /&gt;
The ODF specification should have some conformance clause, that all files, except package meta data in META-INF folder (signature streams for example), must be registered in manifest.xml. &lt;br /&gt;
&lt;br /&gt;
When this is defined, an ODF application should not load any files which are not registered in manifest, or show a warning to the user.&lt;br /&gt;
&lt;br /&gt;
== Check ODF integrity in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
Assuming that the conformance clause above will be added to the ODF specification, OOo should warn when loading documents containing streams not registered in manifest.xml.(issue #XXXXX)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This shouldn&amp;#039;t be a problem for older documents (written with OOo), because OOo is already registering all files in manifest.xml&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134461</id>
		<title>Security/Document Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134461"/>
		<updated>2009-07-10T10:15:32Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The best way to ensure document integrity is to digitally sign the documents. &lt;br /&gt;
&lt;br /&gt;
But most people won&amp;#039;t do it, or even don&amp;#039;t have the infrastructure for this, so there should be some light weight mechanism for checking the document integrity &lt;br /&gt;
&lt;br /&gt;
== ODF conformance clause  ==&lt;br /&gt;
&lt;br /&gt;
The ODF specification should have some conformance clause, that all files, maybe except package meta data in META-INF folder, must be registered in manifest.xml. &lt;br /&gt;
&lt;br /&gt;
When this is defined, an ODF application should not load any files which are not registered in manifest, or show a warning to the user.&lt;br /&gt;
&lt;br /&gt;
== Check ODF integrity in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
Assuming that the conformance clause above will be added to the ODF specification, OOo should warn when loading documents containing streams not registered in manifest.xml.(issue #XXXXX)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This shouldn&amp;#039;t be a problem for older documents (written with OOo), because OOo is already registering all files in manifest.xml&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134460</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security&amp;diff=134460"/>
		<updated>2009-07-10T10:11:48Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}} &lt;br /&gt;
&lt;br /&gt;
== The security project  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page is the collaboration entry point for the [http://security.openoffice.org/ OOo security project]. &lt;br /&gt;
&lt;br /&gt;
For questions and discussions, please use the new mailing list from the security project: [mailto:discuss@security.openoffice.org discuss@security.openoffice.org] &lt;br /&gt;
&lt;br /&gt;
When you plan to file an issue with regard to security, please make sure to add the keyword &amp;lt;tt&amp;gt;security&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== General Topics  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures|Digital Signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption|Encryption]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Document Integrity|Document Integrity]]&lt;br /&gt;
&lt;br /&gt;
== Current Activities  ==&lt;br /&gt;
&lt;br /&gt;
*Digital Signature: &lt;br /&gt;
**[[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Improving the Digital Signature Specification for ODF 1.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Improving_the_Digital_Signature_Implementation_in_OOo_3.2|Digital Signature Implementation in OOo 3.2]] &lt;br /&gt;
**[[Security/Digital Signatures#Inform_the_user_that_OOo.27s_Digital_Signatures_have_no_legal_value|Inform the user that OOo&amp;#039;s Digital Signatures have no legal value]] &lt;br /&gt;
**[[Security/Digital Signatures#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x]] &lt;br /&gt;
*Encryption: &lt;br /&gt;
**[[Security/Encryption#Encrypted_documents_shouldn.27t_have_any_non_encrypted_content|Encrypted documents shouldn&amp;#039;t have any non encrypted content]] &lt;br /&gt;
**[[Security/Encryption#Improving_the_Encryption_Implementation_in_OOo_3.2|Improving the Encryption Implementation in OOo 3.2 ]] &lt;br /&gt;
**[[Security/Encryption#IEnhancing the Encryption Specification for ODF 1.2|Enhancing the Encryption Specification for ODF 1.2 ]] &lt;br /&gt;
**[[Security/Encryption#Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2|Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ]] &lt;br /&gt;
*Other: &lt;br /&gt;
**[[Security/Document Integrity#ODF_conformance_clause|ODF conformance clause]] &lt;br /&gt;
**[[Security/Document Integrity#Check_ODF_integrity_in_OOo_3.2|Check ODF integrity in OOo 3.2]]&lt;br /&gt;
&lt;br /&gt;
== Open Discussions  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Protecting_the_not_encrypted_manifest.xml_in_an_encrypted_document|Protecting the not encrypted manifest.xml in an encrypted document]] &lt;br /&gt;
&lt;br /&gt;
== Notes and Ideas - nothing we currently work on  ==&lt;br /&gt;
&lt;br /&gt;
[[Security/Notes and Ideas#Different_ways_of_doing_encryption_and_signatures|Different ways of doing encryption and signatures]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Public_Key_Document_Encryption|Public Key Document Encryption]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Encryption#Digital_Rights_Management|Digital Rights Management]] &lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital_Signatures_Framework|Digital Signatures Framework]]&lt;br /&gt;
&lt;br /&gt;
[[Security/Digital Signatures#Digital Signatures for Extensions|Digital Signatures for Extensions]]&lt;br /&gt;
&lt;br /&gt;
== Other Pages  ==&lt;br /&gt;
&lt;br /&gt;
[[SecurityFAQ|Frequently Asked Questions]]. Please help us improve the content by editing these pages. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134459</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134459"/>
		<updated>2009-07-10T10:10:08Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
OOo 3.2 needs to comply with the updated encryption specification above. This mainly means that all algorithms used in the different steps needs to be documented in the manifest.xml. It does not mean that OOo would implement other algorithms now. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document...&lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. TBD... &lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134458</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134458"/>
		<updated>2009-07-10T10:09:35Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comply to the updated ODF 1.2 Encryption Specification in OOo 3.2 ==&lt;br /&gt;
&lt;br /&gt;
OOo 3.2 needs to comply with the updated specification above. This mainly means that all algorithms used in the different steps needs to be documented in the manifest.xml. It does not mean that OOo would implement other algorithms now. (issue #XXXXX)&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document...&lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. TBD... &lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134457</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134457"/>
		<updated>2009-07-10T10:06:18Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document... &lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. TBD... &lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134456</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134456"/>
		<updated>2009-07-10T10:06:07Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document... &lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. TBD... &lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134455</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134455"/>
		<updated>2009-07-10T10:05:56Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;2.3 Encryption: The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated and is provided to the package component. &lt;br /&gt;
#The derived key is generated by the component based on the start key. &lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The default way is:&amp;lt;br&amp;gt; &lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component. &lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024. &lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document... &lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. TBD... &lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134454</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134454"/>
		<updated>2009-07-10T10:05:31Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF. &lt;br /&gt;
&lt;br /&gt;
The information about the used algorithms (for each step)&amp;amp;nbsp;need to be documented in the manifest.xml.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS OpenDocument TC:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
2.3 Encryption:&lt;br /&gt;
&lt;br /&gt;
The encryption process takes place in the following multiple stages:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#The start key is generated and is provided to the package component.&lt;br /&gt;
#The derived key is generated by the component based on the start key.&lt;br /&gt;
#The files are encrypted based on the derived key and the encryption algorithm.&lt;br /&gt;
&lt;br /&gt;
The implementation must support at least the described below default way for the mentioned steps. In addition it might support encryption, where algorithms different from the default are used for the steps. The information regarding used for each step algorithms has to be provided in the manifest.xml accordingly.&lt;br /&gt;
&lt;br /&gt;
The default way is:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#The start key is generated. The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see [RFC3174]). The result star key is passed to the package component.&lt;br /&gt;
#The derived key is generated by the package component from the start key. The PBKDF2 algorithm based on HMAC-SHA-1 function (see [RFC2898]) is used for the key derivation. The random number generator initialized with the current time is used to generate 16-byte salt for each file. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024.&lt;br /&gt;
#The files are encrypted. The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in cipher feedback (CFB) mode (see [blowfish]).&lt;br /&gt;
&lt;br /&gt;
Each file that is encrypted is compressed before being encrypted. To allow the contents of the package file to be verified, it is necessary that encrypted files are flagged as &amp;#039;STORED&amp;#039; rather than &amp;#039;DEFLATED&amp;#039;. As entries which are &amp;#039;STORED&amp;#039; must have their size equal to the compressed size, it is necessary to store the uncompressed size in the manifest. The compressed size is stored in both the local file header and central directory record of the Zip file.&amp;lt;br&amp;gt;In an encrypted document all the document files should be encrypted. Non-document files, that are allowed to stay nonencrypted are the files that are recognized as a part of the package format: “mimetype”, “META-INF/manifest.xml” and the signature streams in “META-INF”.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document... &lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. TBD... &lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134453</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134453"/>
		<updated>2009-07-10T09:55:11Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2 ==&lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF.&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document... &lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. TBD... &lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134452</id>
		<title>Security/Encryption</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Encryption&amp;diff=134452"/>
		<updated>2009-07-10T09:54:51Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Encrypted documents shouldn&amp;#039;t have any non encrypted content  ==&lt;br /&gt;
&lt;br /&gt;
Currently it is possible to add any non encrypted content into encrypted documents, simply by putting new streams into the zip archive. &lt;br /&gt;
&lt;br /&gt;
This way, someone could for example add macro code into documents without the need to know the password. &lt;br /&gt;
&lt;br /&gt;
The possibility to add content to an encrypted document is quite bad, and it becomes worse with macros, because passwords increase the level of trust the user has to a document, when it was encrypted by a person he knows. &lt;br /&gt;
&lt;br /&gt;
OOo will detect the macros, and ask the user whether or not to execute them. The user might trust the author of the document, and because of the encryption normally nobody should have been able to manipulate it, so he will probably allow OOo to execute the macros. At least, it&amp;#039;s not possible to bind the macros to some event, so it would get executed automatically. &lt;br /&gt;
&lt;br /&gt;
In general, an encrypted document shouldn&amp;#039;t have any non encrypted content. Exceptions are some files in the META-INF folder: manifest.xml, which is needed to get the encryption information, and the digital signature files also might not be encrypted, depending on the signature implementation. &lt;br /&gt;
&lt;br /&gt;
== Improving the Encryption Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
For OOo 3.2, we plan to improve the document encryption, or better, the handling of documents which have issues like mentioned above (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
When OOo opens an encrypted document, it will check via the manifest if all files are encrypted. All encrypted files in a ODF zip archive must use the same encryption key. It is also necessary to check the actual file content, and not the manifest alone. This could be done on access, or in a background process for all files. When detecting not encrypted files, OOo will show a warning to the user, and will not execute any unencrypted macros in encrypted documents.&lt;br /&gt;
&lt;br /&gt;
== Enhancing the Encryption Specification for ODF 1.2 &lt;br /&gt;
&lt;br /&gt;
Currently the ODF specification specifies one way for encrypting ODF documents, and ODF applications can&amp;#039;t chose different algorithms. &lt;br /&gt;
Choosing other encryption algorithms can be important, to comply with encryption rules from a company or Government using ODF.&lt;br /&gt;
&lt;br /&gt;
== Missing Encryption of manifest.xml  ==&lt;br /&gt;
&lt;br /&gt;
To some people it looks surprising that the manifest.xml is not encrypted. &lt;br /&gt;
&lt;br /&gt;
Actually, the manifest.xml contains the information that any ODF application needs to open the document, including the encryption and hash algorithms which have been used to encrypt the document... &lt;br /&gt;
&lt;br /&gt;
== Protecting the not encrypted manifest.xml in an encrypted document  ==&lt;br /&gt;
&lt;br /&gt;
Since the manifest.xml can&amp;#039;t be encrypted, someone could make modifications to manifest.xml in encrypted documents. &lt;br /&gt;
&lt;br /&gt;
It needs to be discussed if there needs to be some protection against this. &lt;br /&gt;
&lt;br /&gt;
For example, we could generate some signature/hash for manifest.xml, store it in a separate stream in the META-INF folder, encrypted with the same key like the other files in the package. &lt;br /&gt;
&lt;br /&gt;
This could be some OOo-only solution, and OOo would only warn when the signature is missing in documents written with OOo, or it could become part of some future version of the ODF specification. TBD... &lt;br /&gt;
&lt;br /&gt;
== Public Key Document Encryption  ==&lt;br /&gt;
&lt;br /&gt;
It would be a nice feature to allow public key encryption for encrypting documents. People could encrypt the documents with their own and/or with other people&amp;#039;s public key certificates, so only the owners of the corresponding private keys would be able to open the document. No need to exchange or remember passwords. &lt;br /&gt;
&lt;br /&gt;
== Digital Rights Management  ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org could support DRM. The part &amp;quot;user can/can&amp;#039;t open a document&amp;quot; makes sense, can be implemented reliable. Enhanced rights/restrictions like &amp;quot;can copy/print/...&amp;quot; can&amp;#039;t be guaranteed, because they could be removed easily in an open source application. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.slideshare.net/Malte.Timmermann/openofficeorgstaroffice-drm-omc-workshop-2006-presentation my slides] from Sun&amp;#039;s [http://www.openmediacommons.org/ Open Media Commons] workshop. &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134451</id>
		<title>Security/Document Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Document_Integrity&amp;diff=134451"/>
		<updated>2009-07-10T09:37:07Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The best way to ensure document integrity is to digitally sign the documents. &lt;br /&gt;
&lt;br /&gt;
But most people won&amp;#039;t do it, or even don&amp;#039;t have the infrastructure for this, so there should be some light weight mechanism for checking the document integrity &lt;br /&gt;
&lt;br /&gt;
== ODF conformance clause  ==&lt;br /&gt;
&lt;br /&gt;
The ODF specification should have some conformance clause, that all files, maybe except package meta data in META-INF folder, must be registered in manifest.xml. &lt;br /&gt;
&lt;br /&gt;
When this is defined, an ODF application should not load any files which are not registered in manifest, or show a warning to the user.&lt;br /&gt;
&lt;br /&gt;
== Check ODF integrity in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
Assuming that the conformance clause above will be added to the ODF specification, OOo should warn when loading documents with broken integrity.(issue #XXXXX)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This shouldn&amp;#039;t be a problem for older documents (written with OOo), because OOo is already registering all files in manifest.xml&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134450</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134450"/>
		<updated>2009-07-10T09:35:32Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]]. The manifest.xml needs to be included in the document signature, as well as other streams in META-INF&amp;amp;nbsp;except signature streams. (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134449</id>
		<title>Security/Digital Signatures</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Security/Digital_Signatures&amp;diff=134449"/>
		<updated>2009-07-10T09:31:23Z</updated>

		<summary type="html">&lt;p&gt;Mt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Signature Specification for ODF 1.2  ==&lt;br /&gt;
&lt;br /&gt;
Digital Signatures have already been specified in an ODF&amp;amp;nbsp;1.2 draft from 2007 ([http://www.oasis-open.org/committees/download.php/25264/compact_OpenDocument-v1.2-draft6.odt OpenDocument-v1.2-draft6.odt]). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
However, after [http://blogs.sun.com/malte/entry/comments_on_the_black_hat studying the&amp;amp;nbsp;Black Hat 2009 OOo Security Briefing], we feel that the final ODF&amp;amp;nbsp;1.2 specification needs to be improved, so that the manifest.xml will also be part of a document signature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not clear whether or not the document signature file itself should also always been signed, because it depends on the use case, so we want to leave this as optional.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This is the latest draft of the proposal that we will send to the OASIS&amp;amp;nbsp;OpenDocument TC:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Document and Macro Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package. A document signature is a digital signature that is applied to all files contained in a package, regardless whether they are defined by this specification or are application specific extensions. This also includes files which carry meta information used by the package itself, such as manifest.xml, additional signature files, but might exclude the signature file itself. Because the signature is applied to every file, applications can detect if additional files were added after the document had been signed. This applies also for additional signature files contained in META-INF, such as macrosignatures.xml. If files were added after the document signature had been created, then applications must inform the user, for example, by indicating that the signature is broken. &amp;lt;br&amp;gt;Document signatures are stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. A document signature shall be considered to be valid only if the &amp;#039;XML-Digital Signature&amp;#039; contained in documentsignatures.xmlisvalid itself, if it is applied to all filesof thpackage, which may include the signature file itself, and if no files were added after the signature was created.A macro signature is a digital signature that is applied to macro code and other executable code that may be contained in a package. Macro signatures are stored in a file called META-INF/macrosignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3. Since macro code and executable code is application specific, this specification does not define to which files a macro signature applies. However, an application shall consider a macro signature as invalid if a package contains files to which the macro signature is not applied, and which contain macro or executable code that the application is able to execute.&amp;lt;br&amp;gt;Since a document signature is applied to all files, it includes the files to which a macro signature is applied. A document may have document and macro signatures applied simultaneously, and may have further applications specific signatures applied to its package. &amp;lt;br&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;2.4 Digital Signatures&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Document files and package files, that is the files which carry meta information for the package, such as manifest.xml,imay have a digital signature applied.Digital signatures are stored in one or more files within the META-INF folder. The names of these files shall contain the term &amp;quot;signatures&amp;quot;. Each of these files contains a &amp;amp;lt;dsig:document-signatures&amp;amp;gt; root element that serves as a container for an arbitrary &amp;amp;lt;Signature&amp;amp;gt; element as defined by the [xml-dsig] specification. If the &amp;amp;lt;dsig:document-signatures&amp;amp;gt; element contains multiple &amp;amp;lt;Signature&amp;amp;gt; elements, then there should be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.&amp;lt;br&amp;gt;Applications may require that a digital signature includes a certain set of files. That is, they may consider a digital signature to be valid if, and only if,&amp;lt;br&amp;gt;the digital signature itself is valid, and&amp;lt;br&amp;gt;if the &amp;amp;lt;Reference&amp;amp;gt; child elements of the &amp;amp;lt;Signature&amp;amp;gt; element reference a certain set of files.&amp;lt;br&amp;gt;In particular, application may require that a digital signature references all files contained in a package.&amp;lt;br&amp;gt;The schema for digital signatures is: ...&amp;lt;br&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Improving the Digital Signature Implementation in OOo 3.2  ==&lt;br /&gt;
&lt;br /&gt;
The implementation of the digital signatures need to be changed to match the updated [[Security/Digital Signatures#Digital_Signature_Specification_for_ODF_1.2|Digital Signature Specification for ODF 1.2]] (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
For ODF 1.0/1.1 documents, some special handling for not signed macro streams in a signed document is needed ([[#Show_a_warning_for_not_signed_macro_streams_in_documents_signed_with_OpenOffice.org_2.x|see below]]), because the implementation was different than what is specified in ODF 1.2 now (issue #XXXXX). &lt;br /&gt;
&lt;br /&gt;
Older versions of OOo with a document signature only check for not signed files when these are not located in the META-INF folder. With OOo 3.2, this check will be enhanced to also check for not signed content in the META-INF folder. (issue #XXXXX).&lt;br /&gt;
&lt;br /&gt;
== Encryption of Digital Signatures in Encrypted Documents  ==&lt;br /&gt;
&lt;br /&gt;
Currently OOo doesn&amp;#039;t encrypt digital signatures in encrypted documents. This doesn&amp;#039;t make the signatures less reliable, and there are arguments for encrypting the signatures as well as arguments for not doing so. &lt;br /&gt;
&lt;br /&gt;
No encrypting the signatures can be a privacy issue. because someone could see who has signed a document. But on the other side, some automatic processes can&amp;#039;t verify the signature when it&amp;#039;s encrypted. &lt;br /&gt;
&lt;br /&gt;
For now, we don&amp;#039;t have any plans to change the current implementation. In the future, additional signature implementations might handle it differently.&lt;br /&gt;
&lt;br /&gt;
== Show a warning for not signed macro streams in documents signed with OpenOffice.org 2.x  ==&lt;br /&gt;
&lt;br /&gt;
The first implementations of digital signatures in OpenOffice.org 2.x completely separated signing document content from signing scripting content. Macros have not been included in the document signatures, so they could be manipulated in a signed document. This behavior changed in OpenOffice.org 3, where the macros are now also signed when the document is signed (without having the same status like explicitly signed macros). &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons, OOo should show a warning (and not a broken signature) when a signed document contains macros which are not signed, but only for documents created with OpenOffice.org 2.x. &lt;br /&gt;
&lt;br /&gt;
The warning will not contain any extra explanation text that the issue can have happened for legacy reasons - signed ODF documents with macros are probably not used that much.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inform the user that OOo&amp;#039;s Digital Signatures have no legal value  ==&lt;br /&gt;
&lt;br /&gt;
While the digital signatures help for author authentication and for ensuring document integrity, the implementation in OOo is not a certified solution, so the signatures won&amp;#039;t have any legal value in most countries. &lt;br /&gt;
&lt;br /&gt;
OOo should inform the user about this when he starts to add a digital signature to a document. There should be a configuration item to disable the warning. (issue #XXXXX) &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures Framework  ==&lt;br /&gt;
&lt;br /&gt;
There are some ideas for a digital signature framework, so other (3rd party) implementations can be used in OpenOffice.org. See the [http://wiki.services.openoffice.org/wiki/Improving_The_Digital_Signature_Feature description in the Wiki] and [http://marketing.openoffice.org/ooocon2008/programme/friday_1419.odp Jochen&amp;#039;s presentation]. &lt;br /&gt;
&lt;br /&gt;
== Digital Signatures for Extensions  ==&lt;br /&gt;
&lt;br /&gt;
It would be good if OpenOffice.org extensions could be digitally signed, for publisher authentication as well as for integrity verification.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mt</name></author>
	</entry>
</feed>