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

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

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