Wie kann man Makros signieren?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

ejomi
***
Beiträge: 84
Registriert: Mi, 06.09.2006 15:20

Wie kann man Makros signieren?

Beitrag von ejomi »

Nunja - das Betreff ist ja bereits die Frage.

In einem Writer-Dokument kann man bekanntlich Makros signieren
(entweder zusammen mit dem Dokument unter "Datei/Eigenschaften/Digitale Signatur"
oder nur das Makro ansich unter "Extras/Makros/Digitale Signatur").

Unter OO-Base stehen aber leider keine der beiden Methoden zur Verfügung!

Gibt es da eine Lösung?

Herzliche Grüße aus dem fernen Dresden: ejomi


P.S.
Bevor wieder irgendein Schlaumeier statt einer Antwort nur die Frage "warum" stellt,
hier vorbeugend meine Erläuterung: Es geht darum, dass ich innerhalb der Firma
ein eigenes Datenbankprojekt mit Makros einsetze aber die Makro-Sicherheitsstufe
aller OO-Produkte aus naheliegenden Gründen weiterhin auf "Hoch" eingestellt
lassen möchte. Unsignierte Makros werden bei dieser Sicherheitsstufe nicht ausgeführt.
Ich verfüge über eine lokal gültige Signatur innerhalb des Netzwerks, mit dem ich
z.B. auch alle VBA-Projekte signiert habe - nun ist OO dran - und kann's nicht!
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Wie kann man Makros signieren?

Beitrag von Stephan »

Gibt es da eine Lösung?
Ich sage nicht ja, sondern besser Naja ... denn ich sehe keinen direkten Weg.

Ich sehe jedoch mögliche workarounds:

1. Du könntest die komplette Datenbank in ein *.odt packen und beim Öffnen der *.odt temporär entpacken. Sowas war früher einmal üblich/nötig als *.odb noch keinen Autostart für Makros hatte.

2. Du könntest Deine Datenbank per Extension verteilen und nötige Makros dabei in die zentrale OOo-Makroverwaltung installieren.
Praktisch würde (falls Du nicht zentral installieren möchtest) die Extension dabei im user-Ordner, des jeweiligen Nutzers, im uno-Packages-Verzeichnis installiert, ebenso die Datenbank und du brauchtest nur noch mittels der Extension einen Menüeintrag oder Schaltfläche oder eigene Symbolleiste zu installieren um die DB später bequem starten zu können.


Für einen Unternehmenseinsatz würde ich den zweiten Weg bevorzugen.

(Wenn Du geschickt bist kannst du das letztlich sogar soweit treiben das der Nutzer nicht einmal mitbekommt was im Hintergrund passiert, denn auch hier kannst Du alles (also die Extension) in eine *.odt packen, die Dateiendung auf *.odb ändern und dort rein ein signiertes Autostartmakro legen (das geht weil DEin BS die *.odb an Base verfüttert, dabei OOo aber den Type prüft und dann an Writer weiterreicht), weelches dann im Hintergrund die Extension installiert (wenn die Datei das alklererste Mal gestartet wird) oder die DB startet (wenn die Extension bereits installiert war). Der Nutzer wird davon weitestgehend nichts merken weil er glaubt nur eine *.odb zu starten.
Praktisch ist das natürlich Spielerei, weil es mehr Aufwand bedeutet und den eine Firma nicht ohne GRund bezahlen wird.)
nun ist OO dran - und kann's nicht!
Ja, ganz berechtigte Kritik.
Der Hintergrund (eher der 'Anlass', denn die Probleme rühren letzlich daher das Base immer noch nicht fertig entwickelt ist) ist technischerseits das eine *.odb etwas ganz anderes ist als die 'normalen' Dateien *.odt usw., weil eine *.odb quasi nur ein Container ist bzw. ein zusätzlicher Container um die Container der z.B. Formulare der DB, die ihrerseits prinzipiell *.odt's sind.
(*.odb ist im Übrigen auch nicht im ISO-Standard für OpenDocument enthalten)
Außerdem gibt es wohl eine gewisse grundsätzliche Abneigung der OOo-Entwickler 'Standalone-Datenbankdateien' als richtige Datenbanken zu begreifen, denn solange Du keine *.odb mit interner Datenbank nutzt, sondern mithilfe der *.odb auf externen Datenbanken zugreifst sind ja alle Probleme technisch nicht mehr existent, sondern nur noch bedientechnisch da dann ja letztlich für alles ein externes Formular reichen würde wie es das bereits in OOo 1.x gab. (womit ich nich sagen will das bedientechnische Probleme keine Probleme wären)


Und auch ich will mich abschließend gleich absichern, indem ich sage das Obiges Dinge sind die als workaround ggf. geeignet sein können um Dein konkretes Problem zu entschärfen, jedoch damit nicht die Aussage verbunden ist das das Ganze in OOo selbst bereits gut genug gelöst wäre, denn DEine Kritik zur Nichtmöglichkeit der Signatur unter bestimmten Bedingungen ist, meiner Meiunung nach, völlig berechtigt.



Gruß
Stephan
Antworten