XML Digital Signature throws NAMESPACE_ERR exception under OpenJDK 11 that works under Java SE 8
Open eSignForms
yozons at gmail.com
Wed Jan 30 20:59:07 UTC 2019
My XML Digital Signature code runs fine under Java 8 (1.8.0_161), but on
upgrading to OpenJDK 11 (11.0.2, ), it now traps with an NAMESPACE_ERR
exception:
org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or
change an object in a way which is incorrect with regard to namespaces.
at
java.xml/com.sun.org.apache.xerces.internal.dom.ElementNSImpl.setName(ElementNSImpl.java:109)
at
java.xml/com.sun.org.apache.xerces.internal.dom.ElementNSImpl.<init>(ElementNSImpl.java:84)
at
java.xml/com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createElementNS(CoreDocumentImpl.java:2089)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.XmlWriterToTree.writeStartElement(XmlWriterToTree.java:99)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.Marshaller.marshalGenericNode(Marshaller.java:303)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.Marshaller.marshalGenericNode(Marshaller.java:286)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.Marshaller$14.marshalObject(Marshaller.java:251)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.Marshaller$14.marshalObject(Marshaller.java:247)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.XmlWriterToTree.marshalStructure(XmlWriterToTree.java:200)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.DOMXMLObject.marshal(DOMXMLObject.java:180)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.DOMXMLSignature.marshal(DOMXMLSignature.java:233)
at
java.xml.crypto/org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:325)
at
com.esignforms.open.crypto.XmlDigitalSignature.sign(XmlDigitalSignature.java:208)
If I revert back to Java 8, it works again.
I noted that our XML digital signature code makes no direct references to
namespaces. Basic code does set the DocumentBuildFactory to be namespace
aware:
DocumentBuilderFactory dbf = DocumentBuilderFactory.*newInstance*();
dbf.setNamespaceAware(*true*);
When we sign under Java 8, this is the resulting digitally signed output
for our XML <snapshot> element, which does have a namespace of our own:
<snapshot xmlns="http://open.esignforms.com/XMLSchema/2011" timestamp=
"2019-01-30T12:40:46-08:00" type="document"><![CDATA[<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Date Doc 1</title>
<meta name="robots" content="noindex, nofollow" />
<meta name="Description" content="Confidential document" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="Generator" content="Yozons Open eSignForms document generator
version 19.1.19_p0129_1657" />
<meta name="DeploymentId" content="bbfe9bed-918d-446b-9518-8ec303bafb83" />
<meta name="TransactionId" content="5163276c-d8aa-436f-8a96-5bc0c9eca931" />
<meta name="TransactionTemplateId"
content="d15a91a3-87b8-457e-84bc-0b56ac7ebb10" />
<meta name="TransactionMode" content="Test" />
<meta name="PackageId" content="60301b59-ca07-429e-bb76-7083bfd6e642" />
<meta name="PackageVersionId"
content="61afd6f3-b79e-4d14-844d-3a38541020ea" />
<meta name="PackageVersionPartyName" content="FirstParty" />
<meta name="DocumentId" content="e105af31-4b37-4092-9795-48b7c762ae97" />
<meta name="DocumentName" content="Date Doc 1" />
<meta name="DocumentVersionId"
content="52248c28-187e-43f0-8de8-98357fa63654" />
<meta name="DocumentVersionPageId"
content="62edfd59-be00-435a-9bd5-583cc84d220a" />
<meta name="DocumentVersionPartyName" content="FirstParty" />
<meta name="DocumentPageMode" content="REVIEW" />
<meta name="HtmlRenderTimestamp" content="2019-01-30 12:40:43.041 PST" />
<meta name="RequestIpAddr" content="50-46-115-249.evrt.wa.frontiernet.net
(50.46.115.249)" />
<meta name="RequestUserAgent" content="Mozilla/5.0 (Macintosh; Intel Mac OS
X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3
Safari/605.1.15" />
<base href="https://open.esignforms.com/demo/" />
<style type="text/css">
/* platform esf.css */
@import url(//fonts.googleapis.com/css?family=Pacifico);
body.esf { font-family: Calibri, Arial, Helvetica, sans-serif; font-size:
1em; }
.esf a img { border: none; }
.esf table.center, .esf div.center { margin-left: auto; margin-right: auto;
}
.esf p.left, .esf span.left, .esf div.left, .esf th.left, .esf td.left {
text-align: left; }
.esf p.right, .esf span.right, .esf div.right, .esf th.right, .esf td.right
{ text-align: right; }
.esf p.center, .esf span.center, .esf th.center, .esf td.center {
text-align: center; }
.esf p.justify, .esf span.justify, .esf div.justify { text-align: justify; }
.esf .bottom { vertical-align: bottom; }
.esf .top { vertical-align: top; }
.esf .middle { vertical-align: middle; }
.esf .w5 { width: 5%; }
.esf .w10 { width: 10%; }
.esf .w15 { width: 15%; }
.esf .w20 { width: 20%; }
.esf .w25 { width: 25%; }
.esf .w30 { width: 30%; }
.esf .w33 { width: 33%; }
.esf .w34 { width: 34%; }
.esf .w35 { width: 35%; }
.esf .w40 { width: 40%; }
.esf .w45 { width: 45%; }
.esf .w48 { width: 48%; }
.esf .w50 { width: 50%; }
.esf .w60 { width: 60%; }
.esf .w70 { width: 70%; }
.esf .w75 { width: 75%; }
.esf .w80 { width: 80%; }
.esf .w85 { width: 85%; }
.esf .w90 { width: 90%; }
.esf .w95 { width: 95%; }
.esf .w98 { width: 98%; }
.esf .w100 { width: 100%; }
.esf .boT { border-top: 1px solid black; }
.esf .boB { border-bottom: 1px solid black; }
.esf .boTB { border-top: 1px solid black; border-bottom: 1px solid black; }
.esf .boL { border-left: 1px solid black; }
.esf .boR { border-right: 1px solid black; }
.esf .boLR { border-left: 1px solid black; border-right: 1px solid black; }
.esf .boBdash { border-bottom: 1px dashed black; }
.esf .boBdot { border-bottom: 1px dotted black; }
.esf .boBthick { border-bottom: 4px solid black; }
.esf .box { border: 1px solid black; }
.esf .boxthicker { border: 2px solid black; }
.esf .boxthick { border: 4px solid black; }
.esf .underline { text-decoration: underline; }
.esf .bold { font-weight: bold; }
.esf .italic { font-style: italic; }
.esf ::-webkit-input-placeholder { font-style: italic; }
.esf :-moz-placeholder { font-style: italic; }
.esf ::-moz-placeholder { font-style: italic; }
.esf :-ms-input-placeholder { font-style: italic; }
.esf .caps { text-transform: uppercase; }
.esf .smallcaps { font-variant: small-caps; }
.esf .lowercase { text-transform: lowercase; }
.esf .f6 { font-size: 6pt; }
.esf .f7 { font-size: 7pt; }
.esf .f8 { font-size: 8pt; }
.esf .f9 { font-size: 9pt; }
.esf .f10 { font-size: 10pt; }
.esf .f11 { font-size: 11pt; }
.esf .f12 { font-size: 12pt; }
.esf .f14 { font-size: 14pt; }
.esf .f16 { font-size: 16pt; }
.esf .f18 { font-size: 18pt; }
.esf .f20 { font-size: 20pt; }
.esf .f22 { font-size: 22pt; }
.esf .f24 { font-size: 24pt; }
.esf .f28 { font-size: 28pt; }
.esf .f32 { font-size: 32pt; }
.esf .f36 { font-size: 36pt; }
.esf .f40 { font-size: 40pt; }
.esf .f48 { font-size: 48pt; }
.esf .f60 { font-size: 60pt; }
.esf .f72 { font-size: 72pt; }
.esf .f96 { font-size: 96pt; }
.esf .red {color: red;}
.esf .green {color: green;}
.esf .blue {color: blue;}
.esf .white {color: white;}
.esf .black {color: black;}
.esf .gray {color: gray;}
.esf .nomargin { margin: 0; }
.esf .nomarginT { margin-top: 0; }
.esf .nomarginB { margin-bottom: 0; }
.esf .nomarginTB { margin-top: 0; margin-bottom: 0; }
.esf .nomarginL { margin-left: 0; }
.esf .nomarginR { margin-right: 0; }
.esf .nomarginLR { margin-left: 0; margin-right: 0; }
.esf .nowrap { white-space: nowrap; }
/* HTML5 versions for table cellpadding="0" through cellpadding="5" */
.esf table.cellpadding0 th, .esf table.cellpadding0 td { padding: 0; }
.esf table.cellpadding1 th, .esf table.cellpadding1 td { padding: 1px; }
.esf table.cellpadding2 th, .esf table.cellpadding2 td { padding: 2px; }
.esf table.cellpadding3 th, .esf table.cellpadding3 td { padding: 3px; }
.esf table.cellpadding4 th, .esf table.cellpadding4 td { padding: 4px; }
.esf table.cellpadding5 th, .esf table.cellpadding5 td { padding: 5px; }
/* HTML5 versions for table cellspacing="0" through cellspacing="5" */
.esf table.cellspacing0 { border-spacing: 0; }
.esf table.cellspacing1 { border-spacing: 1px; }
.esf table.cellspacing2 { border-spacing: 2px; }
.esf table.cellspacing3 { border-spacing: 3px; }
.esf table.cellspacing4 { border-spacing: 4px; }
.esf table.cellspacing5 { border-spacing: 5px; }
/* HTML5 version of border="1" through border="2" */
table.gridBorder { border-top: 1px solid black; border-left: 1px solid
black; }
table.gridBorder th, table.gridBorder td { border-bottom: 1px solid black;
border-right: 1px solid black; }
table.gridBorder2 { border-top: 2px solid black; border-left: 2px solid
black; }
table.gridBorder2 th, table.gridBorder2 td { border-bottom: 2px solid
black; border-right: 2px solid black; }
.esf div.newPage { border-top: 1px dotted gray; }
.esf .doNotPrint { } /* do nothing normally, but we override in @print so
suppress the element */
.esf div.pagediv { } /* do nothing, but allows you to style as each page is
wrapped in a div */
.esf div.inline { display: inline-block; }
.esf span.inlineblock { display: inline-block; }
/* The following are generally not useful for a document, but are used in
the auto-rendering of fields, labels, errors, etc. Many of these can be set
via DocumentStyles in Open ESF. */
/* For the Field Label rendering */
.esf label.normal { }
.esf label.normal-error { color: red; font-weight: bold; background-color:
yellow; }
.esf label.small { font-size: 8pt; }
.esf label.small-error { font-size: 8pt; color: red; font-weight: bold;
background-color: yellow; }
.esf span.viewFieldData { width: inherit; } /* when viewing field data --
not in input mode */
.esf span.viewFieldData-error { font-weight: bold; font-style: italic;
background-color: pink; border: 2px dashed red; } /* when viewing data that
was not known -- not in input mode */
.esf span.labelFieldArea { display: inline-block; } /* sets the width for
the label and field area */
.esf span.labelFieldArea span.labelAreaStacked { display: block;
white-space: nowrap; }
.esf span.labelFieldArea span.labelAreaRightStacked { display: block;
text-align: right; white-space: nowrap; }
.esf span.labelFieldArea span.labelAreaCenterStacked { display: block;
text-align: center; white-space: nowrap; }
.esf span.labelFieldArea span.labelArea { display: inline-block;
white-space: nowrap; }
.esf span.labelFieldArea span.labelAreaRight { display: inline-block;
text-align: right; white-space: nowrap; }
.esf span.labelFieldArea span.labelAreaCenter { display: inline-block;
text-align: center; white-space: nowrap; }
.esf span.labelFieldArea span.fieldAreaStacked { display: block; width:
100%; }
.esf span.labelFieldArea span.fieldAreaLeftStacked { display: block; width:
100%; text-align: left; }
.esf span.labelFieldArea span.fieldAreaRightStacked { display: block;
width: 100%; text-align: right; }
.esf span.labelFieldArea span.fieldAreaCenterStacked { display: block;
width: 100%; text-align: center; }
.esf span.labelFieldArea span.fieldArea { display: inline-block; width:
100%; }
.esf span.labelFieldArea span.fieldAreaLeft { display: inline-block; width:
100%; text-align: left; }
.esf span.labelFieldArea span.fieldAreaRight { display: inline-block;
width: 100%; text-align: right; }
.esf span.labelFieldArea span.fieldAreaCenter { display: inline-block;
width: 100%; text-align: center; }
.esf span.labelFieldArea span.fieldAreaStackedAuto { display: block; width:
auto; }
.esf span.labelFieldArea span.fieldAreaLeftStackedAuto { display: block;
width: auto; text-align: left; }
.esf span.labelFieldArea span.fieldAreaRightStackedAuto { display: block;
width: auto; text-align: right; }
.esf span.labelFieldArea span.fieldAreaCenterStackedAuto { display: block;
width: auto; text-align: center; }
.esf span.labelFieldArea span.fieldAreaAuto { display: inline-block; width:
auto; }
.esf span.labelFieldArea span.fieldAreaLeftAuto { display: inline-block;
width: auto; text-align: left; }
.esf span.labelFieldArea span.fieldAreaRightAuto { display: inline-block;
width: auto; text-align: right; }
.esf span.labelFieldArea span.fieldAreaCenterAuto { display: inline-block;
width: auto; text-align: center; }
.esf span.fieldArea { display: inline-block; }
.esf span.fieldAreaLeft { display: inline-block; text-align: left; }
.esf span.fieldAreaRight { display: inline-block; text-align: right; }
.esf span.fieldAreaCenter { display: inline-block; text-align: center; }
.esf span.fieldAreaAuto { display: inline; }
/* Auto widths do not make sense really with alignment as the field should
be no bigger than the contents; we'll keep it inline-blocked */
.esf span.fieldAreaLeftAuto { display: inline-block; text-align: left; }
.esf span.fieldAreaRightAuto { display: inline-block; text-align: right; }
.esf span.fieldAreaCenterAuto { display: inline-block; text-align: center; }
/* For signature/initials display */
.esf .signature, .esf .signature input { font-family: 'Pacifico', 'Bradley
Hand ITC', 'Lucida Handwriting', 'Comic Sans MS', cursive; font-size: 14pt;
color: blue; white-space: nowrap; }
.esf div.signatureBlock { border: 3px solid #9899c4; border-radius: 10px;
background-color: #efffff; padding: 0px 3px 3px 12px; width: 720px;
page-break-inside: avoid; }
.esf div.signatureBlock p.signatureHeader { font-size: 11pt; font-weight:
bold; text-decoration: underline; margin-bottom: 0px; }
.esf .signatureMetadata { font-size: 8pt; font-family: 'Courier New',
Courier, monospace; white-space: nowrap; }
/* For optional/required/error input fields; uses span.viewFieldData for
showing the data when in non-edit mode */
.esf input.required { background-color: #FFFFE7; font-weight: bold; border:
1px solid #7F9DB9; width: inherit; }
.esf input.optional { background-color: white; font-weight: bold; border:
1px solid #7F9DB9; width: inherit; }
.esf input.error { background-color: #FFC0CB; font-weight: bold; border:
1px solid red; width: inherit; }
.esf select.required { background-color: #FFFFE7; font-weight: bold;
border: 1px solid #7F9DB9; width: inherit; }
.esf select.optional { background-color: white; font-weight: bold; border:
1px solid #7F9DB9; width: inherit; }
.esf select.error { background-color: #FFC0CB; font-weight: bold; border:
1px solid red; width: inherit; }
.esf textarea.required { background-color: #FFFFE7; font-weight: bold;
border: 1px solid #7F9DB9; width: inherit; }
.esf textarea.optional { background-color: white; font-weight: bold;
border: 1px solid #7F9DB9; width: inherit; }
.esf textarea.error { background-color: #FFC0CB; font-weight: bold; border:
1px solid red; width: inherit; }
/* Special override for optional checkboxes to not have a border around
them */
.esf input[type="checkbox"].required { border: 0 none !important;
outline-color: #FFFFE7; outline-style: solid; outline-width: medium; }
.esf input[type="checkbox"].optional { border: 0 none !important; }
.esf input[type="checkbox"].error { outline: 1px solid red; }
/* Special override for optional radio to not have a border around them */
.esf input[type="radio"].required { border: 0 none !important;
outline-color: #FFFFE7; outline-style: solid; outline-width: medium; }
.esf input[type="radio"].optional { border: 0 none !important; }
.esf input[type="radio"].error { outline: 1px solid red; }
.esf input[type="radio"] { margin-bottom: 3px; } /* push it up a bit so
fits with label better */
/* For buttons */
.esf p.buttons { margin-top: 2em; margin-left: 2em; }
.esf p.buttons input { margin-right: 2em; font-size: 1.1em; padding: 5px
10px; margin-top: 5px; }
.esf p.buttons input.caution { color: #FF8000; }
.esf p.buttons input.preferredFlow { font-weight: bold; color: green;
font-size: 1.3em; padding: 8px 15px; }
.esf p.extraButtons { text-align: right; margin-top: -3em; }
.esf p.extraButtons input { color: blue; font-size: 0.6em; padding: 2px
3px; margin-right: 1em; }
.esf div.documentAndPageNumbersInfo { font-family: 'Courier New', Courier,
monospace; font-size: 8pt; text-align: right; color: lightgray; }
/* For image overlays */
.esf div.imageOverlay { position: relative; display: inline-block; }
.esf div.imageOverlay img { margin: 0; padding: 0; }
.esf div.imageOverlay span.imageOverlayFieldArea { position: absolute;
margin: 0; padding: 0; }
.esf div.imageOverlay span.imageOverlayFieldArea input[type="radio"] {
margin: 0; padding: 0; }
.esf div.imageOverlay span.imageOverlayFieldArea input[type="checkbox"] {
margin: 0; padding: 0; }
.esf input.small { font-size: 8pt; }
.esf input.upload { color: green; }
/* For file uploads of images displayed inline */
.esf img.fileUploadInlineImage200 { max-width: 200px; border: 2px solid
black; page-break-inside: avoid; }
.esf img.fileUploadInlineImage400 { max-width: 400px; border: 2px solid
black; page-break-inside: avoid; }
.esf img.fileUploadInlineImage600 { max-width: 800px; border: 2px solid
black; page-break-inside: avoid; }
.esf img.fileUploadInlineImage800 { max-width: 800px; border: 2px solid
black; page-break-inside: avoid; }
/* For standard display of ErrorEntry[] arrays from Errors */
.esf table.errorEntryArea { margin-left: 1em; border: 1px solid #FBD777;
border-radius: 5px; background-color: #FDE8A5; width: 95%; padding-top:
2px; padding-bottom: 2px; }
.esf ul.errorEntryArea { padding-left: 20px; }
.esf li.error-ErrorEntry { list-style-type: circle; font-size: 1em;
font-weight: bold; color: red; margin-left: 0px; margin-right: 1em; }
.esf li.warning-ErrorEntry { list-style-type: circle; font-size: 1em;
font-weight: bold; color: blue; margin-left: 0px; margin-right: 1em; }
.esf li.success-ErrorEntry { list-style-type: circle; font-size: 1em;
font-weight: bold; color: green; margin-left: 0px; margin-right: 1em; }
.esf li.info-ErrorEntry { list-style-type: circle; font-size: 1em;
font-weight: bold; color: black; margin-left: 0px; margin-right: 1em; }
/* Used for multi-line reports to separate them like "greenbar paper" of
old */
.esf .bgGreenbarLight { background-color: transparent; }
.esf .bgGreenbarDark { background-color: #E8E6E6; }
.esf span.jspfooter { font-size: 8pt; color: gray; }
.esf div.jspErrorPageMessage { margin-left: 1em; width: 700px; font-weight:
bold; background-color: pink; border: 1px solid black; border-radius: 10px;
padding: 0px 1em 0px 1em; }
@media print {
body.esf { margin: 0; padding: 0; font-size: 80% !important; }
.esf div.newPage { border-top: none; page-break-after: always; }
.esf a.showURL:link:after, a.showURL:visited:after { content: " ("
attr(href) ")"; font-size: 80%; }
.esf .doNotPrint { display: none; }
}
/* Begin document style id: 9a000404-5f56-4a1c-ad4a-be6382c67d97, version
id: 86f339d5-81e2-4117-95c2-8f747f5a6fe3 */
body.esf { font-family: Calibri, Arial, Helvetica, sans-serif; font-size:
11pt; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 span.signature { font-family:
Pacifico, cursive; font-size: 14pt; color: blue; font-style: normal;
font-weight: normal; font-variant: normal; text-transform: inherit; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 span.signature input {
font-family: Pacifico, cursive; font-size: 14pt; color: blue; font-style:
normal; font-weight: normal; font-variant: normal; text-transform:
inherit; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 span.viewFieldData { }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 input[type='checkbox'].required
{ border: 0 none !important; outline-color: #FFFFE7; outline-style: solid;
outline-width: medium; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 input[type='radio'].required {
border: 0 none !important; outline-color: #FFFFE7; outline-style: solid;
outline-width: medium; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 input.required { font-style:
normal; font-weight: bold; font-variant: normal; text-transform: inherit;
background-color: #FFFFE7; border: 1px solid #7F9DB9; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 select.required {
font-style: normal; font-weight: bold; font-variant: normal;
text-transform: inherit; background-color: #FFFFE7; border: 1px solid
#7F9DB9; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 textarea.required {
font-style: normal; font-weight: bold; font-variant: normal;
text-transform: inherit; background-color: #FFFFE7; border: 1px solid
#7F9DB9; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 input.optional { font-style:
normal; font-weight: bold; font-variant: normal; text-transform: inherit;
background-color: white; border: 1px solid #7F9DB9; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 select.optional {
font-style: normal; font-weight: bold; font-variant: normal;
text-transform: inherit; background-color: white; border: 1px solid
#7F9DB9; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 textarea.optional {
font-style: normal; font-weight: bold; font-variant: normal;
text-transform: inherit; background-color: white; border: 1px solid
#7F9DB9; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 input[type='checkbox'].error {
border: 0 none !important; outline: 1px solid red; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 input[type='radio'].error {
border: 0 none !important; outline: 1px solid red; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 input.error { font-style:
normal; font-weight: bold; font-variant: normal; text-transform: inherit;
background-color: #FFC0CB; border: 1px solid red; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 select.error { font-style:
normal; font-weight: bold; font-variant: normal; text-transform: inherit;
background-color: #FFC0CB; border: 1px solid red; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 textarea.error { font-style:
normal; font-weight: bold; font-variant: normal; text-transform: inherit;
background-color: #FFC0CB; border: 1px solid red; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 label.normal { }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 label.normal-error { color:
red; font-style: normal; font-weight: bold; font-variant: normal;
text-transform: inherit; background-color: yellow; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 label.small { font-size:
8pt; }
.esf .X86f339d5_81e2_4117_95c2_8f747f5a6fe3 label.small-error { font-size:
8pt; color: red; font-style: normal; font-weight: bold; font-variant:
normal; text-transform: inherit; background-color: yellow; }
/* End document style */
</style>
<script type="text/javascript">
(function() {
// If not defined yet, ensure our top "JavaScript namespace" variable
'esf' is created.
if ( typeof esf == "undefined" ) {
esf = {
version: {
major: 19, minor: 1, update: '19',
toString: function(){
with(esf.version){
return major + "." + minor + "." + update;
}
}
},
appname: 'Open eSignForms',
htmlCopyright: '© 2019 Yozons, Inc.',
textCopyright: 'Copyright (c) 2009-2019 Yozons, Inc.'
};
esf.getRelease = function() {
return this.appname + " " + this.version.toString();
};
if ( typeof console != "undefined") console.log(esf.getRelease() + ' - '
+ esf.textCopyright);
esf.saveScrollPosition = function(elem) {
var currLeft = window.pageXOffset || document.documentElement.scrollLeft;
var currTop = window.pageYOffset || document.documentElement.scrollTop;
elem.form.ESF_PAGE_SCROLLLEFT.value = currLeft; // form field name must
match DocumentPageBean.HIDDEN_PAGE_SCROLLLEFT
elem.form.ESF_PAGE_SCROLLTOP.value = currTop; // form field name must
match DocumentPageBean.HIDDEN_PAGE_SCROLLTOP
}
esf.autoPost = function(inputField) {
esf.confirmOnPageUnloadMessage = null; // do not block leaving page for
autopost
esf.hideAllSubmitInputFields();
inputField.form.ESF_AUTO_POST_FIELD_ID.value = inputField.id; // form
field name must match DocumentPageBean.HIDDEN_AUTO_POST_FIELD_ID
esf.saveScrollPosition(inputField);
inputField.form.submit();
};
esf.blockEnterKeyViaInputFields = function(e) {
var evt = e || window.event;
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement
: null);
if ((evt.keyCode == 13) && (node.type=="text")) {
return false;
}
};
esf.checkConfirmOnPageUnload = function(confirm,durationMsec) {
if (! confirm) {
window.onbeforeunload = null;
}
if ( durationMsec && durationMsec > 0 )
esf.hideAllSubmitInputFieldsTemporarily(durationMsec);
else
esf.hideAllSubmitInputFields();
};
// For links, we don't hide buttons and we don't clear the unload unless
requested AND the target is _top or _self (or no target set)
esf.checkLinkConfirmOnPageUnload = function(confirm,atag) {
if (! confirm && (atag.target == "_top" || atag.target == "_self" ||
atag.target == "") ) {
window.onbeforeunload = null;
}
};
// Default is no message to display on page unload
esf.confirmOnPageUnloadMessage = null;
esf.confirmOnPageUnload = function(e) {
e = e || window.event;
if ( esf.confirmOnPageUnloadMessage ) {
if (e) {
e.returnValue = esf.confirmOnPageUnloadMessage;
}
return esf.confirmOnPageUnloadMessage;
}
};
esf.hideAllSubmitInputFields = function() {
if ( document.getElementsByTagName ) {
var inputFields = document.getElementsByTagName("input");
for( var i=0; i < inputFields.length; ++i ) {
if ( inputFields[i].type == "submit" )
esf.makeInvisible(inputFields[i]);
}
var buttonFields = document.getElementsByTagName("button");
for( var i=0; i < buttonFields.length; ++i ) {
esf.makeInvisible(buttonFields[i]);
}
return true;
}
};
esf.showAllSubmitInputFields = function() {
if ( document.getElementsByTagName ) {
var inputFields = document.getElementsByTagName("input");
for( var i=0; i < inputFields.length; ++i ) {
if ( inputFields[i].type == "submit" )
esf.makeVisible(inputFields[i]);
}
var buttonFields = document.getElementsByTagName("button");
for( var i=0; i < buttonFields.length; ++i ) {
esf.makeVisible(buttonFields[i]);
}
return true;
}
};
esf.hideAllSubmitInputFieldsTemporarily = function(durationMsec) {
esf.hideAllSubmitInputFields();
setTimeout( esf.showAllSubmitInputFields, durationMsec );
};
esf.displayById = function(id) {
if ( document.getElementById && document.getElementById(id) )
esf.display(document.getElementById(id));
};
esf.display = function(elem) {
if ( elem && elem.style )
elem.style.display = "block";
};
esf.hideById = function(id) {
if ( document.getElementById && document.getElementById(id) )
esf.hide(document.getElementById(id));
};
esf.hide = function(elem) {
if ( elem && elem.style )
elem.style.display = "none";
};
esf.makeVisibleById = function(id) {
if ( document.getElementById && document.getElementById(id) )
esf.makeVisible(document.getElementById(id));
};
esf.makeVisible = function(elem) {
if ( elem && elem.style )
elem.style.visibility = 'visible';
};
esf.makeInvisibleById = function(id) {
if ( document.getElementById && document.getElementById(id) )
esf.makeInvisible(document.getElementById(id));
};
esf.makeInvisible = function(elem) {
if ( elem && elem.style )
elem.style.visibility = 'hidden';
};
esf.makeTemporarilyInvisible = function(elem, durationMsec) {
esf.makeInvisible(elem);
setTimeout( function(){esf.makeVisible(elem);}, durationMsec );
};
esf.ensureTopWindow = function() {
if (window != window.top)
top.location.href = location.href;
};
esf.getElementsByFieldName = function(fieldName) {
if ( document.getElementsByName ) {
return document.getElementsByName(fieldName.toLowerCase()); // Field
names are all lowercase in the HTML DOM
}
return []; // not really an empty node list, but an empty array so it
has a 'length' property to query before accessing
};
esf.getElementByFieldName = function(fieldName) {
var elemNL = esf.getElementsByFieldName(fieldName);
return elemNL.length > 0 ? elemNL[0] : null;
};
esf.setAllCheckboxesByName = function(name,b) {
var checkboxes = esf.getElementsByFieldName(name);
for( var i=0; i < checkboxes.length; ++i ) {
if ( checkboxes[i].type == "checkbox" )
checkboxes[i].checked = b;
}
};
esf.checkAllCheckboxesByName = function(name) {
esf.setAllCheckboxesByName(name,true);
};
esf.uncheckAllCheckboxesByName = function(name) {
esf.setAllCheckboxesByName(name,false);
};
/* Expects two radiobuttons to be laid out as [] Yes [] No order -- can
also be stacked as long as Yes is first */
esf.setupDisplayIfYesNoRadioButtonGroupIsYes =
function(yesNoRadioButtonGroupName,elemIdToShowIfYes,currentRadioButtonGroupFieldValue)
{
var rbYesNoElems =
document.getElementsByName(yesNoRadioButtonGroupName.toLowerCase());
if ( rbYesNoElems && rbYesNoElems.length == 2 ) { /* radio buttons will
only exist in EDIT mode */
rbYesNoElems[0].onclick = function() {
esf.displayById(elemIdToShowIfYes); }; /* yes rb */
rbYesNoElems[1].onclick = function() { esf.hideById(elemIdToShowIfYes);
}; /* no rb */
}
var lowerValue = currentRadioButtonGroupFieldValue.toLowerCase();
if ( lowerValue.startsWith('y') || lowerValue.startsWith('t') ||
lowerValue == '1' )
esf.displayById(elemIdToShowIfYes);
else
esf.hideById(elemIdToShowIfYes);
};
/* Expects two radiobuttons to be laid out as [] Yes [] No order -- can
also be stacked as long as Yes is first */
esf.setupDisplayIfYesNoRadioButtonGroupIsNo =
function(yesNoRadioButtonGroupName,elemIdToShowIfNo,currentRadioButtonGroupFieldValue)
{
var rbYesNoElems =
document.getElementsByName(yesNoRadioButtonGroupName.toLowerCase());
if ( rbYesNoElems && rbYesNoElems.length == 2 ) { /* radio buttons will
only exist in EDIT mode */
rbYesNoElems[0].onclick = function() { esf.hideById(elemIdToShowIfNo);
}; /* yes rb */
rbYesNoElems[1].onclick = function() {
esf.displayById(elemIdToShowIfNo); }; /* no rb */
}
var lowerValue = currentRadioButtonGroupFieldValue.toLowerCase();
if ( lowerValue.startsWith('n') || lowerValue.startsWith('f') ||
lowerValue == '0' )
esf.displayById(elemIdToShowIfNo);
else
esf.hideById(elemIdToShowIfNo);
};
esf.setupDisplayIfChecked =
function(checkboxName,elemIdToShowIfChecked,currentCheckboxFieldValue,checkboxValueWhenChecked)
{
var cbElems = document.getElementsByName(checkboxName.toLowerCase());
if ( cbElems && cbElems.length == 1 ) { /* checkboxes will only exist
in EDIT mode */
cbElems[0].onchange = function() {
if ( this.checked )
esf.displayById(elemIdToShowIfChecked);
else
esf.hideById(elemIdToShowIfChecked);
};
}
if ( currentCheckboxFieldValue == checkboxValueWhenChecked )
esf.displayById(elemIdToShowIfChecked);
else
esf.hideById(elemIdToShowIfChecked);
};
esf.containsSpace = function(s) {
if ( s == null )
return false;
i = 0;
while( i < s.length ) {
if ( s.charAt(i) == ' ' )
return true;
++i;
}
return false;
};
esf.isOnlyNumbers = function(s) {
if ( s == null )
return false;
var i = 0;
while( i < s.length ) {
if ( "0123456789".indexOf(s.charAt(i)) < 0 )
return false;
i++;
}
return true;
};
// Trims whitespace from the front and end of a string
esf.trimSpace = function(s) {
if ( s == null || s.length == 0 )
return s;
var beginIndex = 0;
var endIndex = s.length - 1;
while( beginIndex < s.length && s.charAt(beginIndex) == ' ' )
++beginIndex;
while( endIndex >= 0 && s.charAt(endIndex) == ' ' )
--endIndex;
++endIndex;
if ( beginIndex >= endIndex )
return '';
return s.substring(beginIndex,endIndex);
};
// Opens a window -- for a given name, width and height
esf.showWindow = function(url,name,width,height) {
var win =
window.open(url,name,'width='+width+',height='+height+',scrollbars=yes,resizable=yes');
win.focus();
return false;
};
}
})();
/* Workaround for IE, the only browser in the world that doesn't support
standard JavaScript String.startsWith() */
if ( ! String.prototype.startsWith ) {
String.prototype.startsWith = function(searchString, position) {
position = position || 0;
return this.indexOf(searchString, position) === position;
};
}
</script>
</head>
<body class="esf">
<div id="X52248c28_187e_43f0_8de8_98357fa63654"
class="X86f339d5_81e2_4117_95c2_8f747f5a6fe3 pagediv">
<div id="ESF_TEST_TRANSACTION_HEADER" style="background-color: pink;
text-align: center; width: 100%;">* * * T E S T T R A N S A C T I O N
* * *</div>
<div id="X62edfd59_be00_435a_9bd5_583cc84d220a" class="Page1">
<p><span class="labelFieldArea bottom" style="width: 10em;"><span
class="labelAreaStacked"><label class="small">Current
Date: </label></span><span class="bottom fieldArea viewFieldData " >January
30, 2019</span></span></p>
</div>
</div>
</body>
</html>
]]><Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id=
"OpenESignForms_Seal"><SignedInfo><CanonicalizationMethod Algorithm="
http://www.w3.org/2006/12/xml-c14n11#WithComments"/><SignatureMethod
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/><Reference Id
="Payload_Reference_ID" URI=""><Transforms><Transform Algorithm="
http://www.w3.org/2000/09/xmldsig#enveloped-signature"
/></Transforms><DigestMethod Algorithm="
http://www.w3.org/2001/04/xmlenc#sha512"/><DigestValue>
82PhK9E99GBG/pq5PSLRIGqpz0QbwwN8wlYQJsR3e4r5g1M8yhD3J0XhxNcMHmJIyyyb7yzo947O
y2T9M/EHQw==</DigestValue></Reference><Reference URI="#KeyInfo_ID"
><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"
/><DigestValue>
zqVVsv0tdx1Fp/c1rrj5b7aKdVtwtq2u0R0RsUnwCja3aMXGjsfqA68lZawt5wCtZqLWsKllPUom
Z5quVeBVBg==</DigestValue></Reference><Reference URI=
"#QualifyingProperties_ID"><DigestMethod Algorithm="
http://www.w3.org/2001/04/xmlenc#sha512"/><DigestValue>
AKs1UqheswdoyC7xfofmnZoCOF8dmFISw0Cnqfp9n294EgvP5dnZAWWXH+yspvhnNr3qOJmcaP3N
ZYoN6rG5XA==</DigestValue></Reference><Reference URI=
"#OpenESignForms_Seal_ID"><DigestMethod Algorithm="
http://www.w3.org/2001/04/xmlenc#sha512"/><DigestValue>
PzDq2Q3GpkgsnMmD//3bp5q+IksCxpR106yL1hx+WdxNvZWeAdT3SFAoHgLZtx4KL814iqLbiL5U
kwwmI2q8DA==</DigestValue></Reference></SignedInfo><SignatureValue>
ID9zJVDWmIjJzv2TWdq3RjZ4MdF3+gX2LX2du7uRw0A2BJ7u8DAg33Wzlg0EnGNyOFC/P8obaegE
xCaomRhZXqrLdCoyobe5zWxAFZ+cEHvUY4IwZKdf06i8UEgWiREdHTLfmqqbrhWrnXSnyFoSzAR3
pn4WssvP4LlJqoMPVQfHtO2aPJQpBBbnQe9wa8K0DgEpAy3ge6OwTtOZ48F27AweZPnFQOBhcmw4
Rfsri9CmZKUWI46RmLuSBv5uyxSwaZIX88uGPd4bG2zXcHd2VBxDyKblpGgIU+xcG+nxuSYNN8Y6
rs5o9/XoMM6T8x8LTdNWIgMRf11VhJ1bCh6uF8nEi/QYnV5GcRys/14a8J1oq7l/RNwEk1rMU1m/
VWDWhQT591S8hD4ZCVx7tokHdqtPg7hGHBbNdpcDYDKAhwRm3PJJBJ9XBHTgByrxnCqVk1W7D50f
bSiITGvsOIp3ooX3wsq44zv/GVl6BamUPMLhgDq30YZmMNDobJsZxY+CoxQPINfv325R4solQ6s0
WXqg5RzHHjRTfTK6uNNX931iCb9o3HzKZhtyfZcLygUY69og0etvVpUXjMc2m590eUFUs14ekKwU
hvB8rN0Qz+FVFH/jwR7AsNgDwE2KGaHEgypEOG5m3vLfLlJXP9ocGuCTp8IpOetx3GAndDFmizU=
</SignatureValue><KeyInfo Id="KeyInfo_ID"><KeyName>
021eddcd-ebd0-4603-8b26-24b3f7fee682
</KeyName><KeyValue><RSAKeyValue><Modulus>
iSEKAXeyDOq1RKCwypjN5iuU2uR//YM4ssMBGBCtfpq7eF6pXm0rU5Zz4LnmoptUyu4IcnrStgRr
JP3NPOeHgibR8i/Ef9frzd4rCwX2JpY3tztCGYByzk93ln7tzRYnMug9q0IVk6Far7JxBIuMy/eg
LOyptCZGnRU8wV6D+gydsdoFsaR+zghMtBmoZ8sArGd81rzq28B3NDdqrd4camU7viI+5mMTRGJn
UtBzU/4p7kxv2gePzUc2vJ76+8I1eUGbqc7Co12q8vS+wGpQ4a0lUiWJwj7BRXR21oPz+Qo5fiqb
a/mSo0gv11s3T2oHTTzWSyvTPb2wbwyBSFAVVaoqJ0g01UEjU2Lv2RkTi/YZpyyPPUDh4OA1KMfX
f3M7wxzS0+tJFfE4O4ELsaYlcRElVIor1y98LPKmqWgTg0olfU8H00igjbJdU37SzyqygqNadZlC
ocTtaMvveNIkDURAPPZS/Llp1KUm4YY29m+Of0JK0ZoEBLIj5R0uEIpOBe0MWhH4d8l5mxn8IKpR
chGgxgJ4P7bNpPQmPUH2rpFukV0NIPe946X7oJE/NubjePyQxpQwwE6zzavz0rf9s4OQpW7tdG/+
fyubGHXq4H/DH4ZZt0KBuIhLfqjEd3mgyzp4waihnkn4bhcRFm8s5UJEuszp6BkD0EHcPfN76Uk=
</Modulus><Exponent>AQAB
</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>
MIIKkDCCCHigAwIBAgIIXjPAnc0XFeIwDQYJKoZIhvcNAQENBQAwgcIxOTA3BgNVBAMMME9wZW5f
ZVNpZ25Gb3Jtc19odHRwczovL29wZW4uZXNpZ25mb3Jtcy5jb20vZGVtbzE6MDgGA1UECgwxRGVw
bG95bWVudElEL2JiZmU5YmVkLTkxOGQtNDQ2Yi05NTE4LThlYzMwM2JhZmI4MzE8MDoGA1UECwwz
U2lnbmF0dXJlS2V5SUQvMDIxZWRkY2QtZWJkMC00NjAzLThiMjYtMjRiM2Y3ZmVlNjgyMQswCQYD
VQQGEwJVUzAeFw0xMTA0MTYwMzIxMzhaFw0yMTA0MTYwMzIxMzhaMIHCMTkwNwYDVQQDDDBPcGVu
X2VTaWduRm9ybXNfaHR0cHM6Ly9vcGVuLmVzaWduZm9ybXMuY29tL2RlbW8xOjA4BgNVBAoMMURl
cGxveW1lbnRJRC9iYmZlOWJlZC05MThkLTQ0NmItOTUxOC04ZWMzMDNiYWZiODMxPDA6BgNVBAsM
M1NpZ25hdHVyZUtleUlELzAyMWVkZGNkLWViZDAtNDYwMy04YjI2LTI0YjNmN2ZlZTY4MjELMAkG
A1UEBhMCVVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCJIQoBd7IM6rVEoLDKmM3m
K5Ta5H/9gziywwEYEK1+mrt4XqlebStTlnPgueaim1TK7ghyetK2BGsk/c0854eCJtHyL8R/1+vN
3isLBfYmlje3O0IZgHLOT3eWfu3NFicy6D2rQhWToVqvsnEEi4zL96As7Km0JkadFTzBXoP6DJ2x
2gWxpH7OCEy0GahnywCsZ3zWvOrbwHc0N2qt3hxqZTu+Ij7mYxNEYmdS0HNT/inuTG/aB4/NRza8
nvr7wjV5QZupzsKjXary9L7AalDhrSVSJYnCPsFFdHbWg/P5Cjl+Kptr+ZKjSC/XWzdPagdNPNZL
K9M9vbBvDIFIUBVVqionSDTVQSNTYu/ZGROL9hmnLI89QOHg4DUox9d/czvDHNLT60kV8Tg7gQux
piVxESVUiivXL3ws8qapaBODSiV9TwfTSKCNsl1TftLPKrKCo1p1mUKhxO1oy+940iQNREA89lL8
uWnUpSbhhjb2b45/QkrRmgQEsiPlHS4Qik4F7QxaEfh3yXmbGfwgqlFyEaDGAng/ts2k9CY9Qfau
kW6RXQ0g973jpfugkT825uN4/JDGlDDATrPNq/PSt/2zg5Clbu10b/5/K5sYdergf8Mfhlm3QoG4
iEt+qMR3eaDLOnjBqKGeSfhuFxEWbyzlQkS6zOnoGQPQQdw983vpSQIDAQABo4IEhjCCBIIwggIz
BgNVHQ4EggIqBIICJjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIkhCgF3sgzqtUSg
sMqYzeYrlNrkf/2DOLLDARgQrX6au3heqV5tK1OWc+C55qKbVMruCHJ60rYEayT9zTznh4Im0fIv
xH/X683eKwsF9iaWN7c7QhmAcs5Pd5Z+7c0WJzLoPatCFZOhWq+ycQSLjMv3oCzsqbQmRp0VPMFe
g/oMnbHaBbGkfs4ITLQZqGfLAKxnfNa86tvAdzQ3aq3eHGplO74iPuZjE0RiZ1LQc1P+Ke5Mb9oH
j81HNrye+vvCNXlBm6nOwqNdqvL0vsBqUOGtJVIlicI+wUV0dtaD8/kKOX4qm2v5kqNIL9dbN09q
B0081ksr0z29sG8MgUhQFVWqKidINNVBI1Ni79kZE4v2Gacsjz1A4eDgNSjH139zO8Mc0tPrSRXx
ODuBC7GmJXERJVSKK9cvfCzypqloE4NKJX1PB9NIoI2yXVN+0s8qsoKjWnWZQqHE7WjL73jSJA1E
QDz2Uvy5adSlJuGGNvZvjn9CStGaBASyI+UdLhCKTgXtDFoR+HfJeZsZ/CCqUXIRoMYCeD+2zaT0
Jj1B9q6RbpFdDSD3veOl+6CRPzbm43j8kMaUMMBOs82r89K3/bODkKVu7XRv/n8rmxh16uB/wx+G
WbdCgbiIS36oxHd5oMs6eMGooZ5J+G4XERZvLOVCRLrM6egZA9BB3D3ze+lJAgMBAAEwggI3BgNV
HSMEggIuMIICKoCCAiYwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCJIQoBd7IM6rVE
oLDKmM3mK5Ta5H/9gziywwEYEK1+mrt4XqlebStTlnPgueaim1TK7ghyetK2BGsk/c0854eCJtHy
L8R/1+vN3isLBfYmlje3O0IZgHLOT3eWfu3NFicy6D2rQhWToVqvsnEEi4zL96As7Km0JkadFTzB
XoP6DJ2x2gWxpH7OCEy0GahnywCsZ3zWvOrbwHc0N2qt3hxqZTu+Ij7mYxNEYmdS0HNT/inuTG/a
B4/NRza8nvr7wjV5QZupzsKjXary9L7AalDhrSVSJYnCPsFFdHbWg/P5Cjl+Kptr+ZKjSC/XWzdP
agdNPNZLK9M9vbBvDIFIUBVVqionSDTVQSNTYu/ZGROL9hmnLI89QOHg4DUox9d/czvDHNLT60kV
8Tg7gQuxpiVxESVUiivXL3ws8qapaBODSiV9TwfTSKCNsl1TftLPKrKCo1p1mUKhxO1oy+940iQN
REA89lL8uWnUpSbhhjb2b45/QkrRmgQEsiPlHS4Qik4F7QxaEfh3yXmbGfwgqlFyEaDGAng/ts2k
9CY9QfaukW6RXQ0g973jpfugkT825uN4/JDGlDDATrPNq/PSt/2zg5Clbu10b/5/K5sYdergf8Mf
hlm3QoG4iEt+qMR3eaDLOnjBqKGeSfhuFxEWbyzlQkS6zOnoGQPQQdw983vpSQIDAQABMA4GA1Ud
DwEB/wQEAwIGwDANBgkqhkiG9w0BAQ0FAAOCAgEAaGn/Q+1fjL7N675UYMGuC5EfloDQ3Y+zuYyx
FtMrwO3GuvABTf+oKsQc5n7XDgpQVBWlgIHH+LldDhRPQ1a0MPvMzPDL3Ps1K+hJewNhcec6fqXS
t+lszt+mnuK6gGKTioTbO6Li1E41WtJ1UhK4br1lsoNkM0E4rB5KUyj0ZmTCSlYlchAzMYLr1Ymc
Q5wgAu0lFIpluhd12un9mUWWXouSC+8pI+ZKfPz2lm+PGBDTTp0TsLLWldvLcnEAgbLG4wZvb1za
3EccZWtCX0b5lGjMCajhADiz76GgYZt1fTus1fhoTe6GsJV9lM11NZTEeTPAUE9VvtNGYOaNUl2e
S9pE1myNfiBgXNNJ3L4J6d6fGPlHV9rNPzjclfAOn4a1c+7ZBIsvW1znaeaAoeNyCcRPUr9rgKBS
L+izvr6w3eYiqjQWozCi2Nw/oTKk1dC32uzD9KRrQ8pAlSDsspic7FJpFqPVuxrvs8z7tXpc6uyB
cmaNZN91xowONrPljlbW2jm5AkebDyTMPfxIRcrTybOr/K3nOYEMkV8G/tRli4SRleGr3cUusHd5
47BlUSoncDYywh+4drtCycli2mfph3hjB34qkwbzI8j8iX6PSROH+AGcC0L1MEgRq2Um9+K3iTBA
9zGxY4cvR4vn4VtWcebg9AVMJCwhV85c7l0P0uU=
</X509Certificate></X509Data></KeyInfo><Object><QualifyingProperties Id=
"QualifyingProperties_ID"
><SignedProperties><SignedSignatureProperties><SigningTime>
2019-01-30T12:40:46-08:00
</SigningTime></SignedSignatureProperties><SignedDataObjectProperties><DataObjectFormat
ObjectReference="#Payload_Reference_ID"><Description>document.html
</Description><MimeType>text/html
</MimeType></DataObjectFormat></SignedDataObjectProperties></SignedProperties></QualifyingProperties></Object><Object><SignatureProperties><SignatureProperty
Id="OpenESignForms_Seal_ID" Target="#OpenESignForms_Seal"
><OpenESignForms_XmlDigitalSignatureSeal DeploymentHostAddress=
"104.239.136.116"DeploymentHostName="open.esignforms.com" DeploymentId=
"bbfe9bed-918d-446b-9518-8ec303bafb83" SignerAddress="
50-46-115-249.evrt.wa.frontiernet.net (50.46.115.249)" SignerAgent="Mozilla/5.0
(Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like
Gecko) Version/12.0.3 Safari/605.1.15" Timestamp="2019-01-30T12:40:46-08:00"
Version="19.1.19_p0129_1657"
/></SignatureProperty></SignatureProperties></Object></Signature></snapshot>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/security-dev/attachments/20190130/dd26ec62/attachment.htm>
More information about the security-dev
mailing list