Autor Thema: Verschlüsseltes Feld lässt sich nicht per Agent drucken ???  (Gelesen 2788 mal)

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Hallo,
ich habe gesucht, aber nix Zielführendes gefunden.
In den zu druckenden Dokumenten gibt es ein verschlüsseltes Feld. Ich habe den Schlüssel ordnungsgemäß in meine ID importiert und kann beim normalen Öffnen der Dokumente den Inhalt des verschlüsselten Feldes lesen.
Ich habe hier nun einen per Button zu startenden Agenten welcher bestimmte selektierte Dokumente in Listenform ausdrucken soll. Das funktioniert so, dass ich mir eine Druckmaske erstellt habe, welche durch eine Tabelle dafür sorgt, dass die Liste ordentlich aussieht.
Der Agent wechselt also für jedes zu druckende Dok die Maske gegen diese Druckmaske aus. Die Feldnamen in der Original- und Druckmaske sind gleich und somit werden alle Feldwerte übernommen(im Debugger geprüft). Anschließend wird je gelesenem Dokument ein RenderToRTItem in das endgültige Drucklistendokument durchgeführt. Dieses wird dann im Editmodus geöffnet um eine evtl. Bearbeitung vor dem Drucken zu ermöglichen.
Beim Rendern geht der Inhalt des verschlüsselten Feldes verloren. Warum??? Wie ändere ich das?
------------------------------
Codeschnipsel:
....
   Set cdb = se.Currentdatabase
   Set docDruck = New NotesDocument( cdb )
   Set rtItem = New NotesRichTextItem( docDruck, "DruckListe" )
   docDruck.Form = "DMaske"
   Call docDruck.Save( True, True )
.........dann kommt die Dok-Auswahl und ergibt eine Collection............
   If coll.count > 0 Then
      Set doc = coll.GetFirstDocument
      Do Until doc Is Nothing
               Call doc.ReplaceItemValue( "Form", "frmDruck" )
         Call doc.RenderToRTItem( rtItem )
         Call docDruck.Save( True, True )
         Set doc = coll.GetNextDocument( doc )
      Loop
      Set uidoc = ws.EditDocument( False, docDruck )
          End If
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Verschlüsseltes Feld lässt sich nicht per Agent drucken ???
« Antwort #1 am: 23.09.04 - 20:55:48 »
Alle Felder sind gleich ? Auch $Seal ?

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Verschlüsseltes Feld lässt sich nicht per Agent drucken ???
« Antwort #2 am: 23.09.04 - 23:55:19 »
Alle Felder sind gleich ? Auch $Seal ?

Jo, genau diese sind (überlebens-)wichtig wenn Du verschlüsselte Items weiterträgst.

Kleiner Tipp zum testen:
Kürze Deinen Code auf das minimum und lass Dir den Text eines verschlüsselten Feldes des Zieldoks z.B. in einer Messagebox anzeigen (z.B. via notesItem.Text). Verzichte erstmal auf RendertoRTItem. Dadurch kannst Du das schön eingrenzen.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Danke. ;D
Ich denke, daran wird's liegen, aber: Wenn ich mir die zu druckenden Dokumente genauer betrachte, dann gibts dort jeweils ein Feld "$Seal", aber mehrere (3) Felder "$Sealdata".
Muss ich jetzt auch drei "$Sealdata" anlegen? Oder ist das nur eine Frage der Darstellung in den Dokumenteigenschaften?
(Ich habe in "LDD Today" einen Artikel gefunden, wo jeweils von einem Feld gesprochen wird. BTW: Ich kann doch gar nicht mehrere Felder mit gleichem Namen anlegen, oder? )
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Jetzt muss ich doch noch mal nachhaken: Die Felder haben ja nun Datentypen, welche ich gar nicht anlegen kann.
$Seal:Datentyp= Verschlüsselungssiegel;
$SealData: Datentyp= Verschlüsselte Daten;
Also: Was muss ich denn nun für Felder anlegen? ??? ??? ???
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Hast Du mal versucht das Feld auszulesen, bevor Du die Maske wechselst? Bzw. ist das Feld in der Druckmaske auch mit dem gleichen Key verschlüsselt?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Das Problem ist ja, dass es das verschlüsselte Item im Dokument nicht gibt.
Ist ja logisch: Die zu verschlüsselnden Daten und der Schlüssel stehen ja in den Feldern $Sealdata bzw. $Seal.
Somit kann ich da nichts auslesen oder anzeigen.
Und was nun? Ich bin ratlos! ???
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Mal anders herum aufgerollt.

Du hast ein Dokument. das ist public verschlüsselt. Das Dokument wurde erstellt mit Maske A.

Dann ziehst Du eine Kopie von Maske A, positionierst Felder anders, und speicherst diese als Maske B.

Wenn Du nun per Script das Dokument über Maske B öffnest und druckst:
Code
Dim uidocTempPrint As NotesUIDocument
doc.Form = "Maske B"
Set uidocTempPrint = uiws.EditDocument( False, doc, True)
Call uidocTempPrint.Print (1)
Call uidocTempPrint.close
dann sollte nach meinem Verständnis alles gedruckt werden, wenn Du selbst das Dokument erstellt hast und Du den Code (z.B. über Button) ausführst.

Teste das mal...

*** EDIT ***
Ups, hab ganz übersehen, dass Du ja einen Rendertortitem machst. OK, da mag das anders aussehen  ::) :P
« Letzte Änderung: 28.09.04 - 21:24:26 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline -Michael-

  • Aktives Mitglied
  • ***
  • Beiträge: 153
  • Geschlecht: Männlich
    • Software Guide
Hi,

hast Du mal versucht, in dem Zieldokument die Verschlüsselung zu entfernen?

Also ein

Code
		Forall itm In docThis.Items
			If itm.Name = "PublicEncryptionKeys" Then 
				Call itm.Remove
			End If
		Call docThis.Save(False,False)
		End Forall

Ich habe allerdings auch gerade ein (anderes) Verschlüsselungsproblem, aber dies hier sollte imho klappen.
Hier ist zur Info mein Thread:
http://www.atnotes.de/index.php?topic=18395.0

Michael

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Wo ist Dein Fred, Michi ? Der Link zeigt genau auf diesen hier - da beisst sich dann die Katze in den Schwanz ...

Bernhard

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re: Verschlüsseltes Feld lässt sich nicht per Agent drucken ???
« Antwort #10 am: 29.09.04 - 09:55:24 »
Nur  mal generell: Es geht hier nicht um Public sondern Secret Key Verschlüsselung!
(Ich weiß jetzt nicht, ob das für die Lösung von Interesse ist)
Fakt ist: Es gibt in den verschlüsselten Doks kein Item Public sondern SecretEncryptionKeys!
Der Schlüssel und die verschlüsselten Daten stehen in $Seal/$Sealdata; aber sind eben nicht lesbar.
Damit stehe ich immer noch ratlos da!
« Letzte Änderung: 29.09.04 - 10:23:31 von g202e »
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re: Verschlüsseltes Feld lässt sich nicht per Agent drucken ???
« Antwort #11 am: 29.09.04 - 13:52:45 »
Zwischenstand: Das Entfernen des Items "SecretEncryptionKeys" nach der Methode von Michael hat nichts gebracht.
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz