aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2003-11-11 22:36:36 +0000
committergregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2003-11-11 22:36:36 +0000
commit643b4096cdd0f0ed98f21c9b5b681ed89bcb08dc (patch)
tree9e750c9103ad923b291820bc85fcbd669c2e7900
parentbc620256eb9b4dc6a33244b1105e58773358dbe6 (diff)
downloadmoa-id-spss-tags/Build-1.2.0.D01-svn.tar.gz
moa-id-spss-tags/Build-1.2.0.D01-svn.tar.bz2
moa-id-spss-tags/Build-1.2.0.D01-svn.zip
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@51 d688527b-c9ab-4aba-bd8d-4036d912da1d
-rw-r--r--spss.test/.classpath37
-rw-r--r--spss.test/.project18
-rw-r--r--spss.test/Definitionen/Testfalldokumentation.docbin0 -> 755200 bytes
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.001.Req.xml17
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.001.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.002.Req.xml17
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.002.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.003.Req.xml17
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.003.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.005.Req.xml17
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.005.Res.xml14
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.007.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.007.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.008.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.008.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.009.Req.xml17
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.009.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.010.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.010.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.011.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.011.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.012.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.012.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.013.Req.xml17
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.013.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.014.Req.xml17
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.014.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.015.Req.xml27
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.015.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.016.Req.xml31
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.016.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.017.Req.xml29
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.017.Res.xml25
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.018.Req.xml29
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.018.Res.xml47
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.019.Req.xml17
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.019.Res.xml26
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.051.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.051.Req.xml18
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.052.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.052.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.053.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.053.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.054.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.054.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.055.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.055.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.056.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.056.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.057.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.057.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.058.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.058.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.059.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.059.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.060.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.060.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.062.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.062.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.064.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.064.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.065.ErrRes.xml1
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.065.Req.xml19
-rw-r--r--spss.test/data/CX0/TestGeneratorCX0.Config.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.001.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.001.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.002.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.002.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.003.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.003.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.004.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.004.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.005.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.005.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.006.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.006.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.007.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.007.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.008.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.008.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.009.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.009.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.010.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.010.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.011.Req.xml7
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.011.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.012.Req.xml7
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.012.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.013.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.013.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.014.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.014.Res.xml23
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.051.ErrRes.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.051.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.052.ErrRes.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.052.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.053.ErrRes.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.053.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.054.ErrRes.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.054.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.055.ErrRes.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.055.Req.xml1
-rw-r--r--spss.test/data/CX1/TestGeneratorCX1.Config.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.001.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.001.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.002.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.002.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.003.Req.xml3
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.003.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.004.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.004.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.005.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.005.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.006.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.006.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.007.Req.xml6
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.007.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.008.Req.xml12
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.008.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.009.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.009.Res.xml23
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.051.ErrRes.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.051.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.052.ErrRes.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.052.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.053.ErrRes.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.053.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.054.ErrRes.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.054.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.055.ErrRes.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.055.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.056.ErrRes.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.056.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.057.ErrRes.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.057.Req.xml1
-rw-r--r--spss.test/data/CX2/TestGeneratorCX2.Config.xml1
-rw-r--r--spss.test/data/CX3/TestGeneratorCX3.001.Req.xml17
-rw-r--r--spss.test/data/CX3/TestGeneratorCX3.001.Res.xml25
-rw-r--r--spss.test/data/CX3/TestGeneratorCX3.052.ErrRes.xml1
-rw-r--r--spss.test/data/CX3/TestGeneratorCX3.052.Req.xml17
-rw-r--r--spss.test/data/CX3/TestGeneratorCX3.Config.xml1
-rw-r--r--spss.test/data/CX4/TestGeneratorCX4.051.ErrRes.xml1
-rw-r--r--spss.test/data/CX4/TestGeneratorCX4.051.Req.xml17
-rw-r--r--spss.test/data/CX4/TestGeneratorCX4.Config.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.001.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.001.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.002.Req.xml33
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.002.Res.xml41
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.003.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.003.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.004.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.004.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.005.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.005.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.006.Req.xml28
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.006.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.007.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.007.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.008.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.008.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.009.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.009.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.010.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.010.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.012.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.012.Res.xml21
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.051.ErrRes.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.051.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.052.ErrRes.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.052.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.054.ErrRes.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.054.Req.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.055.ErrRes.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.055.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.056.ErrRes.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.056.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.057.ErrRes.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.057.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.058.ErrRes.xml1
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.058.Req.xml27
-rw-r--r--spss.test/data/VC0/TestGeneratorVC0.Config.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.001.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.001.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.002.Req.xml52
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.002.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.003.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.003.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.004.Req.xml52
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.004.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.005.Req.xml12
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.005.Res.xml43
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.006.Req.xml58
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.006.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.007.Req.xml86
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.007.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.008.Req.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.008.Res.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.009.Req.xml58
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.009.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.052.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.052.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.053.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.053.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.054.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.054.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.055.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.055.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.101.Req.xml58
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.101.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.102.Req.xml58
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.102.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.103.Req.xml57
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.103.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.104.Req.xml57
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.104.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.105.Req.xml64
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.105.Res.xml40
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.106.Req.xml52
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.106.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.151.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.151.Req.xml52
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.153.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.153.Req.xml52
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.154.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.154.Req.xml58
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.201.Req.xml59
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.201.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.202.Req.xml59
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.202.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.203.Req.xml59
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.203.Res.xml42
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.205.Req.xml59
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.205.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.206.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.206.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.208.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.208.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.209.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.209.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.210.Req.xml70
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.210.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.211.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.211.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.212.Req.xml66
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.212.Res.xml60
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.213.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.213.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.214.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.214.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.215.Req.xml66
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.215.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.216.Req.xml59
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.216.Res.xml60
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.217.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.217.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.251.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.251.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.253.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.253.Req.xml59
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.301.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.301.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.302.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.302.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.303.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.303.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.304.Req.xml24
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.304.Res.xml29
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.305.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.305.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.307.Req.xml58
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.307.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.308.Req.xml57
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.308.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.310.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.310.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.311.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.311.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.312.Req.xml52
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.312.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.313.Req.xml35
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.313.Res.xml48
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.314.Req.xml52
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.314.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.314_2.Req.xml57
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.314_2.Res.xml39
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.315.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.315.Res.xml44
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.316.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.316.Res.xml45
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.317.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.317.Res.xml44
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.318.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.318.Res.xml44
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.318_2.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.318_2.Res.xml44
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.319.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.319.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.320.Req.xml15
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.320.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.320_2.Req.xml64
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.320_2.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.321.Req.xml15
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.321.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.322.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.322.Res.xml50
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.323.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.323.Res.xml61
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.324.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.324.Res.xml55
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.325.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.325.Res.xml51
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.326.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.326.Res.xml43
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.327.Req.xml35
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.327.Res.xml41
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.351.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.351.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.352.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.352.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.354.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.354.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.356.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.356.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.357.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.357.Req.xml52
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.359.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.359.Req.xml18
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.360.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.360.Req.xml18
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.360_2.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.360_2.Req.xml18
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.362.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.362.Req.xml21
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.363.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.363.Req.xml21
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.364.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.364.Req.xml18
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.365.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.365.Req.xml18
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.366.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.366.Req.xml35
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.367.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.367.Req.xml35
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.369.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.369.Req.xml53
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.370.ErrRes.xml1
-rw-r--r--spss.test/data/VX0/TestGeneratorVX.370.Req.xml53
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.001.Req.xml27
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.001.Res.xml25
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.002.Req.xml27
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.002.Res.xml25
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.003.Req.xml32
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.003.Res.xml23
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.004.Req.xml42
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.004.Res.xml23
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.005.Req.xml46
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.005.Res.xml25
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.006.Req.xml19
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.006.Res.xml41
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.007.Req.xml67
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.007.Res.xml39
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.050.ErrRes.xml1
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.050.Req.xml27
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.051.ErrRes.xml1
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.051.Req.xml32
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.052.ErrRes.xml1
-rw-r--r--spss.test/data/feature41/TestGeneratorFeature41.052.Req.xml42
-rw-r--r--spss.test/data/feature41/readme.txt9
-rw-r--r--spss.test/lib/SignatureAlgorithmImplECDSA.jarbin0 -> 6072 bytes
-rw-r--r--spss.test/lib/axis-1.0/axis.jarbin0 -> 1101593 bytes
-rw-r--r--spss.test/lib/axis-1.0/jaxrpc.jarbin0 -> 35635 bytes
-rw-r--r--spss.test/lib/axis-1.0/saaj.jarbin0 -> 18463 bytes
-rw-r--r--spss.test/lib/axis-1.0/wsdl4j.jarbin0 -> 109356 bytes
-rw-r--r--spss.test/lib/commons-discovery-0.2/commons-discovery.jarbin0 -> 71442 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/iaik-moa-full.jarbin0 -> 579533 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/iaikPkcs11Provider.jarbin0 -> 281608 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/iaikPkcs11Wrapper.jarbin0 -> 250749 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/iaik_cms.jarbin0 -> 195000 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/iaik_ecc.jarbin0 -> 101004 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/iaik_jce_full.jarbin0 -> 637549 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/ixsil.jarbin0 -> 216616 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jarbin0 -> 292951 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/signed/iaik_ecc.jarbin0 -> 85245 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/signed/iaik_jce_full.jarbin0 -> 636153 bytes
-rw-r--r--spss.test/lib/iaik-moa-20030703/win32/pkcs11wrapper.dllbin0 -> 73728 bytes
-rw-r--r--spss.test/lib/iaik_javax_crypto.jarbin0 -> 28308 bytes
-rw-r--r--spss.test/lib/jaxen-1.0/jaxen-core.jarbin0 -> 160967 bytes
-rw-r--r--spss.test/lib/jaxen-1.0/jaxen-dom.jarbin0 -> 13707 bytes
-rw-r--r--spss.test/lib/jaxen-1.0/saxpath.jarbin0 -> 23563 bytes
-rw-r--r--spss.test/lib/jaxp-1.2_01/dom.jarbin0 -> 26710 bytes
-rw-r--r--spss.test/lib/jaxp-1.2_01/jaxp-api.jarbin0 -> 27052 bytes
-rw-r--r--spss.test/lib/jaxp-1.2_01/sax.jarbin0 -> 26206 bytes
-rw-r--r--spss.test/lib/jce.jarbin0 -> 158999 bytes
-rw-r--r--spss.test/lib/jprov.jarbin0 -> 329183 bytes
-rw-r--r--spss.test/lib/jsse-1.0.3_01/jcert.jarbin0 -> 11321 bytes
-rw-r--r--spss.test/lib/jsse-1.0.3_01/jnet.jarbin0 -> 5830 bytes
-rw-r--r--spss.test/lib/jsse-1.0.3_01/jsse.jarbin0 -> 512635 bytes
-rw-r--r--spss.test/lib/xalan-j-2.2/bsf.jarbin0 -> 105573 bytes
-rw-r--r--spss.test/lib/xalan-j-2.2/xalan.jarbin0 -> 923866 bytes
-rw-r--r--spss.test/lib/xerces-j-2.0.2/xercesImpl.jarbin0 -> 933730 bytes
-rw-r--r--spss.test/lib/xerces-j-2.0.2/xmlParserAPIs.jarbin0 -> 78440 bytes
-rw-r--r--spss.test/resources/100kb.txt1
-rw-r--r--spss.test/resources/10kb.txt1
-rw-r--r--spss.test/resources/1kb.txt1
-rw-r--r--spss.test/resources/1mb.txt1
-rw-r--r--spss.test/resources/20kb.txt1
-rw-r--r--spss.test/resources/500kb.txt1
-rw-r--r--spss.test/resources/50kb.txt1
-rw-r--r--spss.test/resources/BookData.xml1
-rw-r--r--spss.test/resources/BookData_wo_NS.xml1
-rw-r--r--spss.test/resources/CSEP.xml1
-rw-r--r--spss.test/resources/CX1_book.xsl1
-rw-r--r--spss.test/resources/CX1_book_not_here.xsl1
-rw-r--r--spss.test/resources/CX1_bookprofile.xsl1
-rw-r--r--spss.test/resources/CX1_bookref.xsl1
-rw-r--r--spss.test/resources/CX1_bookref_not_here.xsl1
-rw-r--r--spss.test/resources/DSA.1024.p12bin0 -> 2800 bytes
-rw-r--r--spss.test/resources/DSA.512.p12bin0 -> 2467 bytes
-rw-r--r--spss.test/resources/HSMRSAKEY.cer13
-rw-r--r--spss.test/resources/IAIKRootMusterbehoerde.cerbin0 -> 863 bytes
-rw-r--r--spss.test/resources/Max_Mustermann (max).p12bin0 -> 2975 bytes
-rw-r--r--spss.test/resources/Max_Mustermann.cerbin0 -> 965 bytes
-rw-r--r--spss.test/resources/SignatureVX005.xml43
-rw-r--r--spss.test/resources/SignatureVX005Cert.xml21
-rw-r--r--spss.test/resources/SignatureVX006Document.xml43
-rw-r--r--spss.test/resources/TEMPX509Data.xml44
-rw-r--r--spss.test/resources/TestGeneratorVX.Config.xml2
-rw-r--r--spss.test/resources/VC0.011.cms.ber.b64.txt48
-rw-r--r--spss.test/resources/VX.006DTD.dtd1
-rw-r--r--spss.test/resources/VX.006Schema.xsd1
-rw-r--r--spss.test/resources/VX.006xmlData.xml2
-rw-r--r--spss.test/resources/VX.007DTD.dtd2
-rw-r--r--spss.test/resources/VX2_book0.xsl1
-rw-r--r--spss.test/resources/VX2_book1.xsl1
-rw-r--r--spss.test/resources/VX2_bookref2includes.xsl5
-rw-r--r--spss.test/resources/X509Data.xml44
-rw-r--r--spss.test/resources/algorithms.properties94
-rw-r--r--spss.test/resources/client.keystorebin0 -> 1904 bytes
-rw-r--r--spss.test/resources/cms.keystorebin0 -> 34065 bytes
-rw-r--r--spss.test/resources/documents/bookData.xml9
-rw-r--r--spss.test/resources/documents/simpleSignature.xml42
-rw-r--r--spss.test/resources/documents/testDaten.txt4
-rw-r--r--spss.test/resources/documents/testSimple.txt1
-rw-r--r--spss.test/resources/ecc(ego).p12bin0 -> 1234 bytes
-rw-r--r--spss.test/resources/ecc.p12bin0 -> 1234 bytes
-rw-r--r--spss.test/resources/ecdsa_root_cert.cerbin0 -> 540 bytes
-rw-r--r--spss.test/resources/envDoc.xml3
-rw-r--r--spss.test/resources/hsmc.cer13
-rw-r--r--spss.test/resources/init.properties214
-rw-r--r--spss.test/resources/keyManager.properties74
-rw-r--r--spss.test/resources/moahsm.cer13
-rw-r--r--spss.test/resources/schemas/testDocument.schema.xsd14
-rw-r--r--spss.test/resources/sicher-demo(buergerkarte).p12bin0 -> 3077 bytes
-rw-r--r--spss.test/resources/sicher-demo.derbin0 -> 1870 bytes
-rw-r--r--spss.test/resources/sl2002mmdd.ecard.normal.p12bin0 -> 1232 bytes
-rw-r--r--spss.test/resources/sl2002mmdd.ecard.sicher.p12bin0 -> 1234 bytes
-rw-r--r--spss.test/resources/spss.configuration/MOA-SPSS-Configuration.xml176
-rw-r--r--spss.test/resources/spss.configuration/keys/DSA.1024.p12bin0 -> 2800 bytes
-rw-r--r--spss.test/resources/spss.configuration/keys/DSA.512.p12bin0 -> 2467 bytes
-rw-r--r--spss.test/resources/spss.configuration/keys/Max_Mustermann (max).p12bin0 -> 2975 bytes
-rw-r--r--spss.test/resources/spss.configuration/keys/ecc(ego).p12bin0 -> 1234 bytes
-rw-r--r--spss.test/resources/spss.configuration/keys/ecc.p12bin0 -> 1234 bytes
-rw-r--r--spss.test/resources/spss.configuration/keys/sicher-demo(buergerkarte).p12bin0 -> 3077 bytes
-rw-r--r--spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.normal.p12bin0 -> 1232 bytes
-rw-r--r--spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.sicher.p12bin0 -> 1234 bytes
-rw-r--r--spss.test/resources/spss.configuration/keys/test-ee2003_normal(buergerkarte).p12bin0 -> 3077 bytes
-rw-r--r--spss.test/resources/spss.configuration/profiles/CSEP.xml5
-rw-r--r--spss.test/resources/spss.configuration/profiles/CX1_bookprofile.xsl1
-rw-r--r--spss.test/resources/spss.configuration/profiles/SupplementProfile1.xml10
-rw-r--r--spss.test/resources/spss.configuration/profiles/SupplementProfile2.xml8
-rw-r--r--spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1.xml1
-rw-r--r--spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1MOAID.xml19
-rw-r--r--spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2.xml7
-rw-r--r--spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2MOAID.xml3
-rw-r--r--spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRoot.cerbin0 -> 883 bytes
-rw-r--r--spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRootMusterbehörde.cerbin0 -> 863 bytes
-rw-r--r--spss.test/resources/spss.configuration/profiles/TrustProfile1/Max_Mustermann.cerbin0 -> 965 bytes
-rw-r--r--spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cerbin0 -> 1136 bytes
-rw-r--r--spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-nQual-01.cerbin0 -> 994 bytes
-rw-r--r--spss.test/resources/spss.configuration/profiles/TrustProfile1/ecdsa_root_cert.cerbin0 -> 540 bytes
-rw-r--r--spss.test/resources/spss.configuration/profiles/TrustProfile1/test-ee2003_normal.derbin0 -> 1870 bytes
-rw-r--r--spss.test/resources/stylesheets/book.notavailable.xsl1
-rw-r--r--spss.test/resources/stylesheets/book.xsl12
-rw-r--r--spss.test/resources/stylesheets/ref.book.notavailable.xsl1
-rw-r--r--spss.test/resources/sven.cerbin0 -> 762 bytes
-rw-r--r--spss.test/resources/sven.keystorebin0 -> 1216 bytes
-rw-r--r--spss.test/resources/sven_tomcat-client.cer0
-rw-r--r--spss.test/resources/test-ee2003_normal(buergerkarte).p12bin0 -> 3077 bytes
-rw-r--r--spss.test/resources/test-ee2003_normal.derbin0 -> 1870 bytes
-rw-r--r--spss.test/resources/test-ee2003_normal.derbase64.enc21
-rw-r--r--spss.test/resources/test-ee2003_normal_extract.cerbin0 -> 987 bytes
-rw-r--r--spss.test/resources/testBase64.txt1
-rw-r--r--spss.test/resources/testDaten.txt4
-rw-r--r--spss.test/resources/testDaten.txtbase64.enc1
-rw-r--r--spss.test/resources/testDocument.xml2
-rw-r--r--spss.test/resources/testDocument.xmlbase64.enc3
-rw-r--r--spss.test/resources/testSimple.txt1
-rw-r--r--spss.test/resources/testSimple.txtbase64.enc1
-rw-r--r--spss.test/resources/testUTF8.txt1
-rw-r--r--spss.test/resources/testXML.txt4
-rw-r--r--spss.test/resources/testXML.txtbase64.enc2
-rw-r--r--spss.test/resources/test_w_canonicalisation.XML3
-rw-r--r--spss.test/resources/test_wo_canonicalisation.XML9
-rw-r--r--spss.test/resources/test_wo_canonicalisation.XMLbase64.enc7
-rw-r--r--spss.test/resources/tests.cer.b6427
-rw-r--r--spss.test/resources/tollesDTD.dtd4
-rw-r--r--spss.test/resources/tollesDTD.dtdbase64.enc2
-rw-r--r--spss.test/resources/tomcat-client.cerbin0 -> 570 bytes
-rw-r--r--spss.test/resources/tomcat-server.cerbin0 -> 564 bytes
-rw-r--r--spss.test/src/ExportECDSA.java249
-rw-r--r--spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java38
-rw-r--r--spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureCreationCaller.java23
-rw-r--r--spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureVerificationCaller.java28
-rw-r--r--spss.test/src/testclient/LasttestClient.java389
-rw-r--r--spss.test/src/testclient/TestClient.java1665
-rw-r--r--spss.test/src/testgenerator/CMSKeyStore.java198
-rw-r--r--spss.test/src/testgenerator/CMSKeyStoreConstants.java51
-rw-r--r--spss.test/src/testgenerator/CreatePKCSSignature.java874
-rw-r--r--spss.test/src/testgenerator/DataGenerator.java45
-rw-r--r--spss.test/src/testgenerator/EtsiProperties.java113
-rw-r--r--spss.test/src/testgenerator/LauchAll.java28
-rw-r--r--spss.test/src/testgenerator/LaunchVX.java24
-rw-r--r--spss.test/src/testgenerator/Pass.java22
-rw-r--r--spss.test/src/testgenerator/SetupCMSKeyStore.java671
-rw-r--r--spss.test/src/testgenerator/SignatureManifestCheckParams.java176
-rw-r--r--spss.test/src/testgenerator/Supplement.java62
-rw-r--r--spss.test/src/testgenerator/TestCMS.java118
-rw-r--r--spss.test/src/testgenerator/TestCases.java611
-rw-r--r--spss.test/src/testgenerator/TestGeneratorCX0.java2940
-rw-r--r--spss.test/src/testgenerator/TestGeneratorCX1.java1054
-rw-r--r--spss.test/src/testgenerator/TestGeneratorCX2.java1050
-rw-r--r--spss.test/src/testgenerator/TestGeneratorFeature41.java1167
-rw-r--r--spss.test/src/testgenerator/TestGeneratorVC0.java1057
-rw-r--r--spss.test/src/testgenerator/TestGeneratorVX.java2793
-rw-r--r--spss.test/src/testgenerator/TestGeneratorVX2.java1600
-rw-r--r--spss.test/src/testgenerator/TestGeneratorVXErrors.java1775
-rw-r--r--spss.test/src/testgenerator/TestPKCS12.java107
-rw-r--r--spss.test/src/testgenerator/VXResponseBean.java180
538 files changed, 29932 insertions, 0 deletions
diff --git a/spss.test/.classpath b/spss.test/.classpath
new file mode 100644
index 000000000..6c3fe75b5
--- /dev/null
+++ b/spss.test/.classpath
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="resources"/>
+ <classpathentry kind="lib" path="lib/jaxen-1.0/jaxen-dom.jar"/>
+ <classpathentry kind="lib" path="lib/axis-1.0/wsdl4j.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/signed/iaik_ecc.jar"/>
+ <classpathentry kind="lib" path="lib/axis-1.0/jaxrpc.jar"/>
+ <classpathentry kind="lib" path="lib/axis-1.0/axis.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaikPkcs11Provider.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/ixsil.jar"/>
+ <classpathentry kind="lib" path="lib/jsse-1.0.3_01/jnet.jar"/>
+ <classpathentry kind="lib" path="lib/jaxp-1.2_01/jaxp-api.jar"/>
+ <classpathentry kind="lib" path="lib/commons-discovery-0.2/commons-discovery.jar"/>
+ <classpathentry kind="lib" path="lib/jaxp-1.2_01/sax.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaik-moa-full.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaik_jce_full.jar"/>
+ <classpathentry kind="lib" path="lib/xerces-j-2.0.2/xmlParserAPIs.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jar"/>
+ <classpathentry kind="lib" path="lib/xalan-j-2.2/xalan.jar"/>
+ <classpathentry kind="lib" path="lib/xerces-j-2.0.2/xercesImpl.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaik_ecc.jar"/>
+ <classpathentry kind="lib" path="lib/jsse-1.0.3_01/jcert.jar"/>
+ <classpathentry kind="lib" path="lib/jaxen-1.0/saxpath.jar"/>
+ <classpathentry kind="lib" path="lib/axis-1.0/saaj.jar"/>
+ <classpathentry kind="lib" path="lib/jaxen-1.0/jaxen-core.jar"/>
+ <classpathentry kind="lib" path="lib/SignatureAlgorithmImplECDSA.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/signed/iaik_jce_full.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaik_cms.jar"/>
+ <classpathentry kind="lib" path="lib/xalan-j-2.2/bsf.jar"/>
+ <classpathentry kind="lib" path="lib/jsse-1.0.3_01/jsse.jar"/>
+ <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaikPkcs11Wrapper.jar"/>
+ <classpathentry kind="lib" path="lib/jaxp-1.2_01/dom.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JRE 1.3.1-09"/>
+ <classpathentry kind="src" path="/MOA common"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/spss.test/.project b/spss.test/.project
new file mode 100644
index 000000000..c64902805
--- /dev/null
+++ b/spss.test/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>MOA spss.test</name>
+ <comment></comment>
+ <projects>
+ <project>MOA common</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/spss.test/Definitionen/Testfalldokumentation.doc b/spss.test/Definitionen/Testfalldokumentation.doc
new file mode 100644
index 000000000..4bf44403d
--- /dev/null
+++ b/spss.test/Definitionen/Testfalldokumentation.doc
Binary files differ
diff --git a/spss.test/data/CX0/TestGeneratorCX0.001.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.001.Req.xml
new file mode 100644
index 000000000..7ffb7cd3b
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.001.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.001.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.001.Res.xml
new file mode 100644
index 000000000..9a8337324
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.001.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe
+c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa
+FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.002.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.002.Req.xml
new file mode 100644
index 000000000..7e8d820b4
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.002.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.002.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.002.Res.xml
new file mode 100644
index 000000000..9a8337324
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.002.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe
+c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa
+FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.003.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.003.Req.xml
new file mode 100644
index 000000000..94e7bec34
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.003.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.003.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.003.Res.xml
new file mode 100644
index 000000000..9a8337324
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.003.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe
+c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa
+FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.005.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.005.Req.xml
new file mode 100644
index 000000000..cfafd656c
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.005.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12ECDSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.005.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.005.Res.xml
new file mode 100644
index 000000000..7005d6301
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.005.Res.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>IIqg3cRu7AnmCogBykcFk5vEj9LGtkpEPsn9ZP9hPh80/U/VoP/jyNToyyusilbx</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIICGDCCAdCgAwIBAgIDAQpMMAkGByqGSM49BAEwTTELMAkGA1UEBhMCQVQxDTAL
+BgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0eTEYMBYGA1UEAxMPSUFJ
+SyBFQ0RTQSBUZXN0MB4XDTAzMDIxMDA5NDgwN1oXDTA0MDIxMDA5NDgwN1owTTEL
+MAkGA1UEBhMCQVQxDTALBgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0
+eTEYMBYGA1UEAxMPSUFJSyBFQ0RTQSBUZXN0MIHrMIG0BgcqhkjOPQIBMIGoAgEB
+MB0GByqGSM49AQIwEgICAL8GCSqGSM49AQIDAgIBCTA0BBgoZlN7Z2dSY2po9WVU
+4SZAJ2tknvdSYmcEGC5F71cfAHhvZ7AIG5SVo9lUYvXeCqGF7AQxBDaz2viiMgb5
+xPKZ17IanDaRN/LISuGqDXZb5zQzs/leMyky5w6iRcokGOoO+YAY+wIYQAAAAAAA
+AAAAAAAABKIOkMOQZ8iTu7mlAgECAzIABFh+sRJVup8mJdsDqlk2w1Cer2qkFxJU
+7VeLKaB6z8+W/jN6fPrc2u8MYJCZlL7T0aMNMAswCQYDVR0TBAIwADAJBgcqhkjO
+PQQBAzcAMDQCGBjRkQdnZmCv4mLwj72JBSFW1b0DIYvXXAIYILVW1F8IHAldw56h
+C3FJH2VuOdON4tia</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.007.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.007.Req.xml
new file mode 100644
index 000000000..01ea3bcc2
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.007.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.007.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.007.Res.xml
new file mode 100644
index 000000000..ddfdf07c2
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.007.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KNSjqcRkcNASW4brqj5mgkxMRu8Wv0suTrvjmw7JyVHrsWQvPyTMjw9B0t7/ih5i
+DcgUAByQ++ijk/v+xnBePrTi5DVbyqAwWbnehMNGX1Un/ZhxVajbSKHxwjaU1loX
+cTH5w5m9goN7w7DN5o9vEbIoHkQpTDiGhp2zXvHHIaA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.008.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.008.Req.xml
new file mode 100644
index 000000000..543c28ad0
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.008.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.008.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.008.Res.xml
new file mode 100644
index 000000000..ddfdf07c2
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.008.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KNSjqcRkcNASW4brqj5mgkxMRu8Wv0suTrvjmw7JyVHrsWQvPyTMjw9B0t7/ih5i
+DcgUAByQ++ijk/v+xnBePrTi5DVbyqAwWbnehMNGX1Un/ZhxVajbSKHxwjaU1loX
+cTH5w5m9goN7w7DN5o9vEbIoHkQpTDiGhp2zXvHHIaA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.009.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.009.Req.xml
new file mode 100644
index 000000000..3645b9586
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.009.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.009.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.009.Res.xml
new file mode 100644
index 000000000..f2373768c
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.009.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>BZcl/8GN5YI1fRFkTmv3YVstrVtFS5XquQoylfkXya4KsNRrhW8Sd0go+JxfbbaQ
+FP671mer7rlj42zYxgAB1rfr0zogy9gkSf69GftRdHH1z5w79lGgzQga5PbY7d24
+AKt/oETiJcGFH0C3XVWxOIZdK9z4jMrMvkAoEVJ06G4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">RGllcyBzaW5kIFRlc3RkYXRlbg==</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.010.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.010.Req.xml
new file mode 100644
index 000000000..6fba03be0
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.010.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
+ <DataObject>
+ <XMLContent xml:space="preserve"><Testdaten>Dies sind Testdaten</Testdaten></XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.010.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.010.Res.xml
new file mode 100644
index 000000000..8bc88b7e4
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.010.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>od5SQWC03fSOGu+CecxOpTv8FgA=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>xVA56wR2JvvMfULvvMbNSIqrJO8A5WOzkEYF72TLq80Oz3pGfD3VR3RpBBu+pfEi
+W+cEB3rPMxDdrkQwcxiCr6P7SeefXmOzj2LNFSs16TBEJoCRNELCVb1g7AOmlAuO
+LRSWsJlINrDoMWvxtmFI1oAhKWyphZSZRM/A2YXaMyM=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1"><Testdaten>Dies sind Testdaten</Testdaten></dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.011.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.011.Req.xml
new file mode 100644
index 000000000..6ea1a4799
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.011.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
+ <DataObject>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.011.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.011.Res.xml
new file mode 100644
index 000000000..f2373768c
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.011.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>BZcl/8GN5YI1fRFkTmv3YVstrVtFS5XquQoylfkXya4KsNRrhW8Sd0go+JxfbbaQ
+FP671mer7rlj42zYxgAB1rfr0zogy9gkSf69GftRdHH1z5w79lGgzQga5PbY7d24
+AKt/oETiJcGFH0C3XVWxOIZdK9z4jMrMvkAoEVJ06G4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">RGllcyBzaW5kIFRlc3RkYXRlbg==</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.012.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.012.Req.xml
new file mode 100644
index 000000000..f7b82c65a
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.012.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" >
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.012.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.012.Res.xml
new file mode 100644
index 000000000..ddfdf07c2
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.012.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KNSjqcRkcNASW4brqj5mgkxMRu8Wv0suTrvjmw7JyVHrsWQvPyTMjw9B0t7/ih5i
+DcgUAByQ++ijk/v+xnBePrTi5DVbyqAwWbnehMNGX1Un/ZhxVajbSKHxwjaU1loX
+cTH5w5m9goN7w7DN5o9vEbIoHkQpTDiGhp2zXvHHIaA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.013.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.013.Req.xml
new file mode 100644
index 000000000..7a82a48be
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.013.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="true">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt" />
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.013.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.013.Res.xml
new file mode 100644
index 000000000..48ccba2b2
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.013.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>dGNOIZnPdyscRdAsjM9zJUGORGg=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>yZ6KYqGZj/AhzuOpqHgzQtSeVhwLI0tBbVoztu+vdQ7eEh+IGO5/0/Q8bV3GKcWx
+adQ0MoN4hE++t0lY6kaUOg8Kp/qt3vepgtqivgGZvtZIXsvb5ENU6MLxlSyUD8Wn
+gkTe8sEd+7F61BHPKaNFT7Vd57OytcCvm2YnUOJSKPk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="dsig-manifest-1-1"><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.014.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.014.Req.xml
new file mode 100644
index 000000000..dcb54f8b3
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.014.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="true">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testUTF8.txt" />
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.014.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.014.Res.xml
new file mode 100644
index 000000000..f24108481
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.014.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testUTF8.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+WMzUGbzSA35sXMMEes2VLiG7jU=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bnFGv3/eK1vVnk1rq7WLXyNReps=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>1exWa5rr1K9NhNzIBVLlEAa8YR4vBkULm6F8h+UNJ5UFUi4kydNfPMhjtVJ5Y1xl
+rtFoidU2fyMCSIMmObNCscv+eBECWyoohVdv0ZV/ZQLe1nQCB95yWFqprpHEiA2v
+sJpk/6cOOreypueftxo/TySboyWtAAIcARs27isTn1A=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="etsi-signed-1-1"><etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-05-10T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1-1"><etsi:MimeType>text/plain</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.015.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.015.Req.xml
new file mode 100644
index 000000000..f4ce69b27
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.015.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ <DataObjectInfo Structure="detached">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.015.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.015.Res.xml
new file mode 100644
index 000000000..aa01f5fc3
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.015.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>5UITYnwdTD4/aJoGU83mr4gIO/aJfmV8u3kYnNSuBghvQg6j7ERujItgx7VLVH09
+wCTZgfIJKkyZXvxDPQtpRsRQ53k387Zu0E72Y59ooTEYQsZ6Lw9aDMgqpnbB4VNt
+y04f2jgUnR+OtKUVNFMD0jOPNEPTDEDSPT8oyl3pKio=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.016.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.016.Req.xml
new file mode 100644
index 000000000..75e49a917
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.016.Req.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="enveloping">
+ <DataObject>
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ <DataObjectInfo Structure="enveloping">
+ <DataObject>
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.016.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.016.Res.xml
new file mode 100644
index 000000000..369229118
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.016.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="#xpointer(id('signed-data-1-2-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>G7aYovXJcXMF32DLByHNOdbvPJObYqCaIKAWoAftRFuJ4IgY8x5dJNp9YGHcFqb1
+E0KNqn6eqw7sIz9QILJYHEfNQwhlJf9+RBFGgFnr8PfFiQXciK5ylwSVKXwmtDAs
+SuWZ0W+UFFGg6W6vm2L9n88pG9KoyevzmYYtq3kj/F0=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">Dies sind Testdaten</dsig:Object><dsig:Object Id="signed-data-1-2-1">Dies sind Testdaten</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.017.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.017.Req.xml
new file mode 100644
index 000000000..705d8863b
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.017.Req.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ <DataObjectInfo Structure="enveloping">
+ <DataObject>
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.017.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.017.Res.xml
new file mode 100644
index 000000000..fc691dba0
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.017.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="#xpointer(id('signed-data-1-2-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>cTj3gR4sBAwk9HkvwS4f3lmpMW7IoEIfZsXtXHAwjglTGM76Mb+yKSkMWX1UUAiQ
+Xp7n9Sig2V6N//pUDoatpjIzak4xntZHOU0wXX5a9hVU8rg9PvS6MXgMFfwMJ4QA
+VCMYpYRFq0qQwxMr8U2jqnitCy6kmnTPH6zXz323T5I=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-2-1">Dies sind Testdaten</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.018.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.018.Req.xml
new file mode 100644
index 000000000..8b1cffbda
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.018.Req.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.018.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.018.Res.xml
new file mode 100644
index 000000000..b5940bf18
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.018.Res.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe
+c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa
+FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment><SignatureEnvironment><dsig:Signature Id="signature-2-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-2-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>x7QxfhPTLmWw0XAC0eyZLKbVXuNDqS11Yf97x2ADFQVYAEfx8L8RHDCIHwFL3Dx8
+tXTunXlPj0G+4eIWie0c8A5Q5rIukYaO4iCyRFOq6BcEWmdBC7Q43K/IYE09sj/y
+wTLizreXSFe/n9xjlaCsfPVokzI1k80AakMVXXcalZk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.019.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.019.Req.xml
new file mode 100644
index 000000000..6630363ea
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.019.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/xml</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.019.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.019.Res.xml
new file mode 100644
index 000000000..0d0ae0805
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.019.Res.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Z9Rr4wyNUP2Pe0sBdLz447sJt8o=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>0E3/PZv+Kw2L9Hwmgr7CQgVLdOx+VtogRrAFgLoloFAwcbnRNf3VnEiMjrcT0jSy
+sVyBwzD4T1tFwgzT23tStJa7eXdnLt7jbYGsiRiX6EyyXrSpXgij0s3tgplhw57p
+7UYGNiNzyFJ1+Za71l5DN8SauVG0YLRz1bvms3l6ujM=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K&#13;
+CVRlc3QNCjwvSHVnbz4=</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.051.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.051.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.051.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.051.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.051.Req.xml
new file mode 100644
index 000000000..3f30d232f
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.051.Req.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ <SuperExtraElementThatShouldNotBeValidWithTheSchema/>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.052.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.052.ErrRes.xml
new file mode 100644
index 000000000..af2e09a3e
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.052.ErrRes.xml
@@ -0,0 +1 @@
+0000 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.052.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.052.Req.xml
new file mode 100644
index 000000000..2b35846c0
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.052.Req.xml
@@ -0,0 +1,19 @@
+<?xml encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt">
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.053.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.053.ErrRes.xml
new file mode 100644
index 000000000..af2e09a3e
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.053.ErrRes.xml
@@ -0,0 +1 @@
+0000 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.053.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.053.Req.xml
new file mode 100644
index 000000000..7f819ccc8
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.053.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="5.0alpha3" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt">
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.054.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.054.ErrRes.xml
new file mode 100644
index 000000000..af2e09a3e
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.054.ErrRes.xml
@@ -0,0 +1 @@
+0000 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.054.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.054.Req.xml
new file mode 100644
index 000000000..e1024af59
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.054.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="SuperSvenEncoding:)"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt">
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.055.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.055.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.055.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.055.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.055.Req.xml
new file mode 100644
index 000000000..e7bc6bb3c
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.055.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://www.w3.org/2000/09/svens_schema#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt">
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.056.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.056.ErrRes.xml
new file mode 100644
index 000000000..2416c2c45
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.056.ErrRes.xml
@@ -0,0 +1 @@
+2231 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.056.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.056.Req.xml
new file mode 100644
index 000000000..5acf38c3f
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.056.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>wrong_value_KeyIdentifier</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt">
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.057.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.057.ErrRes.xml
new file mode 100644
index 000000000..929701d34
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.057.ErrRes.xml
@@ -0,0 +1 @@
+2220 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.057.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.057.Req.xml
new file mode 100644
index 000000000..79984a855
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.057.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKeyExpired</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt">
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.058.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.058.ErrRes.xml
new file mode 100644
index 000000000..929701d34
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.058.ErrRes.xml
@@ -0,0 +1 @@
+2220 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.058.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.058.Req.xml
new file mode 100644
index 000000000..c0647aa63
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.058.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>DSAinPKCS12</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt">
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.059.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.059.ErrRes.xml
new file mode 100644
index 000000000..758e03adc
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.059.ErrRes.xml
@@ -0,0 +1 @@
+2208 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.059.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.059.Req.xml
new file mode 100644
index 000000000..e8d2ebf81
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.059.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/not_here.txt">
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.060.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.060.ErrRes.xml
new file mode 100644
index 000000000..4d642625f
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.060.ErrRes.xml
@@ -0,0 +1 @@
+1102 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.060.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.060.Req.xml
new file mode 100644
index 000000000..a371cf389
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.060.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject >
+ <!-- Hint -->
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.062.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.062.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.062.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.062.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.062.Req.xml
new file mode 100644
index 000000000..8f4a32e24
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.062.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject >
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg=</Base64Content>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.064.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.064.ErrRes.xml
new file mode 100644
index 000000000..96e38be91
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.064.ErrRes.xml
@@ -0,0 +1 @@
+1110 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.064.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.064.Req.xml
new file mode 100644
index 000000000..4c58db2f1
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.064.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/testDatenFalsch.txt">
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.065.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.065.ErrRes.xml
new file mode 100644
index 000000000..4d642625f
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.065.ErrRes.xml
@@ -0,0 +1 @@
+1102 \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.065.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.065.Req.xml
new file mode 100644
index 000000000..17ebc8ca3
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.065.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" >
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject>
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX0/TestGeneratorCX0.Config.xml b/spss.test/data/CX0/TestGeneratorCX0.Config.xml
new file mode 100644
index 000000000..1f4feffa7
--- /dev/null
+++ b/spss.test/data/CX0/TestGeneratorCX0.Config.xml
@@ -0,0 +1 @@
+<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#"> <KeyGroup id="PKCS12RSAKey1"> <Key id="resources/test-ee2003_normal(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12RSAKeyExpired"> <Key id="sicher-demo(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12ECDSAKey1"> <Key id="ecc.p12"/> </KeyGroup> <KeyGroup id="DSAinPKCS12"> <Key id="DSA.512.p12"/> </KeyGroup> <KeyGroup id="HSMRSAKey1"> <Key id="???"/> </KeyGroup> <KeyGroup id="HSMECDSAKey1"> <Key id="???"/> </KeyGroup> <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/> <SignatureAlgorithm name="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></MOAConfiguration> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.001.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.001.Req.xml
new file mode 100644
index 000000000..862027e78
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.001.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.001.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.001.Res.xml
new file mode 100644
index 000000000..cd31aa035
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.001.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>YjKlNeYiWGTFMJfOtz4AAreHxfiGHrLUr2TT5D7rn2di7WyQKZcqmTQEnFdUC7pa
+lcqpPCTPpxEWRKxVoueMeXI2XVIlLZtydKtawfCXCR3UTANT8g944cnQLeLF4cxP
+nhKm0pMqTUBdqy34eQsPNutKyhDCPbze+bIrLj1wyWY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.002.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.002.Req.xml
new file mode 100644
index 000000000..e7e302a46
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.002.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="true"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.002.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.002.Res.xml
new file mode 100644
index 000000000..d93e424ea
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.002.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>e58AwoQMkj93QqalFkkzOxapv+c=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>D9fk9xEubUZCo1h1Mw/qEed4z9QwwspxP5z48V5ywwM1lyirhZZZVQi8RDOnQKbJ
+yrosd4zZ+IiUXs2wtKQ0jV6tK9gHIuxhMTgtKHJZrnTnIUknG3VmIX59cmP/JvIl
+989vBQA247wiWEYZ+Wxp5/SIDLztYP8cfxEffBl6OEo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="etsi-signed-1-1"><etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-05-10T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.003.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.003.Req.xml
new file mode 100644
index 000000000..690ec6a2f
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.003.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><dsig:XPath xmlns:data="http://uri.data.org">//data:book/data:first-name</dsig:XPath></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.003.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.003.Res.xml
new file mode 100644
index 000000000..1a3edd3f4
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.003.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><dsig:XPath>//data:book/data:first-name</dsig:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ZSv8OQ/GXBnm/7bY+jMKJ2w5kGaqUYo8nQVMbSSDrNZ0V/lZTL7UC6id1LCmmim0
+ejWSpehabE/JX4/Kx4u0HzekL4kKv0sFZQ9z1rOdhWNZ3GgM2dJe/Bz+A5w7H+x6
+OZah1tDVIiyAJiAOHNsIhmuE8W2SQCEDPXCOC51TjiQ=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.004.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.004.Req.xml
new file mode 100644
index 000000000..98f052f15
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.004.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="subtract" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2" xmlns:data="http://uri.data.org">//data:book/data:first-name</xf2:XPath></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.004.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.004.Res.xml
new file mode 100644
index 000000000..cd734cd2c
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.004.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="subtract" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">//data:book/data:first-name</xf2:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Sx4DuAkpeSaD7yHkYaRmxiRN174=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>OtZapSxxPtO2d02c5REzD7r96RmAPnY0p9Nuig1YpyuWrbqfkIQBrnz+IFlMXBMH
+VNH+iUTzJAi0kwTvic2kWBQyqhhw9MVsaBVFzXNlDCXamz8ekNtACGN/5v/2THmG
+wauafmZe96F2aNmHp1HeYnSBlKJBKxt4xRbCZNyiGSw=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.005.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.005.Req.xml
new file mode 100644
index 000000000..cc3a97d02
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.005.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.005.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.005.Res.xml
new file mode 100644
index 000000000..66ed1c2aa
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.005.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>FO3Cvncp/1evuLSp3PXPSuuOJ1r6YuCZTdvm7j2Bck0/uPPCBddUMLJwbhaKhbjI
+5LpSQ/K/DyA0zaFqEqP0sBuLYJP8ldhbqCLOHVi2sHSO0SXTre20EFwRQONow3JL
+EuQD+AkFw4rBRpXzlHp+uH79/OWpkGQfKEm6jFPgvco=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.006.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.006.Req.xml
new file mode 100644
index 000000000..8477b7f5e
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.006.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.006.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.006.Res.xml
new file mode 100644
index 000000000..8570fd44d
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.006.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ldzNP2YNW8YXi/ilYIXu44wUouG4SRZwObsdMU/NEMNP1I00/b6kdKiBzjmNGXQ1
+SvobxGs/iNrgbQmNKy47I64h59eEtVgVNZLEbCZxvFvnNundclN25NdEW409zOwr
+XlVWj1d0VuwewdGkD923YI4/uwobKpb6c1OTzGq+BxY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.007.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.007.Req.xml
new file mode 100644
index 000000000..a1905644f
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.007.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="dsig" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.007.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.007.Res.xml
new file mode 100644
index 000000000..3c8f9e7a3
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.007.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec14n:InclusiveNamespaces PrefixList="dsig" xmlns:ec14n="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>qKTb3HEawjYkKi6fpRld3thQQstB2R20D+eCT08iA8qZl6hCKXCGu3RCwt0BMb1O
+UQitL5wZRIRqjLhX/aTskA378m+8lhcRJlI+JTBk1Go71qnIJV8lQrEHm1gZaFJl
+iB4H4J+FPhjb4Lah3VSGJmxFpUC2HuVkSJ8awIeZVNE=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.008.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.008.Req.xml
new file mode 100644
index 000000000..689914a57
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.008.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"><ec:InclusiveNamespaces PrefixList="dsig" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.008.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.008.Res.xml
new file mode 100644
index 000000000..886661c4c
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.008.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"><ec14n:InclusiveNamespaces PrefixList="dsig" xmlns:ec14n="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jteo5NXaQvd5YKxvaXwFVw6qUmbRaM2wLJe1EiaIaX7BNHGrxRq90qBMohCZmIFk
+yiIU3iZZaoHFUUcuTnzpgTQrh9Y1H3itEn4uE7CpP4Itsm2+HsORTy42d9oRBOKK
+rFXZIrfi3NwycElvf2F6ag1saDcKUFJZSnaZ/DY7W7M=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.009.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.009.Req.xml
new file mode 100644
index 000000000..ddd39adda
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.009.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference=""></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo><CreateSignatureEnvironment><XMLContent xml:space="preserve"><env:Document xmlns:env="http://uri.env.org">Text</env:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation xmlns:env="http://uri.env.org" Index="1">//env:Document</CreateSignatureLocation></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.009.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.009.Res.xml
new file mode 100644
index 000000000..68a626075
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.009.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><env:Document xmlns:env="http://uri.env.org">Text<dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI=""><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>j4SLfpgzRuL1rQEgy97/rNCt4I8=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>16e/BfTIpoRU5TQi6NM/hOPIcw0YYn+Cm0ZuN4imMELPz80YSC2JGk/PYkC3TL24
+anJ+BNzaPNOAPCWwga8ityx47ssW7S2rsTIBGEj7ThF1WO9yI0+5wdJLCuomqEOQ
+/9MWrYCw8FvIZPiSjnaUbPIu9gf0bMvpY91CYa9/nsY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></env:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.010.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.010.Req.xml
new file mode 100644
index 000000000..a72b29662
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.010.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.010.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.010.Res.xml
new file mode 100644
index 000000000..006d323fb
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.010.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>3PsMFSPASX3rAnms24p61nOqdtjQ/9TzRj71A+qnLKwcy7TpQubH/CF9byovzPPK
+cp7oI1SEnG6QEmV9xZo6TTE9Xg2FdLSpqPg/wZUuWxUSvXLRRCVmSB5mv2AT9rS8
+Wj4M1T5natdUXYVm428n+hkq3UY4N/ykCAScbBEnxg4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.011.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.011.Req.xml
new file mode 100644
index 000000000..832a47a18
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.011.Req.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><Supplement><Content Reference="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"><Base64Content>PHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5
+OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPjx4c2w6b3V0cHV0IG1ldGhv
+ZD0iaHRtbCIgaW5kZW50PSJubyIvPjx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRhdGE6
+Ym9vayIgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+PEhUTUw+PEJP
+RFk+PEgxPkJ1Y2g6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJkYXRhOnRpdGxlIi8+
+PC9IMT48L0JPRFk+PC9IVE1MPjwveHNsOnRlbXBsYXRlPjwveHNsOnN0eWxlc2hl
+ZXQ+</Base64Content></Content></Supplement></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.011.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.011.Res.xml
new file mode 100644
index 000000000..7de30dc09
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.011.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>cgkUsu80j1PvYV44FIV8y4XF2yk0JUGVmoScFERV1ZxhhtaZ0BuoM0R7tzdW01q/
+pe7vai8yKY4tzWLo2kzDtH5AciWTGIVFbwgF5H/e09KD5yu8Q7+M91+DGth9lRjG
+kphe1ijmx51kT39Z39keuO7ZXVSmrUHjg8F8mqsg/Rc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.012.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.012.Req.xml
new file mode 100644
index 000000000..ef0b43e75
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.012.Req.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></CreateTransformsInfo><Supplement><Content Reference="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"><Base64Content>PHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5
+OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPjx4c2w6b3V0cHV0IG1ldGhv
+ZD0iaHRtbCIgaW5kZW50PSJubyIvPjx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRhdGE6
+Ym9vayIgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+PEhUTUw+PEJP
+RFk+PEgxPkJ1Y2g6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJkYXRhOnRpdGxlIi8+
+PC9IMT48L0JPRFk+PC9IVE1MPjwveHNsOnRlbXBsYXRlPjwveHNsOnN0eWxlc2hl
+ZXQ+</Base64Content></Content></Supplement></CreateTransformsInfoProfile></DataObjectInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.012.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.012.Res.xml
new file mode 100644
index 000000000..443968069
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.012.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>APYUrGycbhFMjWaejLXQbfN9Fg5GEgzmek/yap8DZc0fi8suyuSK83P0zeHOf2aP
+JRTr9McSlgUeCXAuX25NWUCz8K/GFAoIq4M5s2IybQZmG7ri1cCYjyZcZJTA0Upd
+at9EBtO1lJm2td7lBeEWIeXcTKczKNtSymt5z4n74W8=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.013.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.013.Req.xml
new file mode 100644
index 000000000..546b15e71
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.013.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfileID>CreateTransformsInfoProfile1</CreateTransformsInfoProfileID></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.013.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.013.Res.xml
new file mode 100644
index 000000000..cd31aa035
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.013.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>YjKlNeYiWGTFMJfOtz4AAreHxfiGHrLUr2TT5D7rn2di7WyQKZcqmTQEnFdUC7pa
+lcqpPCTPpxEWRKxVoueMeXI2XVIlLZtydKtawfCXCR3UTANT8g944cnQLeLF4cxP
+nhKm0pMqTUBdqy34eQsPNutKyhDCPbze+bIrLj1wyWY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.014.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.014.Req.xml
new file mode 100644
index 000000000..d1ea0073b
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.014.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testBase64.txt"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.014.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.014.Res.xml
new file mode 100644
index 000000000..bb965d1cf
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.014.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testBase64.txt"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gACu/OVI7EXTcH7ai8G7/P+kx3QU/ArzG2hx4bTmQlRJK4eQSy8YNM2BAz2d3omm
+mQ1bNcU+gRwupC9Lusz+OZ2r3f5O5bEjkd3paoFm3pyWM8125Tp7yxdIVk0Fgkms
+i+jZ3tHOaSNbR1JCcxjebqb821F5oViUA7GemjEbVnQ=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.051.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.051.ErrRes.xml
new file mode 100644
index 000000000..8e20b01e7
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.051.ErrRes.xml
@@ -0,0 +1 @@
+2202 \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.051.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.051.Req.xml
new file mode 100644
index 000000000..5da128ec8
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.051.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="true"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.052.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.052.ErrRes.xml
new file mode 100644
index 000000000..4ca71c787
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.052.ErrRes.xml
@@ -0,0 +1 @@
+2215 \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.052.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.052.Req.xml
new file mode 100644
index 000000000..752a92c02
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.052.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><XPath>/data:book/data:first-name/node()</XPath></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.053.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.053.ErrRes.xml
new file mode 100644
index 000000000..929701d34
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.053.ErrRes.xml
@@ -0,0 +1 @@
+2220 \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.053.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.053.Req.xml
new file mode 100644
index 000000000..88ad8f421
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.053.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms> <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:include href="file:/transform.xsl"/> </xsl:stylesheet> </dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.054.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.054.ErrRes.xml
new file mode 100644
index 000000000..9a6039e94
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.054.ErrRes.xml
@@ -0,0 +1 @@
+2234 \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.054.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.054.Req.xml
new file mode 100644
index 000000000..8b32973fc
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.054.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfileID>CreateTransformsInfoProfileNonValid</CreateTransformsInfoProfileID></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.055.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.055.ErrRes.xml
new file mode 100644
index 000000000..e542c6660
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.055.ErrRes.xml
@@ -0,0 +1 @@
+2216 \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.055.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.055.Req.xml
new file mode 100644
index 000000000..09359ab14
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.055.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" ><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="true"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><XMLContent xml:space="preserve"><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book></XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX1/TestGeneratorCX1.Config.xml b/spss.test/data/CX1/TestGeneratorCX1.Config.xml
new file mode 100644
index 000000000..22b0a824e
--- /dev/null
+++ b/spss.test/data/CX1/TestGeneratorCX1.Config.xml
@@ -0,0 +1 @@
+<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#"> <KeyGroup id="PKCS12RSAKey1"> <Key id="resources/test-ee2003_normal(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12RSAKeyExpired"> <Key id="sicher-demo(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12ECDSAKey1"> <Key id="ecc.p12"/> </KeyGroup> <KeyGroup id="HSMRSAKey1"> <Key id="???"/> </KeyGroup> <KeyGroup id="HSMECDSAKey1"> <Key id="???"/> </KeyGroup> <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/> <SignatureAlgorithm name="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <CreateTransformsInfoProfile id="CreateTransformsInfoProfile1" filename="file:/http://localhost:8080/moa-spss-testdata/CX1_bookprofile.xsl"/></MOAConfiguration> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.001.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.001.Req.xml
new file mode 100644
index 000000000..1431b2475
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.001.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.001.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.001.Res.xml
new file mode 100644
index 000000000..d294bfd6e
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.001.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k
+nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK
+/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.002.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.002.Req.xml
new file mode 100644
index 000000000..4ae8724e2
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.002.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment Reference="http://localhost:8080/moa-spss-testdata/resources/testDocument.xml"/><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.002.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.002.Res.xml
new file mode 100644
index 000000000..d294bfd6e
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.002.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k
+nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK
+/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.003.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.003.Req.xml
new file mode 100644
index 000000000..2e68f04e6
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.003.Req.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NPGRhdGE6RG9j
+dW1lbnQgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+RGllcyBzaW5k
+IFRlc3RkYXRlbjwvZGF0YTpEb2N1bWVudD4N</Base64Content></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.003.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.003.Res.xml
new file mode 100644
index 000000000..d294bfd6e
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.003.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k
+nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK
+/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.004.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.004.Req.xml
new file mode 100644
index 000000000..1431b2475
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.004.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.004.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.004.Res.xml
new file mode 100644
index 000000000..d294bfd6e
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.004.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k
+nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK
+/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.005.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.005.Req.xml
new file mode 100644
index 000000000..148662f64
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.005.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="#document"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attr="document" xsi:schemaLocation="http://uri.data.org http://tollesSchema.org/test.xsd">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><Supplement><Content Reference="http://tollesSchema.org/test.xsd"><XMLContent xml:space="preserve"><xsd:schema targetNamespace="http://uri.data.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://uri.data.org" elementFormDefault="qualified" attributeFormDefault="unqualified" id="tollesSchema"><xsd:element name="Document"><xsd:complexType mixed="true"><xsd:sequence maxOccurs="unbounded" minOccurs="0"><xsd:any namespace="##any" processContents="lax"/></xsd:sequence><xsd:attribute name="attr" type="xsd:ID" use="required"/></xsd:complexType></xsd:element></xsd:schema></XMLContent></Content></Supplement></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.005.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.005.Res.xml
new file mode 100644
index 000000000..44d900fc2
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.005.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attr="document" xsi:schemaLocation="http://uri.data.org http://tollesSchema.org/test.xsd"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#document"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>YQuo5v1WFKeQdaZKngk/i8Y7U5I=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>uVdK8ctM1ZSxcpu9sk8j0OKzz1YPDEiEXlY9AHqsqAH/e3ICpIrUfucHTOU3PISm
+GojzDTTZqZ5vsmjo4MRzxC65Zu84xc9Qy8WlM85vpDPZkz5Z3kKv2TvSmT0BHdlc
+j+YWYFIMr7kxs+ls1KPd21OmMkiVTF0BAavEOg6XjRo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.006.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.006.Req.xml
new file mode 100644
index 000000000..a69466b9a
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.006.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfileID>CreateSignatureEnvironmentProfile1</CreateSignatureEnvironmentProfileID></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.006.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.006.Res.xml
new file mode 100644
index 000000000..d294bfd6e
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.006.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k
+nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK
+/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.007.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.007.Req.xml
new file mode 100644
index 000000000..b9b2d65df
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.007.Req.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="#document"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo><CreateSignatureEnvironment><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUg
+RG9jdW1lbnQgU1lTVEVNICJodHRwOi8vZHRkLm9yZy90b2xsZXNEVEQuZHRkIj48
+RG9jdW1lbnQgYXR0cj0iZG9jdW1lbnQiPkRpZXMgc2luZCBUZXN0ZGF0ZW48L0Rv
+Y3VtZW50Pg==</Base64Content></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//Document</CreateSignatureLocation><Supplement><Content Reference="http://dtd.org/tollesDTD.dtd"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IUVMRU1FTlQg
+RG9jdW1lbnQgKCNQQ0RBVEEgfCBBTlkpKj48IUFUVExJU1QgRG9jdW1lbnQgYXR0
+ciBJRCAjUkVRVUlSRUQ+</Base64Content></Content></Supplement></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.007.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.007.Res.xml
new file mode 100644
index 000000000..3119cc49e
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.007.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><Document attr="document" xmlns=""><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#document"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>sI50Vkkj8mjE05Zr2+S3bmDL5sI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>MWIP6z8/rFfljUHeOQFVvcD6kLAxfrti6CL2KjNFPDIvr8cLoZalL0x812d27D2v
+qOk/bDwkUjAqV0UDdLhmUmt1rNfVA7JaYag35ybCmJ+p96dRehH0EcdcFZzJ9JdY
+ECXz90M9fKhulZbXmtf991UTa51fitBIW9itxzv8ynw=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.008.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.008.Req.xml
new file mode 100644
index 000000000..9f179cee2
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.008.Req.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="#document"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attr="document" xsi:schemaLocation="http://uri.data.org http://tollesSchema.org/test.xsd">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><Supplement><Content Reference="http://tollesSchema.org/test.xsd"><Base64Content>PHhzZDpzY2hlbWEgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vdXJpLmRhdGEub3Jn
+IiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4
+bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3Rh
+bmNlIiB4bWxucz0iaHR0cDovL3VyaS5kYXRhLm9yZyIgZWxlbWVudEZvcm1EZWZh
+dWx0PSJxdWFsaWZpZWQiIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmll
+ZCIgaWQ9InRvbGxlc1NjaGVtYSI+PHhzZDplbGVtZW50IG5hbWU9IkRvY3VtZW50
+Ij48eHNkOmNvbXBsZXhUeXBlIG1peGVkPSJ0cnVlIj48eHNkOnNlcXVlbmNlIG1h
+eE9jY3Vycz0idW5ib3VuZGVkIiBtaW5PY2N1cnM9IjAiPjx4c2Q6YW55IG5hbWVz
+cGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+PC94c2Q6c2VxdWVu
+Y2U+PHhzZDphdHRyaWJ1dGUgbmFtZT0iYXR0ciIgdHlwZT0ieHNkOklEIiB1c2U9
+InJlcXVpcmVkIi8+PC94c2Q6Y29tcGxleFR5cGU+PC94c2Q6ZWxlbWVudD48L3hz
+ZDpzY2hlbWE+</Base64Content></Content></Supplement></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.008.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.008.Res.xml
new file mode 100644
index 000000000..7bcc7b638
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.008.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document attr="document" xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://uri.data.org http://tollesSchema.org/test.xsd"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#document"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>YQuo5v1WFKeQdaZKngk/i8Y7U5I=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>uVdK8ctM1ZSxcpu9sk8j0OKzz1YPDEiEXlY9AHqsqAH/e3ICpIrUfucHTOU3PISm
+GojzDTTZqZ5vsmjo4MRzxC65Zu84xc9Qy8WlM85vpDPZkz5Z3kKv2TvSmT0BHdlc
+j+YWYFIMr7kxs+ls1KPd21OmMkiVTF0BAavEOg6XjRo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.009.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.009.Req.xml
new file mode 100644
index 000000000..9cda00b5b
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.009.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="#xpointer(id(document))"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attr="document" xsi:schemaLocation="http://uri.data.org http://tollesSchema.org/test.xsd">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><Supplement><Content Reference="http://tollesSchema.org/test.xsd"><XMLContent xml:space="preserve"><xsd:schema targetNamespace="http://uri.data.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://uri.data.org" elementFormDefault="qualified" attributeFormDefault="unqualified" id="tollesSchema"><xsd:element name="Document"><xsd:complexType mixed="true"><xsd:sequence maxOccurs="unbounded" minOccurs="0"><xsd:any namespace="##any" processContents="lax"/></xsd:sequence><xsd:attribute name="attr" type="xsd:ID" use="required"/></xsd:complexType></xsd:element></xsd:schema></XMLContent></Content></Supplement></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.009.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.009.Res.xml
new file mode 100644
index 000000000..d1cacf052
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.009.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attr="document" xsi:schemaLocation="http://uri.data.org http://tollesSchema.org/test.xsd"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id(document))"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>P8zWrteGcRaSiur/I+JUFKF0RpVhGCYsm678bUGBTn/ybYiyGIX+/tHsHx2xzAw2
+QGbhlidyMSd/E/DNNtspm6Ckj9G+vgt1QhHbBWBHf2H1VPBSZ35BgvHih/a9lj+z
+rI6LSqxXPHTSjQ40Ojtuyz9wm93nfA4xI+Yye3Y9ywA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.051.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.051.ErrRes.xml
new file mode 100644
index 000000000..304a6a57d
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.051.ErrRes.xml
@@ -0,0 +1 @@
+1109 \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.051.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.051.Req.xml
new file mode 100644
index 000000000..3fcecd018
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.051.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">daten</data:Document><Text>toller Text</Text></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0" xmlns:data="http://uri.data.org">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.052.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.052.ErrRes.xml
new file mode 100644
index 000000000..77f912c54
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.052.ErrRes.xml
@@ -0,0 +1 @@
+2218 \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.052.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.052.Req.xml
new file mode 100644
index 000000000..106636e0a
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.052.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><Base64Content>PFRhZzE+PC9UYWcxPjxUYWcyPjwvVGFnMj4NCg0K</Base64Content><!-- Inhalt: <Tag1></Tag1><Tag2></Tag2> --></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.053.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.053.ErrRes.xml
new file mode 100644
index 000000000..96e38be91
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.053.ErrRes.xml
@@ -0,0 +1 @@
+1110 \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.053.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.053.Req.xml
new file mode 100644
index 000000000..dcdcc4eff
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.053.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment/><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.054.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.054.ErrRes.xml
new file mode 100644
index 000000000..483d07b5d
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.054.ErrRes.xml
@@ -0,0 +1 @@
+2212 \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.054.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.054.Req.xml
new file mode 100644
index 000000000..c8f0010b6
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.054.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"/><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><dsig:XPath>/data:book/data:first-name/node()</dsig:XPath></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document1</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.055.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.055.ErrRes.xml
new file mode 100644
index 000000000..96e38be91
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.055.ErrRes.xml
@@ -0,0 +1 @@
+1110 \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.055.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.055.Req.xml
new file mode 100644
index 000000000..00d4f7d68
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.055.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment Reference="http://localhost:8080/moa-spss-testdata/resources/CSEP.xml"><XMLContent xml:space="preserve"><data:Document>andereDaten als in http://localhost:8080/moa-spss-testdata/resources/CSEP.xml</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.056.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.056.ErrRes.xml
new file mode 100644
index 000000000..a6f32fc63
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.056.ErrRes.xml
@@ -0,0 +1 @@
+2236 \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.056.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.056.Req.xml
new file mode 100644
index 000000000..711a01b89
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.056.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document>andereDaten als in http://localhost:8080/moa-spss-testdata/resources/CSEP.xml</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfileID>wrongCreateSignatureEnvironmentProfile</CreateSignatureEnvironmentProfileID></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.057.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.057.ErrRes.xml
new file mode 100644
index 000000000..483d07b5d
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.057.ErrRes.xml
@@ -0,0 +1 @@
+2212 \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.057.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.057.Req.xml
new file mode 100644
index 000000000..90d7ab5cc
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.057.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><KeyIdentifier>PKCS12RSAKey1</KeyIdentifier><SingleSignatureInfo SecurityLayerConformity="false"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"/><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><dsig:XPath>/data:book/data:first-name/node()</dsig:XPath></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">]]'_'[[//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX2/TestGeneratorCX2.Config.xml b/spss.test/data/CX2/TestGeneratorCX2.Config.xml
new file mode 100644
index 000000000..9b87114ea
--- /dev/null
+++ b/spss.test/data/CX2/TestGeneratorCX2.Config.xml
@@ -0,0 +1 @@
+<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#"> <KeyGroup id="PKCS12RSAKey1"> <Key id="resources/test-ee2003_normal(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12RSAKeyExpired"> <Key id="sicher-demo(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12ECDSAKey1"> <Key id="ecc.p12"/> </KeyGroup> <KeyGroup id="HSMRSAKey1"> <Key id="???"/> </KeyGroup> <KeyGroup id="HSMECDSAKey1"> <Key id="???"/> </KeyGroup> <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/> <SignatureAlgorithm name="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <CreateSignatureEnvironmentProfile id="CreateSignatureEnvironmentProfile1" filename="file:/http://localhost:8080/moa-spss-testdata/resources/CSEP.xml"/></MOAConfiguration> \ No newline at end of file
diff --git a/spss.test/data/CX3/TestGeneratorCX3.001.Req.xml b/spss.test/data/CX3/TestGeneratorCX3.001.Req.xml
new file mode 100644
index 000000000..7ffb7cd3b
--- /dev/null
+++ b/spss.test/data/CX3/TestGeneratorCX3.001.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX3/TestGeneratorCX3.001.Res.xml b/spss.test/data/CX3/TestGeneratorCX3.001.Res.xml
new file mode 100644
index 000000000..9a8337324
--- /dev/null
+++ b/spss.test/data/CX3/TestGeneratorCX3.001.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe
+c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa
+FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/CX3/TestGeneratorCX3.052.ErrRes.xml b/spss.test/data/CX3/TestGeneratorCX3.052.ErrRes.xml
new file mode 100644
index 000000000..2416c2c45
--- /dev/null
+++ b/spss.test/data/CX3/TestGeneratorCX3.052.ErrRes.xml
@@ -0,0 +1 @@
+2231 \ No newline at end of file
diff --git a/spss.test/data/CX3/TestGeneratorCX3.052.Req.xml b/spss.test/data/CX3/TestGeneratorCX3.052.Req.xml
new file mode 100644
index 000000000..2da31e92a
--- /dev/null
+++ b/spss.test/data/CX3/TestGeneratorCX3.052.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKeyNotAllowed</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX3/TestGeneratorCX3.Config.xml b/spss.test/data/CX3/TestGeneratorCX3.Config.xml
new file mode 100644
index 000000000..1f4feffa7
--- /dev/null
+++ b/spss.test/data/CX3/TestGeneratorCX3.Config.xml
@@ -0,0 +1 @@
+<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#"> <KeyGroup id="PKCS12RSAKey1"> <Key id="resources/test-ee2003_normal(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12RSAKeyExpired"> <Key id="sicher-demo(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12ECDSAKey1"> <Key id="ecc.p12"/> </KeyGroup> <KeyGroup id="DSAinPKCS12"> <Key id="DSA.512.p12"/> </KeyGroup> <KeyGroup id="HSMRSAKey1"> <Key id="???"/> </KeyGroup> <KeyGroup id="HSMECDSAKey1"> <Key id="???"/> </KeyGroup> <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/> <SignatureAlgorithm name="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></MOAConfiguration> \ No newline at end of file
diff --git a/spss.test/data/CX4/TestGeneratorCX4.051.ErrRes.xml b/spss.test/data/CX4/TestGeneratorCX4.051.ErrRes.xml
new file mode 100644
index 000000000..af2e09a3e
--- /dev/null
+++ b/spss.test/data/CX4/TestGeneratorCX4.051.ErrRes.xml
@@ -0,0 +1 @@
+0000 \ No newline at end of file
diff --git a/spss.test/data/CX4/TestGeneratorCX4.051.Req.xml b/spss.test/data/CX4/TestGeneratorCX4.051.Req.xml
new file mode 100644
index 000000000..7ffb7cd3b
--- /dev/null
+++ b/spss.test/data/CX4/TestGeneratorCX4.051.Req.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/CX4/TestGeneratorCX4.Config.xml b/spss.test/data/CX4/TestGeneratorCX4.Config.xml
new file mode 100644
index 000000000..1f4feffa7
--- /dev/null
+++ b/spss.test/data/CX4/TestGeneratorCX4.Config.xml
@@ -0,0 +1 @@
+<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#"> <KeyGroup id="PKCS12RSAKey1"> <Key id="resources/test-ee2003_normal(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12RSAKeyExpired"> <Key id="sicher-demo(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12ECDSAKey1"> <Key id="ecc.p12"/> </KeyGroup> <KeyGroup id="DSAinPKCS12"> <Key id="DSA.512.p12"/> </KeyGroup> <KeyGroup id="HSMRSAKey1"> <Key id="???"/> </KeyGroup> <KeyGroup id="HSMECDSAKey1"> <Key id="???"/> </KeyGroup> <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/> <SignatureAlgorithm name="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></MOAConfiguration> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.001.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.001.Req.xml
new file mode 100644
index 000000000..c065b6675
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.001.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.001.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.001.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.001.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.002.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.002.Req.xml
new file mode 100644
index 000000000..3c2f1fd07
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.002.Req.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1 2"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIHPwYJKoZIhvcNAQcCoIIHMDCCBywCAQExGTAJBgUrDgMCGgUAMAwGCCqGSIb3DQIFBQAwCwYJ
+KoZIhvcNAQcBoIID2zCCA9cwggNEoAMCAQICBgDzJH01OzAJBgUrDgMCHQUAMIGsMQswCQYDVQQG
+EwJBVDEmMCQGA1UEChMdR1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPklu
+c2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRp
+b25zMRUwEwYDVQQLEwxJQUlLIFRlc3QgQ0ExFTATBgNVBAMTDElBSUsgVGVzdCBDQTAeFw0wMzAy
+MDMxNjIwNTVaFw0wMzEyMzAyMjU5MzBaMIGYMQswCQYDVQQGEwJBVDEmMCQGA1UEChMdR1JBWiBV
+TklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPkluc2l0dXRlIGZvciBBcHBsaWVkIElu
+Zm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zMRgwFgYDVQQDFA9Jc29sZGUg
+QvxyZ2VyaW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOd5tKp4Ojvc1SALidtj7PdV/qXX
+YTIgPT9ELrDHsUPkBJH3uN5xBSE6FGd7rqAEBXfp+DFzOg+vLWXLRlOTuFuQKv2xIyOHnyB0tBE4
+c4DQMpqpk/WfSCBIapv9Y4UOEl01t98t1595cdug4k3gKX7bkAd/PGJVfkbPq08hfYkVAgMBAAGj
+ggEcMIIBGDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDARBglghkgBhvhCAQEEBAMCBSAw
+ZwYDVR0gBGAwXjBcBgwrBgEEAZUSAQJ7AQEwTDBKBggrBgEFBQcCAjA+GjxUaGlzIGNlcnRpZmlj
+YXRlIG9ubHkgbWF5IGJlIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMwPAYDVR0fBDUw
+MzAxoC+gLYYraHR0cDovL3d3dy5pYWlrLmF0L3Rlc3RDQS9pYWlrX3Rlc3Rfc2lnLmNybDAdBgNV
+HQ4EFgQUKDrqCMUvDNaPw02ZCVLNJZzeQO0wHwYDVR0jBBgwFoAUTCCwVgIM94gKloilFLRRzDq1
+8r8wCQYFKw4DAh0FAAOBgQAmPNaPJs2/GArkzIHqZckpuZwJMY7L9U+Z/x889XC30gyWdB8jU1cf
+xg7M2Pg8dvDHVvugy6PZ1j0hP+D/pPR1yXv8BMgL+ODq476cxhio6qHN1/L+K8zKOjAUTZbrtJt8
+taZLU1f6uGolg/52xl3a5/wKCgLzkgEN0Hul/nU/9TGCAx4wggG5AgEBMIG3MIGsMQswCQYDVQQG
+EwJBVDEmMCQGA1UEChMdR1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPklu
+c2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRp
+b25zMRUwEwYDVQQLEwxJQUlLIFRlc3QgQ0ExFTATBgNVBAMTDElBSUsgVGVzdCBDQQIGAPMkfTU7
+MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0w
+MzExMTAyMzI0MThaMCMGCSqGSIb3DQEJBDEWBBRZWhvnjTfgd9OhQEMASsvnPoYXGjANBgkqhkiG
+9w0BAQEFAASBgJE6AFzaNlrAbWsvBsECu9pt1cGxvdjKY32fFg8I7qsIM8jx4d7nVWoHjZ+RP6cI
+itiC5UjfL98OOHAKLg7e3OzGhF0Um2xchhNUm0oO6xt2K9n8XTrx0yy1BMN81OGJeEFjlCpjQFim
+Tn5ghJyUeyh15td+noJUBX0rfk0uJ8BCMIIBXQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNV
+BAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3Ig
+QXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UE
+CxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAMBggqhkiG9w0C
+BQUAMA0GCSqGSIb3DQEBAQUABIGAwhN2yOQ3bMd0n2HevuFZcyB6WgLE9TwMGnTHlzUZ+t5VoVS9
+5R9Al3OKmp/1bwZ2OSBZy9H4TIGVAj+UHxXrLeodAw9xXet4FeIemZXf5PKsoLAfDHhWC1v6y3lh
+xzPR5atzoj8gg9J6H4UF+kq1ylUnYkT9Ys6wVnci7hlqZAE=</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.002.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.002.Res.xml
new file mode 100644
index 000000000..7131c4003
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.002.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.003.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.003.Req.xml
new file mode 100644
index 000000000..d182413af
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.003.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="all"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.003.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.003.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.003.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.004.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.004.Req.xml
new file mode 100644
index 000000000..2421bbd93
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.004.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.004.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.004.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.004.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.005.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.005.Req.xml
new file mode 100644
index 000000000..c065b6675
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.005.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.005.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.005.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.005.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.006.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.006.Req.xml
new file mode 100644
index 000000000..11fdc7db2
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.006.Req.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIGAAYJKoZIhvcNAQcCoIIF8TCCBe0CAQExCzAJBgUrDgMCGgUAMDsGCSqGSIb3DQEHAaAuBCxE
+aWVzIHNpbmQgVGVzdGRhdGVuDQoyLiBaZWlsZQ0KMy4gWmVpbGUNCmF1c6CCA9swggPXMIIDRKAD
+AgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5J
+VkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZv
+cm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0
+IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMxMjMwMjI1OTMw
+WjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZ
+MUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFu
+ZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR97jecQUhOhRn
+e66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb/WOFDhJdNbff
+LdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0TAQH/BAIwADAO
+BgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYMKwYBBAGVEgEC
+ewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBiZSB1c2VkIGZv
+ciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cuaWFp
+ay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzWj8NNmQlSzSWc
+3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQADgYEAJjzWjybN
+vxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj2dY9IT/g/6T0
+dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd2uf8CgoC85IB
+DdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5J
+VkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZv
+cm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0
+IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcN
+AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAjBgkqhkiG9w0B
+CQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc2jZawG1rLwbB
+ArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O3tzsxoRdFJts
+XIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6CVAV9K35NLifA
+Qg==</CMSSignature><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.006.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.006.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.006.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.007.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.007.Req.xml
new file mode 100644
index 000000000..64e193d45
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.007.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.007.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.007.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.007.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.008.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.008.Req.xml
new file mode 100644
index 000000000..c065b6675
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.008.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.008.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.008.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.008.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.009.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.009.Req.xml
new file mode 100644
index 000000000..21eff45c7
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.009.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.009.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.009.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.009.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.010.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.010.Req.xml
new file mode 100644
index 000000000..21eff45c7
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.010.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.010.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.010.Res.xml
new file mode 100644
index 000000000..d74966a52
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.010.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.012.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.012.Req.xml
new file mode 100644
index 000000000..8c5659020
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.012.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMCAGCSqGSIb3DQEHAaATBBFU
+aGlzIGlzIGEgbWVzc2FnZaCCA8UwggPBMIIDLqADAgECAhUA6fbXFMJ+J6++zepurwdEEeNeM08w
+CQYFKw4DAh0FADCBlTELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMB4XDTAyMTEx
+NTA5NDA1MFoXDTAzMTIzMTIyNTkzMFoweTELMAkGA1UEBhMCQVQxDTALBgNVBAgTBFdpZW4xDTAL
+BgNVBAcTBFdpZW4xFjAUBgNVBAkTDU11c3Rlcmdhc3NlIDExGzAZBgNVBAoTEk11c3Rlcm9yZ2Fu
+aXNhdGlvbjEXMBUGA1UEAxMOTWF4IE11c3Rlcm1hbm4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAPAPGChznc4VFa5lwZGS5lhgfFN4zu0ugf714Wmq2iRYeu4U2fj0k1Y11TY8w95d7M7p5jDP
+/bXj8QH9K8LHllGUsLsaKSpRfRTIr+vfrOr1Dmc4wV9KgbjyEQiPMBRadzgUh49hbuF1vT+db7UI
+pV2mawYcKEmg3tIKJW9jR7IBAgMBAAGjggEuMIIBKjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE
+AwIHgDBnBgNVHSAEYDBeMFwGDCsGAQQBlRIBAgMBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2Vy
+dGlmaWNhdGUgbWF5IGJlIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMgb25seTAvBgNV
+HREEKDAmgSRtYXgubXVzdGVybWFubkBtdXN0ZXJvcmdhbmlzYXRpb24uYXQwHQYDVR0OBBYEFOn2
+1xTCfievvs3qbq8HQyBcS8flMBsGByooAAoBAQEEEAwOTXVzdGVyYmVow7ZyZGUwEwYDVR0lBAww
+CgYIKwYBBQUHAwQwHwYDVR0jBBgwFoAU61Yc6emHer6/MfN1fyr+rOVA044wCQYFKw4DAh0FAAOB
+gQAtsLUhvKZvcNbAH6kR7Ou3zv6vfGL4kYXGS3S3DS06h756NJjwCFK5jcux4t080OdO2WD8aWTO
+KMIXEEc+BQqEaiQD3WoihX759m3f+nGNJXGX56UYMLH1ZytcHkvubmbFIyBgY5kfZRSUVlC+0pfF
+TgqtcJeRBVOyD2BFaLPCPjGCAbUwggGxAgEBMIGvMIGVMQswCQYDVQQGEwJBVDEmMCQGA1UEChMd
+R1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPkluc2l0dXRlIGZvciBBcHBs
+aWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zMRUwEwYDVQQDEwxJ
+QUlLIFRlc3QgQ0ECFQDp9tcUwn4nr77N6m6vB0QR414zTzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcN
+AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE5WjAjBgkqhkiG9w0B
+CQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAtA8DMWjHpGXuJbWEy
+hLHVFJZj6bFNFFHxJNikVv1uhvQuesaVZ26Go9MfyughNNfcS5hYF0vy8PN00YJouYCNaywH+tEJ
+mHf++257bG/tlZIFmngSD8zoj8UjX/lBEgNGVEA9iVfUMn1oPdaRzhGX2tiA6Hczk1kUsA13iOZM
+MA==</CMSSignature><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.012.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.012.Res.xml
new file mode 100644
index 000000000..ae3c7444c
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.012.Res.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Max Mustermann,O=Musterorganisation,STREET=Mustergasse 1,L=Wien,ST=Wien,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1335699569126441074835341742398412708010421793615</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIDwTCCAy6gAwIBAgIVAOn21xTCfievvs3qbq8HRBHjXjNPMAkGBSsOAwIdBQAw
+gZUxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAMTDElBSUsg
+VGVzdCBDQTAeFw0wMjExMTUwOTQwNTBaFw0wMzEyMzEyMjU5MzBaMHkxCzAJBgNV
+BAYTAkFUMQ0wCwYDVQQIEwRXaWVuMQ0wCwYDVQQHEwRXaWVuMRYwFAYDVQQJEw1N
+dXN0ZXJnYXNzZSAxMRswGQYDVQQKExJNdXN0ZXJvcmdhbmlzYXRpb24xFzAVBgNV
+BAMTDk1heCBNdXN0ZXJtYW5uMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw
+Dxgoc53OFRWuZcGRkuZYYHxTeM7tLoH+9eFpqtokWHruFNn49JNWNdU2PMPeXezO
+6eYwz/214/EB/SvCx5ZRlLC7GikqUX0UyK/r36zq9Q5nOMFfSoG48hEIjzAUWnc4
+FIePYW7hdb0/nW+1CKVdpmsGHChJoN7SCiVvY0eyAQIDAQABo4IBLjCCASowDAYD
+VR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwZwYDVR0gBGAwXjBcBgwrBgEEAZUS
+AQIDAQEwTDBKBggrBgEFBQcCAjA+GjxUaGlzIGNlcnRpZmljYXRlIG1heSBiZSB1
+c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzIG9ubHkwLwYDVR0RBCgwJoEk
+bWF4Lm11c3Rlcm1hbm5AbXVzdGVyb3JnYW5pc2F0aW9uLmF0MB0GA1UdDgQWBBTp
+9tcUwn4nr77N6m6vB0MgXEvH5TAbBgcqKAAKAQEBBBAMDk11c3RlcmJlaMO2cmRl
+MBMGA1UdJQQMMAoGCCsGAQUFBwMEMB8GA1UdIwQYMBaAFOtWHOnph3q+vzHzdX8q
+/qzlQNOOMAkGBSsOAwIdBQADgYEALbC1Ibymb3DWwB+pEezrt87+r3xi+JGFxkt0
+tw0tOoe+ejSY8AhSuY3LseLdPNDnTtlg/GlkzijCFxBHPgUKhGokA91qIoV++fZt
+3/pxjSVxl+elGDCx9WcrXB5L7m5mxSMgYGOZH2UUlFZQvtKXxU4KrXCXkQVTsg9g
+RWizwj4=</dsig:X509Certificate><PublicAuthority><Code>Musterbehörde</Code></PublicAuthority></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.051.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.051.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.051.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.051.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.051.Req.xml
new file mode 100644
index 000000000..37b58bf56
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.051.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="0"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.052.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.052.ErrRes.xml
new file mode 100644
index 000000000..50ee053e9
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.052.ErrRes.xml
@@ -0,0 +1 @@
+2249 \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.052.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.052.Req.xml
new file mode 100644
index 000000000..5c81cc9e6
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.052.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="10"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.054.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.054.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.054.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.054.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.054.Req.xml
new file mode 100644
index 000000000..841bbb215
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.054.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>this is no Base64 Data</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.055.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.055.ErrRes.xml
new file mode 100644
index 000000000..19261c267
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.055.ErrRes.xml
@@ -0,0 +1 @@
+2248 \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.055.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.055.Req.xml
new file mode 100644
index 000000000..2ab6692ad
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.055.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.056.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.056.ErrRes.xml
new file mode 100644
index 000000000..9fbf3f867
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.056.ErrRes.xml
@@ -0,0 +1 @@
+2203 \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.056.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.056.Req.xml
new file mode 100644
index 000000000..6a320648c
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.056.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>notvalidTrustProfileID</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.057.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.057.ErrRes.xml
new file mode 100644
index 000000000..19261c267
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.057.ErrRes.xml
@@ -0,0 +1 @@
+2248 \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.057.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.057.Req.xml
new file mode 100644
index 000000000..ab5792860
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.057.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMCAGCSqGSIb3DQEHAaATBBFU
+aGlzIGlzIGEgbWVzc2FnZaCCA8UwggPBMIIDLqADAgECAhUA6fbXFMJ+J6++zepurwdEEeNeM08w
+CQYFKw4DAh0FADCBlTELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMB4XDTAyMTEx
+NTA5NDA1MFoXDTAzMTIzMTIyNTkzMFoweTELMAkGA1UEBhMCQVQxDTALBgNVBAgTBFdpZW4xDTAL
+BgNVBAcTBFdpZW4xFjAUBgNVBAkTDU11c3Rlcmdhc3NlIDExGzAZBgNVBAoTEk11c3Rlcm9yZ2Fu
+aXNhdGlvbjEXMBUGA1UEAxMOTWF4IE11c3Rlcm1hbm4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAPAPGChznc4VFa5lwZGS5lhgfFN4zu0ugf714Wmq2iRYeu4U2fj0k1Y11TY8w95d7M7p5jDP
+/bXj8QH9K8LHllGUsLsaKSpRfRTIr+vfrOr1Dmc4wV9KgbjyEQiPMBRadzgUh49hbuF1vT+db7UI
+pV2mawYcKEmg3tIKJW9jR7IBAgMBAAGjggEuMIIBKjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE
+AwIHgDBnBgNVHSAEYDBeMFwGDCsGAQQBlRIBAgMBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2Vy
+dGlmaWNhdGUgbWF5IGJlIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMgb25seTAvBgNV
+HREEKDAmgSRtYXgubXVzdGVybWFubkBtdXN0ZXJvcmdhbmlzYXRpb24uYXQwHQYDVR0OBBYEFOn2
+1xTCfievvs3qbq8HQyBcS8flMBsGByooAAoBAQEEEAwOTXVzdGVyYmVow7ZyZGUwEwYDVR0lBAww
+CgYIKwYBBQUHAwQwHwYDVR0jBBgwFoAU61Yc6emHer6/MfN1fyr+rOVA044wCQYFKw4DAh0FAAOB
+gQAtsLUhvKZvcNbAH6kR7Ou3zv6vfGL4kYXGS3S3DS06h756NJjwCFK5jcux4t080OdO2WD8aWTO
+KMIXEEc+BQqEaiQD3WoihX759m3f+nGNJXGX56UYMLH1ZytcHkvubmbFIyBgY5kfZRSUVlC+0pfF
+TgqtcJeRBVOyD2BFaLPCPjGCAbUwggGxAgEBMIGvMIGVMQswCQYDVQQGEwJBVDEmMCQGA1UEChMd
+R1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPkluc2l0dXRlIGZvciBBcHBs
+aWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zMRUwEwYDVQQDEwxJ
+QUlLIFRlc3QgQ0ECFQDp9tcUwn4nr77N6m6vB0QR414zTzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcN
+AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE5WjAjBgkqhkiG9w0B
+CQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAtA8DMWjHpGXuJbWEy
+hLHVFJZj6bFNFFHxJNikVv1uhvQuesaVZ26Go9MfyughNNfcS5hYF0vy8PN00YJouYCNaywH+tEJ
+mHf++257bG/tlZIFmngSD8zoj8UjX/lBEgNGVEA9iVfUMn1oPdaRzhGX2tiA6Hczk1kUsA13iOZM
+MA==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.058.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.058.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.058.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.058.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.058.Req.xml
new file mode 100644
index 000000000..facb651dc
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.058.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw
+ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx
+MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU
+RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j
+ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR
+97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb
+/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T
+AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM
+KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi
+ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6
+Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW
+j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD
+gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj
+2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd
+2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT
+HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw
+bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM
+SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w
+GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj
+BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc
+2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O
+3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C
+VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=()</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VC0/TestGeneratorVC0.Config.xml b/spss.test/data/VC0/TestGeneratorVC0.Config.xml
new file mode 100644
index 000000000..7d245303b
--- /dev/null
+++ b/spss.test/data/VC0/TestGeneratorVC0.Config.xml
@@ -0,0 +1 @@
+<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#"> <KeyGroup id="PKCS12RSAKey1"> <Key id="resources/test-ee2003_normal(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12RSAKeyExpired"> <Key id="sicher-demo(buergerkarte).p12"/> </KeyGroup> <KeyGroup id="PKCS12ECDSAKey1"> <Key id="ecc.p12"/> </KeyGroup> <KeyGroup id="HSMRSAKey1"> <Key id="???"/> </KeyGroup> <KeyGroup id="HSMECDSAKey1"> <Key id="???"/> </KeyGroup> <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/> <SignatureAlgorithm name="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <CreateSignatureEnvironmentProfile id="CreateSignatureEnvironmentProfile1" filename="file:/e:/cio/projekte/basismodule/wartung/projekt/spss.test/resources/csep.xml"/> <TrustProfile id="validTrustProfileID1" uri="file:/e:/cio/projekte/basismodule/wartung/projekt/spss.test/TrustProfile1/"/></MOAConfiguration> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.001.Req.xml b/spss.test/data/VX0/TestGeneratorVX.001.Req.xml
new file mode 100644
index 000000000..cb67075b9
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.001.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 001-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:33+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.001.Res.xml b/spss.test/data/VX0/TestGeneratorVX.001.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.001.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.002.Req.xml b/spss.test/data/VX0/TestGeneratorVX.002.Req.xml
new file mode 100644
index 000000000..8750813e5
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.002.Req.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 002-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.002.Res.xml b/spss.test/data/VX0/TestGeneratorVX.002.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.002.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.003.Req.xml b/spss.test/data/VX0/TestGeneratorVX.003.Req.xml
new file mode 100644
index 000000000..5f022958b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.003.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 003-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-10T00:47:34+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.003.Res.xml b/spss.test/data/VX0/TestGeneratorVX.003.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.003.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.004.Req.xml b/spss.test/data/VX0/TestGeneratorVX.004.Req.xml
new file mode 100644
index 000000000..9a8e6bf41
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.004.Req.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 004-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:34+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.004.Res.xml b/spss.test/data/VX0/TestGeneratorVX.004.Res.xml
new file mode 100644
index 000000000..ff18dfcb4
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.004.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.005.Req.xml b/spss.test/data/VX0/TestGeneratorVX.005.Req.xml
new file mode 100644
index 000000000..9ff063eba
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.005.Req.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 005-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:34+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment Reference="http://localhost:8080/moa-spss-testdata/resources/SignatureVX005.xml" >
+ </VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.005.Res.xml b/spss.test/data/VX0/TestGeneratorVX.005.Res.xml
new file mode 100644
index 000000000..027d216ed
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.005.Res.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate>
+ </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <XMLDSIGManifestCheck>
+ <Code>1</Code>
+ <Info><FailedReference>1</FailedReference><ReferringSigReference>1</ReferringSigReference> </Info>
+ </XMLDSIGManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.006.Req.xml b/spss.test/data/VX0/TestGeneratorVX.006.Req.xml
new file mode 100644
index 000000000..4d2a6eb01
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.006.Req.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 006-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:34+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve">
+<daten:Document Id="myDocument" xmlns:daten="http://uri2.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://uri2.data.org http://MyServer.com/resources/something.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#myDocument"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>56czmK0W7eH9KbfAZcLEpHeVk8I=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>dDWGv+8umr+bj6lPgJJEEEIIAVgXHMlrmwfBJScVFkr/is/yHWPIX8x6wv0ZtV5G
+7RyqE+toDkrHDpvDnRVhW6dZqkWcL0TrMktON6ItyRcm0ZXZQoJ506BIoa7Im49S
+pNrzixvuQ2t2FvViRQwmmTIFQB7s6eaUxgLIKYuccKw=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>daten</daten:Document></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="http://MyServer.com/resources/something.xsd">
+ <XMLContent xml:space="preserve"><xsd:schema targetNamespace="http://uri2.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"><xsd:element name="Document"><xsd:complexType mixed="true"><xsd:sequence minOccurs="0" maxOccurs="unbounded"><xsd:any namespace="##any" processContents="lax"/></xsd:sequence><xsd:attribute name="Id" type="xsd:ID" use="required"/></xsd:complexType></xsd:element></xsd:schema></XMLContent>
+ </Content>
+ </SupplementProfile>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.006.Res.xml b/spss.test/data/VX0/TestGeneratorVX.006.Res.xml
new file mode 100644
index 000000000..d85292b1a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.006.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.007.Req.xml b/spss.test/data/VX0/TestGeneratorVX.007.Req.xml
new file mode 100644
index 000000000..68fe5282b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.007.Req.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?><VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xml="http://www.w3.org/XML/1998/namespace"><VerifySignatureInfo><VerifySignatureEnvironment><Base64Content>PCFET0NUWVBFIERvY3VtZW50IFNZU1RFTSAiaHR0cDovL2xvY2FsaG9zdDo4MDgw
+L21vYS1zcHNzLXRlc3RkYXRhL3Jlc291cmNlcy9WWC4wMDdEVEQuZHRkIj4NCjxE
+b2N1bWVudCBJZD0ibXlEb2N1bWVudCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3Lncz
+Lm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9u
+PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIGh0dHA6Ly93d3cu
+dzMub3JnL1RSL3htbGRzaWctY29yZS94bWxkc2lnLWNvcmUtc2NoZW1hLnhzZCI+
+PGRzaWc6U2lnbmF0dXJlIHhtbG5zOmRzaWc9Imh0dHA6Ly93d3cudzMub3JnLzIw
+MDAvMDkveG1sZHNpZyMiPjxkc2lnOlNpZ25lZEluZm8+PGRzaWc6Q2Fub25pY2Fs
+aXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIw
+MDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1Ii8+PGRzaWc6U2lnbmF0dXJlTWV0aG9k
+IEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3Jz
+YS1zaGExIi8+PGRzaWc6UmVmZXJlbmNlIFVSST0iI215RG9jdW1lbnQiPjxkc2ln
+OlRyYW5zZm9ybXM+PGRzaWc6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3
+dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiLz48
+L2RzaWc6VHJhbnNmb3Jtcz48ZHNpZzpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJo
+dHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkc2lnOkRp
+Z2VzdFZhbHVlPjgwcjJOUlFFYk5MMkJwamt0cmdFU2h4TW9EWT08L2RzaWc6RGln
+ZXN0VmFsdWU+PC9kc2lnOlJlZmVyZW5jZT48L2RzaWc6U2lnbmVkSW5mbz48ZHNp
+ZzpTaWduYXR1cmVWYWx1ZT5rYnhnNndObWg0S2dHaWNrZTMzUU5EeTNTeXNTTDZG
+ODh5K2ZPMFVLRlB0MGNOQmx5L2c2QjRac3lCR1lqNGZlDQpXbk10WHBOWTlDd0N5
+RVlTUkljMHhtcDVueHhUVVpxdHUreWpzWnQ0Vi9vUFdqNkNiMy9nQVhQRG1iVVRs
+QWFlDQp1cGdqQ1pIR3NPNzB1eTVlRWhZN1JSRFZ5K0VPTFFNeVpoQjVrNWhNbmVj
+PTwvZHNpZzpTaWduYXR1cmVWYWx1ZT48ZHNpZzpLZXlJbmZvPjxkc2lnOlg1MDlE
+YXRhPjxkc2lnOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEYnpDQ0F0eWdBd0lCQWdJR0FQ
+TWtBNFpzTUFrR0JTc09Bd0lkQlFBd2dhd3hDekFKQmdOVkJBWVRBa0ZVDQpNU1l3
+SkFZRFZRUUtFeDFIVWtGYUlGVk9TVlpGVWxOSlZGa2dUMFlnVkVWRFNFNVBURTlI
+V1RGSE1FVUdBMVVFDQpDeE0rU1c1emFYUjFkR1VnWm05eUlFRndjR3hwWldRZ1NX
+NW1iM0p0WVhScGIyNGdVSEp2WTJWemMybHVaeUJoDQpibVFnUTI5dGJYVnVhV05o
+ZEdsdmJuTXhGVEFUQmdOVkJBc1RERWxCU1VzZ1ZHVnpkQ0JEUVRFVk1CTUdBMVVF
+DQpBeE1NU1VGSlN5QlVaWE4wSUVOQk1CNFhEVEF6TURJd016RTBNRGMwTlZvWERU
+QXpNVEl6TURJeU5Ua3pNRm93DQpnYXd4Q3pBSkJnTlZCQVlUQWtGVU1TWXdKQVlE
+VlFRS0V4MUhVa0ZhSUZWT1NWWkZVbE5KVkZrZ1QwWWdWRVZEDQpTRTVQVEU5SFdU
+RkhNRVVHQTFVRUN4TStTVzV6YVhSMWRHVWdabTl5SUVGd2NHeHBaV1FnU1c1bWIz
+SnRZWFJwDQpiMjRnVUhKdlkyVnpjMmx1WnlCaGJtUWdRMjl0YlhWdWFXTmhkR2x2
+Ym5NeEZUQVRCZ05WQkFzVERFbEJTVXNnDQpWR1Z6ZENCRFFURVZNQk1HQTFVRUF4
+TU1TVUZKU3lCVVpYTjBJRU5CTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBDQpBNEdO
+QURDQmlRS0JnUUNVV0tsNnV5Ui9pc3R5MkRMVmRCengwNzRxT2ZKK09QOEo2UFZp
+OUdYNTI3dTBUVFdUDQorTExMOGJnWUN3UE9GUVNycHFTbWIyd09keFd3WVFmaGF0
+S3Z6dlV3NFViL0Jmd0VzdGZYcy94ZjZ6NElGMktPDQptbVJNREkxejhTRTE3MDFT
+RlRVb1lkOVpCOEtVdHlwNmRGZDRjSXVqTzg0RE1FKzZSQVp4dHNHV0x3SURBUUFC
+DQpvNEdoTUlHZU1CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRQXdEZ1lEVlIwUEFR
+SC9CQVFEQWdIR01EZ0dBMVVkDQpId1F4TUM4d0xhQXJvQ21HSjJoMGRIQTZMeTkz
+ZDNjdWFXRnBheTVoZEM5MFpYTjBMV05oTDNSbGMzUlFRMEV1DQpZM0pzYkRBZEJn
+TlZIUTRFRmdRVVRDQ3dWZ0lNOTRnS2xvaWxGTFJSekRxMThyOHdId1lEVlIwakJC
+Z3dGb0FVDQpUQ0N3VmdJTTk0Z0tsb2lsRkxSUnpEcTE4cjh3Q1FZRkt3NERBaDBG
+QUFPQmdRQ0N4NlZQam1VZGVxR2N0UVRoDQpTZzJkRVlkbGFsL1g1azUyM25RNTRT
+c29YMnNoSVFLLzh6Sk9HelFkTWplYnVwSUsrdFBpWjdTSnpzQWFNVWk0DQpIZ3Fx
+M2oxRksrS3hMaXF0dDM1dHdvZlZZT3UxNVpqMFhJdThFTXp2RTA1eW50bFBqdEdi
+cDlsbDhkd012YWJQDQoraldoQ1hBbjZ3MmMyeGRwaEw4bm9rU05MQT09PC9kc2ln
+Olg1MDlDZXJ0aWZpY2F0ZT48ZHNpZzpYNTA5Q2VydGlmaWNhdGU+TUlJRDF6Q0NB
+MFNnQXdJQkFnSUdBUE1rZlRVN01Ba0dCU3NPQXdJZEJRQXdnYXd4Q3pBSkJnTlZC
+QVlUQWtGVQ0KTVNZd0pBWURWUVFLRXgxSFVrRmFJRlZPU1ZaRlVsTkpWRmtnVDBZ
+Z1ZFVkRTRTVQVEU5SFdURkhNRVVHQTFVRQ0KQ3hNK1NXNXphWFIxZEdVZ1ptOXlJ
+RUZ3Y0d4cFpXUWdTVzVtYjNKdFlYUnBiMjRnVUhKdlkyVnpjMmx1WnlCaA0KYm1R
+Z1EyOXRiWFZ1YVdOaGRHbHZibk14RlRBVEJnTlZCQXNUREVsQlNVc2dWR1Z6ZENC
+RFFURVZNQk1HQTFVRQ0KQXhNTVNVRkpTeUJVWlhOMElFTkJNQjRYRFRBek1ESXdN
+ekUyTWpBMU5Wb1hEVEF6TVRJek1ESXlOVGt6TUZvdw0KZ1pneEN6QUpCZ05WQkFZ
+VEFrRlVNU1l3SkFZRFZRUUtFeDFIVWtGYUlGVk9TVlpGVWxOSlZGa2dUMFlnVkVW
+RA0KU0U1UFRFOUhXVEZITUVVR0ExVUVDeE0rU1c1emFYUjFkR1VnWm05eUlFRndj
+R3hwWldRZ1NXNW1iM0p0WVhScA0KYjI0Z1VISnZZMlZ6YzJsdVp5QmhibVFnUTI5
+dGJYVnVhV05oZEdsdmJuTXhHREFXQmdOVkJBTVVEMGx6YjJ4aw0KWlNCQy9ISm5a
+WEpwYmpDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQTUzbTBx
+bmc2Tzl6Vg0KSUF1SjIyUHM5MVgrcGRkaE1pQTlQMFF1c01leFErUUVrZmU0M25F
+RklUb1VaM3V1b0FRRmQrbjRNWE02RDY4dA0KWmN0R1U1TzRXNUFxL2JFakk0ZWZJ
+SFMwRVRoemdOQXltcW1UOVo5SUlFaHFtLzFqaFE0U1hUVzMzeTNYbjNseA0KMjZE
+aVRlQXBmdHVRQjM4OFlsVitScytyVHlGOWlSVUNBd0VBQWFPQ0FSd3dnZ0VZTUF3
+R0ExVWRFd0VCL3dRQw0KTUFBd0RnWURWUjBQQVFIL0JBUURBZ2JBTUJFR0NXQ0dT
+QUdHK0VJQkFRUUVBd0lGSURCbkJnTlZIU0FFWURCZQ0KTUZ3R0RDc0dBUVFCbFJJ
+QkFuc0JBVEJNTUVvR0NDc0dBUVVGQndJQ01ENGFQRlJvYVhNZ1kyVnlkR2xtYVdO
+aA0KZEdVZ2IyNXNlU0J0WVhrZ1ltVWdkWE5sWkNCbWIzSWdaR1Z0YjI1emRISmhk
+R2x2YmlCd2RYSndiM05sY3pBOA0KQmdOVkhSOEVOVEF6TURHZ0w2QXRoaXRvZEhS
+d09pOHZkM2QzTG1saGFXc3VZWFF2ZEdWemRFTkJMMmxoYVd0Zg0KZEdWemRGOXph
+V2N1WTNKc01CMEdBMVVkRGdRV0JCUW9PdW9JeFM4TTFvL0RUWmtKVXMwbG5ONUE3
+VEFmQmdOVg0KSFNNRUdEQVdnQlJNSUxCV0FnejNpQXFXaUtVVXRGSE1Pclh5dnpB
+SkJnVXJEZ01DSFFVQUE0R0JBQ1k4MW84bQ0KemI4WUN1VE1nZXBseVNtNW5Ba3hq
+c3YxVDVuL0h6ejFjTGZTREpaMEh5TlRWeC9HRHN6WStEeDI4TWRXKzZETA0Kbzlu
+V1BTRS80UCtrOUhYSmUvd0V5QXY0NE9yanZwekdHS2pxb2MzWDh2NHJ6TW82TUJS
+Tmx1dTBtM3kxcGt0VA0KVi9xNGFpV0QvbmJHWGRybi9Bb0tBdk9TQVEzUWU2WCtk
+VC8xPC9kc2lnOlg1MDlDZXJ0aWZpY2F0ZT48L2RzaWc6WDUwOURhdGE+PC9kc2ln
+OktleUluZm8+PC9kc2lnOlNpZ25hdHVyZT4NCmRhdGVuDQo8L0RvY3VtZW50Pg==</Base64Content></VerifySignatureEnvironment><VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation></VerifySignatureInfo> <SupplementProfile>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/VX.007DTD.dtd">
+ <Base64Content>PCFFTEVNRU5UIERvY3VtZW50ICgjUENEQVRBfEFOWSkqPg0KPCFBVFRMSVNUIERv
+Y3VtZW50IElkIElEICNSRVFVSVJFRD4NCg==</Base64Content>
+ </Content>
+ </SupplementProfile>
+<TrustProfileID>TrustProfile1</TrustProfileID></VerifyXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.007.Res.xml b/spss.test/data/VX0/TestGeneratorVX.007.Res.xml
new file mode 100644
index 000000000..ff18dfcb4
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.007.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.008.Req.xml b/spss.test/data/VX0/TestGeneratorVX.008.Req.xml
new file mode 100644
index 000000000..bb036ece9
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.008.Req.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><VerifySignatureInfo><VerifySignatureEnvironment><XMLContent xml:space="preserve"><dsig:Signature Id="HS_signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-data-1" URI="#signed-data"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="intersect" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id(&apos;signed-data&apos;)/node()</xf2:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>4lngV1x/OvR8iFWEBenH4fDihwA=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#refetsi"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="intersect" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id(&apos;refetsi&apos;)/etsi:QualifyingProperties/etsi:SignedProperties</xf2:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>1j0DWguieuw2cGA06gFjoSNXr+w=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Yb6fsPNbKyYW+u7cU1EqF9n5QrwLXHqdGD4tJNT5+sA7kQR3Ztqz965vlBH+1pJEnGxehxXsesZboVvkJa/jhuI0goCTW9KkdGOP71B7o7/vlyBbxaYKpnVNtBU4/qtTxba7M0E32X+tm/x9O6foXIM0AoP3oQBZmjo9rEJ9kfk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFUMUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNULVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVuYy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYTAkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUloxGDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgwJwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYBBQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIvb2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Etc2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYqKAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvY3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQgZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYwZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJlbWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREEGTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNLPjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DWKHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data"><sl10:InfoboxReadRequest xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#"><sl10:InfoboxIdentifier>IdentityLink</sl10:InfoboxIdentifier><sl10:BinaryFileParameters ContentIsXMLEntity="true"/></sl10:InfoboxReadRequest></dsig:Object><dsig:Object Id="refetsi"><etsi:QualifyingProperties Target="#HS_signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-04T12:32:54Z</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>Frhu1o4mL4gQHdJcU0xSA/h4COE=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>6455</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-data-1"><etsi:MimeType>text/xml</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment><VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation></VerifySignatureInfo><TrustProfileID>TrustProfile1</TrustProfileID></VerifyXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.008.Res.xml b/spss.test/data/VX0/TestGeneratorVX.008.Res.xml
new file mode 100644
index 000000000..2152cd3d5
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.008.Res.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" > <SignerInfo> <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> <dsig:X509SubjectName>serialNumber=790187461633,givenName=Testperson MOA4,SN=BRZ,CN=Testperson MOA4 BRZ,C=AT</dsig:X509SubjectName> <dsig:X509IssuerSerial> <dsig:X509IssuerName>CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName> <dsig:X509SerialNumber>6455</dsig:X509SerialNumber> </dsig:X509IssuerSerial><dsig:X509Certificate>MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFUMUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNULVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVuYy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYTAkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUloxGDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgwJwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYBBQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIvb2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Etc2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYqKAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvY3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQgZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYwZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJlbWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREEGTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNLPjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DWKHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==</dsig:X509Certificate> <sl11:QualifiedCertificate xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"/> </dsig:X509Data> </SignerInfo> <SignatureCheck> <Code>0</Code> </SignatureCheck> <CertificateCheck> <Code>0</Code> </CertificateCheck></VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.009.Req.xml b/spss.test/data/VX0/TestGeneratorVX.009.Req.xml
new file mode 100644
index 000000000..201326a8a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.009.Req.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 009-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:35+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve">
+<daten:Document Id="myDocument" xmlns:daten="http://uri2.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://uri2.data.org http://MyServer.com/resources/something.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id(myDocument))"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>EdJ7kVfAG4f52O5jXZr8UiBaschtqrau5pmpmLvUSXNyO44dapKJRhAUhh1dYWQA
+62GKHrRMzYFIWKFAgslB/YHWgFxCsEZzrYp1yT+y40qMnemDO/wMhEPS1tpnhpLW
+c6GZjZzC8cErefi2SZZxeB1FWdN90iqvGd8hSBLz1rg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>daten</daten:Document></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="http://MyServer.com/resources/something.xsd">
+ <XMLContent xml:space="preserve"><xsd:schema targetNamespace="http://uri2.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"><xsd:element name="Document"><xsd:complexType mixed="true"><xsd:sequence minOccurs="0" maxOccurs="unbounded"><xsd:any namespace="##any" processContents="lax"/></xsd:sequence><xsd:attribute name="Id" type="xsd:ID" use="required"/></xsd:complexType></xsd:element></xsd:schema></XMLContent>
+ </Content>
+ </SupplementProfile>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.009.Res.xml b/spss.test/data/VX0/TestGeneratorVX.009.Res.xml
new file mode 100644
index 000000000..d85292b1a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.009.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.052.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.052.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.052.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.052.Req.xml b/spss.test/data/VX0/TestGeneratorVX.052.Req.xml
new file mode 100644
index 000000000..b4e44d5d7
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.052.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 052-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:42+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:NoValidDSigSignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:NoValidDSigSignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.053.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.053.ErrRes.xml
new file mode 100644
index 000000000..483d07b5d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.053.ErrRes.xml
@@ -0,0 +1 @@
+2212 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.053.Req.xml b/spss.test/data/VX0/TestGeneratorVX.053.Req.xml
new file mode 100644
index 000000000..acbc588db
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.053.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 053-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:42+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//invalid XPath Expression</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.054.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.054.ErrRes.xml
new file mode 100644
index 000000000..483d07b5d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.054.ErrRes.xml
@@ -0,0 +1 @@
+2212 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.054.Req.xml b/spss.test/data/VX0/TestGeneratorVX.054.Req.xml
new file mode 100644
index 000000000..b400bd52a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.054.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 054-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:42+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:NoValidElement</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.055.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.055.ErrRes.xml
new file mode 100644
index 000000000..9fbf3f867
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.055.ErrRes.xml
@@ -0,0 +1 @@
+2203 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.055.Req.xml b/spss.test/data/VX0/TestGeneratorVX.055.Req.xml
new file mode 100644
index 000000000..e91aec7bf
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.055.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 055-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:42+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>InvalidProfile</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.101.Req.xml b/spss.test/data/VX0/TestGeneratorVX.101.Req.xml
new file mode 100644
index 000000000..48650c983
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.101.Req.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 101-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:35+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <MetaInfo>
+ <MimeType>text/plain</MimeType> <Description>http://www.buergerkarte.at</Description> </MetaInfo> <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>
+ </Content>
+ </SupplementProfile>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.101.Res.xml b/spss.test/data/VX0/TestGeneratorVX.101.Res.xml
new file mode 100644
index 000000000..d85292b1a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.101.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.102.Req.xml b/spss.test/data/VX0/TestGeneratorVX.102.Req.xml
new file mode 100644
index 000000000..2e4c793c7
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.102.Req.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 102-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:35+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <MetaInfo>
+ <MimeType>text/plain</MimeType> </MetaInfo> <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>
+ </Content>
+ </SupplementProfile>
+<ReturnHashInputData/> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.102.Res.xml b/spss.test/data/VX0/TestGeneratorVX.102.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.102.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.103.Req.xml b/spss.test/data/VX0/TestGeneratorVX.103.Req.xml
new file mode 100644
index 000000000..c8ae73f96
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.103.Req.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 103-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:35+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </Content>
+ </SupplementProfile>
+<ReturnHashInputData/> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.103.Res.xml b/spss.test/data/VX0/TestGeneratorVX.103.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.103.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.104.Req.xml b/spss.test/data/VX0/TestGeneratorVX.104.Req.xml
new file mode 100644
index 000000000..ff955286d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.104.Req.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 104 - Supplement/Content/XMLContent instead of Supplement/Content/Base64Content-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:35+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </Content>
+ </SupplementProfile>
+<ReturnHashInputData/> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.104.Res.xml b/spss.test/data/VX0/TestGeneratorVX.104.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.104.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.105.Req.xml b/spss.test/data/VX0/TestGeneratorVX.105.Req.xml
new file mode 100644
index 000000000..3092d3245
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.105.Req.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 105 - 2 Supplement elements-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:35+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Z9Rr4wyNUP2Pe0sBdLz447sJt8o=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>4iRKV9DwXTBtwfJUkkDaszoi7fMxASfl9z1znCRQcogBIv3jtu0azgS9IQUAg0yu
+3P0E0KP/jEGqlZ83gptd5WbIXuht4Tv8d4YW6h9V7zQCjfjDKicRH8HQdHWRzUHL
+qea2hmjvQhVCeAiFWggK3J6d2TpDINhKMc/27j0sBCY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </Content>
+ </SupplementProfile>
+ <SupplementProfile>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testXML.txt">
+ <Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K
+CVRlc3QNCjwvSHVnbz4=</Base64Content>
+ </Content>
+ </SupplementProfile>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.105.Res.xml b/spss.test/data/VX0/TestGeneratorVX.105.Res.xml
new file mode 100644
index 000000000..f963026dd
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.105.Res.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<HashInputData><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content></HashInputData><HashInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K
+CVRlc3QNCjwvSHVnbz4=</Base64Content></HashInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.106.Req.xml b/spss.test/data/VX0/TestGeneratorVX.106.Req.xml
new file mode 100644
index 000000000..f565e79a5
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.106.Req.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 106 - 2 SupplementProfileID elements-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:36+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+<SupplementProfileID>SupplementProfile2</SupplementProfileID><!-- Supplement Profile 2 enthaelt nicht die referenzierte URI --><SupplementProfileID>SupplementProfile1</SupplementProfileID><ReturnHashInputData/> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.106.Res.xml b/spss.test/data/VX0/TestGeneratorVX.106.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.106.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.151.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.151.ErrRes.xml
new file mode 100644
index 000000000..509145e76
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.151.ErrRes.xml
@@ -0,0 +1 @@
+2264 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.151.Req.xml b/spss.test/data/VX0/TestGeneratorVX.151.Req.xml
new file mode 100644
index 000000000..426adc20e
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.151.Req.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 151 an URI referenced in dsig:Signature does not resolve and no SupplementProfile is available-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:42+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://no.uritoresolve.com"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.153.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.153.ErrRes.xml
new file mode 100644
index 000000000..c57606715
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.153.ErrRes.xml
@@ -0,0 +1 @@
+2267 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.153.Req.xml b/spss.test/data/VX0/TestGeneratorVX.153.Req.xml
new file mode 100644
index 000000000..5ae6efe51
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.153.Req.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 153 - invalid SupplementProfileID-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:43+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+<SupplementProfileID>NO VALID SUPPLEMENT PROFILE ID</SupplementProfileID> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.154.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.154.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.154.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.154.Req.xml b/spss.test/data/VX0/TestGeneratorVX.154.Req.xml
new file mode 100644
index 000000000..80cfd11ee
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.154.Req.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 154-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:43+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <MetaInfo>
+ <MimeType>text/plain</MimeType> <Description>http://www.buergerkarte.at</Description> </MetaInfo> <Content Reference="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt">
+ <Base64Content>AAAAAAAAAAAAAAAAAARGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>
+ </Content>
+ </SupplementProfile>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.201.Req.xml b/spss.test/data/VX0/TestGeneratorVX.201.Req.xml
new file mode 100644
index 000000000..c442ae3ea
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.201.Req.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 201 a simple request w/ SignatureManifestCheckParams (but w/o Supplement)-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:29+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL
+gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu
+ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.201.Res.xml b/spss.test/data/VX0/TestGeneratorVX.201.Res.xml
new file mode 100644
index 000000000..0afa9f231
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.201.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.202.Req.xml b/spss.test/data/VX0/TestGeneratorVX.202.Req.xml
new file mode 100644
index 000000000..5c3fbdf98
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.202.Req.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 202 no SignatureManifestCheckParams/@ReturnReferenceInputData-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:30+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL
+gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu
+ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.202.Res.xml b/spss.test/data/VX0/TestGeneratorVX.202.Res.xml
new file mode 100644
index 000000000..0afa9f231
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.202.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.203.Req.xml b/spss.test/data/VX0/TestGeneratorVX.203.Req.xml
new file mode 100644
index 000000000..746dd3951
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.203.Req.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 203 SignatureManifestCheckParams/@ReturnReferenceInputData = false-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:31+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL
+gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu
+ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="false"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.203.Res.xml b/spss.test/data/VX0/TestGeneratorVX.203.Res.xml
new file mode 100644
index 000000000..e9b9fbd86
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.203.Res.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.205.Req.xml b/spss.test/data/VX0/TestGeneratorVX.205.Req.xml
new file mode 100644
index 000000000..e984d398f
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.205.Req.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 206 - 2 dsig:Transform elements ==> Canonisierung + Stylesheet-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:34+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>OytjSgIBrgFgwKJu/v0ACwO2x/PuO/gxjWrcI6hzNH6xvA5plofwYE0r9fJkaH64
+gdcVHzIlo168kg0Dnywk30qkCzKk1hsAfBtf/py8vlPR/QWsHux1xB4xiLzhxuF8
+goZ+KKcvz8Uhucy71qbcmFdCWmI55515ezbpERCq7bc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.205.Res.xml b/spss.test/data/VX0/TestGeneratorVX.205.Res.xml
new file mode 100644
index 000000000..0afa9f231
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.205.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.206.Req.xml b/spss.test/data/VX0/TestGeneratorVX.206.Req.xml
new file mode 100644
index 000000000..b342499a6
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.206.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 206 TransformParameter/Hash statt TransformParameter/Base64Content (Der Hash wird von CX1_book.xsl gebildet)-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:35+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL
+gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu
+ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Hash><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></Hash></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.206.Res.xml b/spss.test/data/VX0/TestGeneratorVX.206.Res.xml
new file mode 100644
index 000000000..0afa9f231
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.206.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.208.Req.xml b/spss.test/data/VX0/TestGeneratorVX.208.Req.xml
new file mode 100644
index 000000000..f1cf1407f
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.208.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 208 - weder Base64Content noch Hash wird verwendet -->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:36+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL
+gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu
+ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.208.Res.xml b/spss.test/data/VX0/TestGeneratorVX.208.Res.xml
new file mode 100644
index 000000000..0afa9f231
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.208.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.209.Req.xml b/spss.test/data/VX0/TestGeneratorVX.209.Req.xml
new file mode 100644
index 000000000..0313487de
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.209.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 209 0 TransformParameter ==> ganzes Element raus und direkt auf CX1_book.xsl verweisen (in der Transformations-Referenz)-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:36+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>qeKBMCrzXCqI4a5M0Fwsng/tBIslBtIJMefvH+soUHe2PKh6UDCrPixmIuXx2GbB
+DEomSF2AzeCLm9Z4tapxx0f0eJq1mJw8udzL+qANx4dgmOFwwGZ4L+TRC56VpHIR
+reUrL8YKhn7vE9aU0K3XW/xp2JMG0+CHPrWES5RDdis=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output indent="no" method="html"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.209.Res.xml b/spss.test/data/VX0/TestGeneratorVX.209.Res.xml
new file mode 100644
index 000000000..019319a92
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.209.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>2</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.210.Req.xml b/spss.test/data/VX0/TestGeneratorVX.210.Req.xml
new file mode 100644
index 000000000..b58453e8d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.210.Req.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 210 2 includes-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"/>
+ <xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"/>
+</xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>kK81Gw6OGWZ0V9WRv1yw1Cfr3jo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>A+nlyca9189rpvNfOVcAXs054rY=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>VYsDD4B3b9ch5AQ4RSiq+Jtt2WozSZhIFb5FmLZnD8za9DdJPb7zmPfy7Z3BcB4a
+RL/mYpSaKCJB/L9yTpGSvoEV0tCveJ1RZn+8AKmcWs9ofka8y8kXb3LP6QtCqxA/
+1x5P66Wcwd7WNMgxR0Jq3ppKPiCJPagVt+/SEhVR0cU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IG9sarUVRiU1sOIxyZRQPDw4OW8=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>keikH7Iv/jkJlGdGVk4jEaoWDzI=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"/>
+ <xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"/>
+</xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+PEhUTUw+PEJPRFk+
+PGgxPlVlYmVyc2NocmlmdDwvaDE+PHhzbDphcHBseS10ZW1wbGF0ZXMvPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SDE+QnVjaDogPHhzbDp2YWx1
+ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwveHNsOnRlbXBsYXRlPjwv
+eHNsOnN0eWxlc2hlZXQ+</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.210.Res.xml b/spss.test/data/VX0/TestGeneratorVX.210.Res.xml
new file mode 100644
index 000000000..a175eca8a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.210.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IG9sarUVRiU1sOIxyZRQPDw4OW8=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>keikH7Iv/jkJlGdGVk4jEaoWDzI=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.211.Req.xml b/spss.test/data/VX0/TestGeneratorVX.211.Req.xml
new file mode 100644
index 000000000..ad8871a22
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.211.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 211 2 VerifyTransformsInfoID ==> Statt TransformsInfoProfile , in ein IntoProfileID auf Datei mit orig.Daten des TransInfoProfile verweisen, das andere auf ein Transforms, das nur Canonisiserung enthaelt-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL
+gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu
+ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfileID>TransformsInfoProfile1</VerifyTransformsInfoProfileID><VerifyTransformsInfoProfileID>TransformsInfoProfile2</VerifyTransformsInfoProfileID></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.211.Res.xml b/spss.test/data/VX0/TestGeneratorVX.211.Res.xml
new file mode 100644
index 000000000..0afa9f231
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.211.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.212.Req.xml b/spss.test/data/VX0/TestGeneratorVX.212.Req.xml
new file mode 100644
index 000000000..396b6b944
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.212.Req.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 212 2 ReferenceInfo (for 2 dsig:Reference (pplus Manifest + SignedProperties) : etsi:DataObjectFormat 2mal, Reference 2mal, Manifest 1mal, ReferenceInfo 2mal)-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-2" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3oEcsv39iZNxiHenc45eX5CYENI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>H8yxgwiP3heWrNkvx7cSXrs0jEM1P1doihddEhG7nJVzpTEEVq2aYVUpnezarD8W
+YaKrFY+VyyxQezR7IupgpnoKMBwf5GO0bM4BFhp3T8Ykq8uw93z1MeYXLzbI1IEe
+iTRIvw7KH9cQPmg9dgCAp3+SEpSluCNRSjB3a1HNT0U=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo>
+<ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.212.Res.xml b/spss.test/data/VX0/TestGeneratorVX.212.Res.xml
new file mode 100644
index 000000000..ed6b91884
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.212.Res.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>0</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.213.Req.xml b/spss.test/data/VX0/TestGeneratorVX.213.Req.xml
new file mode 100644
index 000000000..dce1a9a17
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.213.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 213 kein TransformParameter element obwohl in Transforms URIs referenziert werden-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE
+Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn
+8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.213.Res.xml b/spss.test/data/VX0/TestGeneratorVX.213.Res.xml
new file mode 100644
index 000000000..d2402e5ec
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.213.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Object Id="ETSIProperties" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>1</Code>
+<Info><FailedReference>1</FailedReference></Info> </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.214.Req.xml b/spss.test/data/VX0/TestGeneratorVX.214.Req.xml
new file mode 100644
index 000000000..f3e9332f8
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.214.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 214 1 VerifyTransformsInfoID ==> Passt aber nicht zur Transformation (XSLT <==> Canonisiserung)-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:40+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE
+Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn
+8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfileID>TransformsInfoProfile2</VerifyTransformsInfoProfileID></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.214.Res.xml b/spss.test/data/VX0/TestGeneratorVX.214.Res.xml
new file mode 100644
index 000000000..d2402e5ec
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.214.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Object Id="ETSIProperties" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>1</Code>
+<Info><FailedReference>1</FailedReference></Info> </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.215.Req.xml b/spss.test/data/VX0/TestGeneratorVX.215.Req.xml
new file mode 100644
index 000000000..6b8d4d6da
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.215.Req.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 215 number of ReferenceInfo is different from number of dsig:Reference in the signature-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:40+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties')/*/*)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nOGGxTHiJjB/JhDGXqOUqwYgpmauvIWE8ewOPWaB62IP0CVoEdVDeu6zz0axJ2wj
+6s37syqpnuYyYIQI90M8JNskws+0tEFMk97fR8oXV+/mJSfxmbCM2UohlMbyCrVU
+xGPmM6hbn11+E1jZNMxeLorB/eOHBlhxaYw/SC/r1+s=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo>
+<ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.215.Res.xml b/spss.test/data/VX0/TestGeneratorVX.215.Res.xml
new file mode 100644
index 000000000..4e78f37db
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.215.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>1</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.216.Req.xml b/spss.test/data/VX0/TestGeneratorVX.216.Req.xml
new file mode 100644
index 000000000..2ecd7441e
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.216.Req.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 216 number of References id bigger then number of ReferenceInfos-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:41+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-2" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties')/*/*)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3oEcsv39iZNxiHenc45eX5CYENI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>atNVyFxVaOfBZ5SDWFBlnYwJfht7CIbc0JuJkcQ4dhJO2sVCuvpGk7atbB3QPR5j
+A9R0babjaHrMekSxKPTndy1eUPNXk79qJ7BWJn6k5Psndn7GMy/3+yiobGN3+AZ4
+twdHFhMfYo87epB6EW/ssqN6JK/LlJAe2wGoBAjbLOE=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.216.Res.xml b/spss.test/data/VX0/TestGeneratorVX.216.Res.xml
new file mode 100644
index 000000000..9204f0f80
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.216.Res.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>1</Code>
+ </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.217.Req.xml b/spss.test/data/VX0/TestGeneratorVX.217.Req.xml
new file mode 100644
index 000000000..9e8a6e38c
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.217.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 217 - TransformParameter/@URI resolves but Hash does not match - which hashing algorithm?-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:41+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE
+Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn
+8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Hash><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>abcdvOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></Hash></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.217.Res.xml b/spss.test/data/VX0/TestGeneratorVX.217.Res.xml
new file mode 100644
index 000000000..d2402e5ec
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.217.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r
+IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9
+InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl
+bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0
+LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L
+dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx
+LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu
+dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51
+bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh
+OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Object Id="ETSIProperties" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></XMLContent></ReferenceInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <SignatureManifestCheck>
+ <Code>1</Code>
+<Info><FailedReference>1</FailedReference></Info> </SignatureManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.251.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.251.ErrRes.xml
new file mode 100644
index 000000000..4b92a8c24
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.251.ErrRes.xml
@@ -0,0 +1 @@
+2268 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.251.Req.xml b/spss.test/data/VX0/TestGeneratorVX.251.Req.xml
new file mode 100644
index 000000000..fa9328a75
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.251.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 251 - VerifyTransformsInfoID: invalidID-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:43+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE
+Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn
+8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfileID>InvalidTransformsProfile</VerifyTransformsInfoProfileID></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.253.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.253.ErrRes.xml
new file mode 100644
index 000000000..8e20b01e7
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.253.ErrRes.xml
@@ -0,0 +1 @@
+2202 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.253.Req.xml b/spss.test/data/VX0/TestGeneratorVX.253.Req.xml
new file mode 100644
index 000000000..3c3676495
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.253.Req.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 253 mismatching dsig:Transform/@Algorithm and dsig:Transform content-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:44+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE
+Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn
+8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+
+<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl
+c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu
+c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp
+bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu
+czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj
+aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E
+WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.301.Req.xml b/spss.test/data/VX0/TestGeneratorVX.301.Req.xml
new file mode 100644
index 000000000..3f7377943
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.301.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 301-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:36+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nfi816Qlw4EnxE+bwLQLXh3VN/L1EnMZfUQBfJu4qd0G3Rjhjm9JQ4kYSAJhj8Kz
+YwzXhPT9u9I4ystFWHwomqKNxCvXv2Rrc4hknEB4hljgWEH3iS63zVGc0jw2xkzs
+rusMghJ8XcFAdA9UpV4Q8clJ6CukcwNvT1/UqSNL0V0=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.301.Res.xml b/spss.test/data/VX0/TestGeneratorVX.301.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.301.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.302.Req.xml b/spss.test/data/VX0/TestGeneratorVX.302.Req.xml
new file mode 100644
index 000000000..b65bd3af8
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.302.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 302-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:36+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Ht8IuwiSSusf6l9tWKUrZjK+GBiIToDKtQzplkpxKO4GSbp68T23v75Cx22j4t/l
+ZPHLfqCq18q07k6ttn/HWJ1pfOD2aKulYkEc3ZGEMULrZDnnSGaGWg0PZ8WHVanv
+NxiS14BaPOheH/YId9iscaJCUpGcwcqwULeYtVg1n04=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.302.Res.xml b/spss.test/data/VX0/TestGeneratorVX.302.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.302.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.303.Req.xml b/spss.test/data/VX0/TestGeneratorVX.303.Req.xml
new file mode 100644
index 000000000..b9b19a3e1
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.303.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 303-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:36+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>vK330KVBSt/9CVMycwiOPefSLRE7gF+VpNvEJzQ9ck3tlerONixlyARlIhOi99KG
+GcdTaLxnut3yfJVzLn2Q6EYzRo65k/gLZk0Im/ok66zoQDygcc/NT9wjIccSSKUJ
+19qdnMdwjGENmjocA8+6AztVXgsPyXpEzjFFoK+iFOM=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.303.Res.xml b/spss.test/data/VX0/TestGeneratorVX.303.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.303.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.304.Req.xml b/spss.test/data/VX0/TestGeneratorVX.304.Req.xml
new file mode 100644
index 000000000..49b49c9e2
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.304.Req.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 304-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:36+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KZKXkaGNqsksALCWzXl8uMObNXHJIeiyL1P0VEspJDqhGMd/5Qi4REhoZ/YTmych</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIICGDCCAdCgAwIBAgIDAQpMMAkGByqGSM49BAEwTTELMAkGA1UEBhMCQVQxDTAL
+BgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0eTEYMBYGA1UEAxMPSUFJ
+SyBFQ0RTQSBUZXN0MB4XDTAzMDIxMDA5NDgwN1oXDTA0MDIxMDA5NDgwN1owTTEL
+MAkGA1UEBhMCQVQxDTALBgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0
+eTEYMBYGA1UEAxMPSUFJSyBFQ0RTQSBUZXN0MIHrMIG0BgcqhkjOPQIBMIGoAgEB
+MB0GByqGSM49AQIwEgICAL8GCSqGSM49AQIDAgIBCTA0BBgoZlN7Z2dSY2po9WVU
+4SZAJ2tknvdSYmcEGC5F71cfAHhvZ7AIG5SVo9lUYvXeCqGF7AQxBDaz2viiMgb5
+xPKZ17IanDaRN/LISuGqDXZb5zQzs/leMyky5w6iRcokGOoO+YAY+wIYQAAAAAAA
+AAAAAAAABKIOkMOQZ8iTu7mlAgECAzIABFh+sRJVup8mJdsDqlk2w1Cer2qkFxJU
+7VeLKaB6z8+W/jN6fPrc2u8MYJCZlL7T0aMNMAswCQYDVR0TBAIwADAJBgcqhkjO
+PQQBAzcAMDQCGBjRkQdnZmCv4mLwj72JBSFW1b0DIYvXXAIYILVW1F8IHAldw56h
+C3FJH2VuOdON4tia</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.304.Res.xml b/spss.test/data/VX0/TestGeneratorVX.304.Res.xml
new file mode 100644
index 000000000..eef51e82d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.304.Res.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+<dsig:X509SubjectName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509SubjectName> <dsig:X509IssuerSerial>
+<dsig:X509IssuerName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>68172</dsig:X509SerialNumber> </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIICGDCCAdCgAwIBAgIDAQpMMAkGByqGSM49BAEwTTELMAkGA1UEBhMCQVQxDTAL
+BgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0eTEYMBYGA1UEAxMPSUFJ
+SyBFQ0RTQSBUZXN0MB4XDTAzMDIxMDA5NDgwN1oXDTA0MDIxMDA5NDgwN1owTTEL
+MAkGA1UEBhMCQVQxDTALBgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0
+eTEYMBYGA1UEAxMPSUFJSyBFQ0RTQSBUZXN0MIHrMIG0BgcqhkjOPQIBMIGoAgEB
+MB0GByqGSM49AQIwEgICAL8GCSqGSM49AQIDAgIBCTA0BBgoZlN7Z2dSY2po9WVU
+4SZAJ2tknvdSYmcEGC5F71cfAHhvZ7AIG5SVo9lUYvXeCqGF7AQxBDaz2viiMgb5
+xPKZ17IanDaRN/LISuGqDXZb5zQzs/leMyky5w6iRcokGOoO+YAY+wIYQAAAAAAA
+AAAAAAAABKIOkMOQZ8iTu7mlAgECAzIABFh+sRJVup8mJdsDqlk2w1Cer2qkFxJU
+7VeLKaB6z8+W/jN6fPrc2u8MYJCZlL7T0aMNMAswCQYDVR0TBAIwADAJBgcqhkjO
+PQQBAzcAMDQCGBjRkQdnZmCv4mLwj72JBSFW1b0DIYvXXAIYILVW1F8IHAldw56h
+C3FJH2VuOdON4tia</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.305.Req.xml b/spss.test/data/VX0/TestGeneratorVX.305.Req.xml
new file mode 100644
index 000000000..ab42e6963
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.305.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 305-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:36+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>DiDUmnYefQ8E8Bom8F2aHyhj5kek2+SyC5kF7LaHAZeEiEtybjoYMlzsVCLa/TnK
+n1ev2jTej9Ngnq1nadGBsRVK+2DJVSowPihCp6A0lmpWYhec/NX1uW2fBLLvE+57
+WimvfRdaNCXfsd5YcuiurnZf9LyTsnUpL1FaHBYsPIM=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.305.Res.xml b/spss.test/data/VX0/TestGeneratorVX.305.Res.xml
new file mode 100644
index 000000000..13fa022d1
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.305.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.307.Req.xml b/spss.test/data/VX0/TestGeneratorVX.307.Req.xml
new file mode 100644
index 000000000..fb3a89328
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.307.Req.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 307-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="e:/cio/projekte/basismodule/wartung/projekt/spss.test/resources/testSimple.txt">
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </Content>
+ </SupplementProfile>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.307.Res.xml b/spss.test/data/VX0/TestGeneratorVX.307.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.307.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.308.Req.xml b/spss.test/data/VX0/TestGeneratorVX.308.Req.xml
new file mode 100644
index 000000000..a78a9e877
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.308.Req.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 308-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <XMLContent xml:space="preserve">VERAENDERTE DATEN und die Ursprungsdaten: Dies sind Testdaten</XMLContent>
+ </Content>
+ </SupplementProfile>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.308.Res.xml b/spss.test/data/VX0/TestGeneratorVX.308.Res.xml
new file mode 100644
index 000000000..0e2923716
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.308.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>1</Code><Info><FailedReference>1</FailedReference></Info>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.310.Req.xml b/spss.test/data/VX0/TestGeneratorVX.310.Req.xml
new file mode 100644
index 000000000..fd387fe64
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.310.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 310-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txtbase64.enc"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>yZw6dc9F2qEtFHkfhmPv03/hsvOoQCiV6Oo4jLt0Z15K0mCkZwMmIm4Khbl1tS3y
+z0tp3VtOO1EhBCAuJiKBDB9cqCR/KCPwF7SccsxszL02TSMp7o8FPgS0Wfxf7E7c
+hW73FYoSDQv+mdpmiEX3RzK6isXdBsr/0hucLNmmx4Y=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.310.Res.xml b/spss.test/data/VX0/TestGeneratorVX.310.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.310.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.311.Req.xml b/spss.test/data/VX0/TestGeneratorVX.311.Req.xml
new file mode 100644
index 000000000..fdccc3d25
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.311.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 311-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><dsig:XPath xmlns:data="http://uri.data.org">ancestor-or-self::text()/ancestor-or-self::data:first-name</dsig:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>hYDjF19Ot0YaX6w1nuhs1MVZ1VU=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Fd5tZfxUd+cGwSXqyZGlzV0XkL2/HnazGNb60hB6Usy3VLT6khzDeNJJ3ogDTLio
+nMsR3m32CIotYircyGcxCw8G7vC9wYmi0OtzZGf8Vsj1rygDogpQDIoqyPwLLnGw
+DRUWev0L3DzSZ54WPvaJNGzwGSxZGIOiM9FWGKS6MZs=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.311.Res.xml b/spss.test/data/VX0/TestGeneratorVX.311.Res.xml
new file mode 100644
index 000000000..2a69686e8
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.311.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RWxsaXBzZQ==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.312.Req.xml b/spss.test/data/VX0/TestGeneratorVX.312.Req.xml
new file mode 100644
index 000000000..73d10dc63
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.312.Req.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 312-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="subtract" xmlns:data="http://uri.data.org" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">/data:book/data:first-name</xf2:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Sx4DuAkpeSaD7yHkYaRmxiRN174=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>tEFJUmD3VH+sHSeMpkeb8Ktmus0d8p0RkrMITLNW16yIzAWP7OTP26cQR4OBEWGi
+O64f3nGMK5B1u3TkKLBm1AjUEm+c1qeF11kwJlhjMUF6ZuBb1OUbYFQeWXihjLaA
+JoJ+z00aV17TPzuMBlK0AySa6OJNZ8KmvdgGV4CUd2U=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.312.Res.xml b/spss.test/data/VX0/TestGeneratorVX.312.Res.xml
new file mode 100644
index 000000000..d85292b1a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.312.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.313.Req.xml b/spss.test/data/VX0/TestGeneratorVX.313.Req.xml
new file mode 100644
index 000000000..976c6bf24
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.313.Req.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 313-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><data:Document Id="myDocument" xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://uri.data.org http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX.006Schema.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI=""><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>52I8Zb2jLEgSZrR91P6IDAjXzks=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>2SnLG0gsjJAjLLm0mBKu6h4f6IfvPo513pjaUC+NK8Diw/5KGHxdKRiDRxR1x6X8
+Hwq2/BFfKpWeYmRe7lnG3BfEweJZ22LnEBcKdm4HFZ+17V0xlGkJeK7bTZxiBhiW
+6sSPKv2YefqOEKGcr+bHvuxacMGPH5+5sNrwEAySacA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></data:Document></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.313.Res.xml b/spss.test/data/VX0/TestGeneratorVX.313.Res.xml
new file mode 100644
index 000000000..51953ce11
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.313.Res.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>PGRhdGE6RG9jdW1lbnQgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyIg
+eG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0
+YW5jZSIgSWQ9Im15RG9jdW1lbnQiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDov
+L3VyaS5kYXRhLm9yZyBodHRwOi8vbW9hLXRlc3QuYnJ6LmludHJhLmd2LmF0L1Rl
+c3REYXRlbkdlbmVyYXRvci9yZXNvdXJjZXMvVlguMDA2U2NoZW1hLnhzZCBodHRw
+Oi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIGh0dHA6Ly93d3cudzMub3Jn
+L1RSL3htbGRzaWctY29yZS94bWxkc2lnLWNvcmUtc2NoZW1hLnhzZCI+PC9kYXRh
+OkRvY3VtZW50Pg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.314.Req.xml b/spss.test/data/VX0/TestGeneratorVX.314.Req.xml
new file mode 100644
index 000000000..56be10205
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.314.Req.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 314-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:37+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>0tXNPITF3dxGNngFwjsfXXEpgsOoco4NQCrVNE1bl8HkYbwKK3o9mc6dZktRL7Xd
+1Epa3C2qiBVD8WRVTQpdre9xU+CIno0Xrkxu2oMOSEX5fMfAyR31m99oZ1JbEwlh
+S+bOA8c4An7uuaEpo9hj/Hi5wxXYx1a9NG6cpTdWXM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.314.Res.xml b/spss.test/data/VX0/TestGeneratorVX.314.Res.xml
new file mode 100644
index 000000000..d85292b1a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.314.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.314_2.Req.xml b/spss.test/data/VX0/TestGeneratorVX.314_2.Req.xml
new file mode 100644
index 000000000..dd4e2e67a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.314_2.Req.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 314_2-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>0tXNPITF3dxGNngFwjsfXXEpgsOoco4NQCrVNE1bl8HkYbwKK3o9mc6dZktRL7Xd
+1Epa3C2qiBVD8WRVTQpdre9xU+CIno0Xrkxu2oMOSEX5fMfAyR31m99oZ1JbEwlh
+S+bOA8c4An7uuaEpo9hj/Hi5wxXYx1a9NG6cpTdWXM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl">
+ <XMLContent xml:space="preserve"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></XMLContent>
+ </Content>
+ </SupplementProfile>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.314_2.Res.xml b/spss.test/data/VX0/TestGeneratorVX.314_2.Res.xml
new file mode 100644
index 000000000..d85292b1a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.314_2.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.315.Req.xml b/spss.test/data/VX0/TestGeneratorVX.315.Req.xml
new file mode 100644
index 000000000..849406b10
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.315.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 315-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XML"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>noDYepFSHUtrjZJLcYTpfLv9pDU=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Tmqp2rugsYcPeXVvDCGbgLuALFRrtvKlRbfIWaIZmEDPND+iYCmA3iTYeXTyoKOq
+xRabRM+c44ZFpiNe5AWSwItRND0WEDDJLKLj0e3qWI5UNRBJOdtn+tbvH+LqOVc3
+v1DcPGJTJrWzNS82C9rO8wBNWMjP3Oq9VFuVDXbYfcY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.315.Res.xml b/spss.test/data/VX0/TestGeneratorVX.315.Res.xml
new file mode 100644
index 000000000..567b77447
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.315.Res.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+<Base64Content>PG4xOkVsZW0xIHhtbG5zOm4wPSJmb286YmFyIiB4bWxuczpuMT0iaHR0cDovL2V4
+YW1wbGUubmV0IiB4bWxuczpuMz0iZnRwOi8vZXhhbXBsZS5vcmciIGE9IlRlc3Rh
+IiBiPSJUZXN0YiIgeG1sOmxhbmc9ImVuIj4KCVRlc3QKICAgIDxuMzpFbGVtMj48
+L24zOkVsZW0yPgo8L24xOkVsZW0xPg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.316.Req.xml b/spss.test/data/VX0/TestGeneratorVX.316.Req.xml
new file mode 100644
index 000000000..8e937e2a9
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.316.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 316-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XML"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>QA/O0pwheK8W+EYsGfWPq+0tcmc=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>g1H+4i7HStmjk/YM8gwDHGGjg24ymXNYarElrnTVrjxOcqmgb2seyeqSCmhGdMmp
+mUUwa9UgE/y51zv9ySMXX3Z5NXTtQ5982pYNK3IG8vcy4/ogGG+ipmkFWv1WTDoz
+yKtWReS6DuG5KuIFSaYGmuJvwQw2KWlqR/Ukfw79+XE=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.316.Res.xml b/spss.test/data/VX0/TestGeneratorVX.316.Res.xml
new file mode 100644
index 000000000..ee4a7218f
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.316.Res.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+<Base64Content>PCEtLTFzdCBDb21tZW50LS0+CjxuMTpFbGVtMSB4bWxuczpuMD0iZm9vOmJhciIg
+eG1sbnM6bjE9Imh0dHA6Ly9leGFtcGxlLm5ldCIgeG1sbnM6bjM9ImZ0cDovL2V4
+YW1wbGUub3JnIiBhPSJUZXN0YSIgYj0iVGVzdGIiIHhtbDpsYW5nPSJlbiI+CglU
+ZXN0PCEtLTJuZCBDb21tZW50LS0+CiAgICA8bjM6RWxlbTI+PC9uMzpFbGVtMj4K
+PC9uMTpFbGVtMT4=</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.317.Req.xml b/spss.test/data/VX0/TestGeneratorVX.317.Req.xml
new file mode 100644
index 000000000..4c57e28ad
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.317.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 317-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XML"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>kzG6AYYX+4vA/hV5wGdEXmIoaY8=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>fKk2FLYQqDmEjimybPEZYZAUfrnLDTVN3dfwZrNMfv656pNoM5CHfSUWaCIytDz1
+CIQrJgkndJIZyzCbS6zCYL6M5ggoMJYi885+8wxnjwsxuHGtBzZ5HOP+lR7bphs+
+aOWzTMNFrX88yMTOmyZgnYghukbuyqNDnz69H0uVqHo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.317.Res.xml b/spss.test/data/VX0/TestGeneratorVX.317.Res.xml
new file mode 100644
index 000000000..39a59b15d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.317.Res.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+<Base64Content>PG4xOkVsZW0xIHhtbG5zOm4xPSJodHRwOi8vZXhhbXBsZS5uZXQiIGE9IlRlc3Rh
+IiBiPSJUZXN0YiIgeG1sOmxhbmc9ImVuIj4KCVRlc3QKICAgIDxuMzpFbGVtMiB4
+bWxuczpuMz0iZnRwOi8vZXhhbXBsZS5vcmciPjwvbjM6RWxlbTI+CjwvbjE6RWxl
+bTE+</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.318.Req.xml b/spss.test/data/VX0/TestGeneratorVX.318.Req.xml
new file mode 100644
index 000000000..9fafde5d1
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.318.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 318-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XML"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>9g4s3jILoN3mdH3/6AgvA1qDUAw=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Q5F+MEJ6AGIwJEHcfXdPnjY8+eAerMeLCtc+XOvmLoCyav1iOZ/+FApe492ysh6X
+UP+47L9PGsixUgDYNBeHDgyBHJqtA4wdBpafwucMVXWoIWcmMLDDVAde1aqG6zrF
+k5cwAgl+my6y7kVXUNhrzEiG6FjRn+lIIXiXwJL2Jm0=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.318.Res.xml b/spss.test/data/VX0/TestGeneratorVX.318.Res.xml
new file mode 100644
index 000000000..6b45e6cec
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.318.Res.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+<Base64Content>PCEtLTFzdCBDb21tZW50LS0+CjxuMTpFbGVtMSB4bWxuczpuMT0iaHR0cDovL2V4
+YW1wbGUubmV0IiBhPSJUZXN0YSIgYj0iVGVzdGIiIHhtbDpsYW5nPSJlbiI+CglU
+ZXN0PCEtLTJuZCBDb21tZW50LS0+CiAgICA8bjM6RWxlbTIgeG1sbnM6bjM9ImZ0
+cDovL2V4YW1wbGUub3JnIj48L24zOkVsZW0yPgo8L24xOkVsZW0xPg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.318_2.Req.xml b/spss.test/data/VX0/TestGeneratorVX.318_2.Req.xml
new file mode 100644
index 000000000..717eaecc3
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.318_2.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 318_2-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XMLbase64.enc"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>kzG6AYYX+4vA/hV5wGdEXmIoaY8=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>qePkwtq8XOEES14aGffykQFoZZrGMIMDRiFio/wvGKIaBj+wZTPvmz2wTNRPpmMw
+x0pY89tUvM1t6kbSrKT4otJE8gSm8bADcNEOSrVJZc/0w31msUWHl/r5la4cg6yC
+maEmtUMEd6Db/YlUJb/7RLX1TBx7VDZmJtpNOhMkVkY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.318_2.Res.xml b/spss.test/data/VX0/TestGeneratorVX.318_2.Res.xml
new file mode 100644
index 000000000..39a59b15d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.318_2.Res.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+<Base64Content>PG4xOkVsZW0xIHhtbG5zOm4xPSJodHRwOi8vZXhhbXBsZS5uZXQiIGE9IlRlc3Rh
+IiBiPSJUZXN0YiIgeG1sOmxhbmc9ImVuIj4KCVRlc3QKICAgIDxuMzpFbGVtMiB4
+bWxuczpuMz0iZnRwOi8vZXhhbXBsZS5vcmciPjwvbjM6RWxlbTI+CjwvbjE6RWxl
+bTE+</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.319.Req.xml b/spss.test/data/VX0/TestGeneratorVX.319.Req.xml
new file mode 100644
index 000000000..2232f661d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.319.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 319-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>CbVbswvEV7LFR6OfM4sx9WULZVpXznGEbWpHW5ZfvefqPIvYKV6N9bkeL6OpP9es
+yypfuimz3CaYsrNE80Tw27awj9ll1ZhJZBkoh0sAmVC7UitesIY7gFQIurl3CFFC
+nhPLT95a6aC8njsIR06RX16Htv37MVVxh4U8rNbucJg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.319.Res.xml b/spss.test/data/VX0/TestGeneratorVX.319.Res.xml
new file mode 100644
index 000000000..eac5419c6
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.319.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content></HashInputData><HashInputData><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.320.Req.xml b/spss.test/data/VX0/TestGeneratorVX.320.Req.xml
new file mode 100644
index 000000000..0dbdc8cf9
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.320.Req.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 320-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:38+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#X509Data" URI="http://localhost:8080/moa-spss-testdata/resources/X509Data.xml"/></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.320.Res.xml b/spss.test/data/VX0/TestGeneratorVX.320.Res.xml
new file mode 100644
index 000000000..0b5e9b4ee
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.320.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate>
+ </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.320_2.Req.xml b/spss.test/data/VX0/TestGeneratorVX.320_2.Req.xml
new file mode 100644
index 000000000..b597d736e
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.320_2.Req.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 320_2-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#X509Data" URI="http://localhost:8080/moa-spss-testdata/resources/TEMPX509Data.xml"/></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/TEMPX509Data.xml">
+ <XMLContent xml:space="preserve">
+<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Stephan Grill (Anecon) -->
+<dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate>
+ <dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate>
+</dsig:X509Data>
+</XMLContent>
+ </Content>
+ </SupplementProfile>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.320_2.Res.xml b/spss.test/data/VX0/TestGeneratorVX.320_2.Res.xml
new file mode 100644
index 000000000..0b5e9b4ee
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.320_2.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate>
+ </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.321.Req.xml b/spss.test/data/VX0/TestGeneratorVX.321.Req.xml
new file mode 100644
index 000000000..6c99f8819
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.321.Req.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 321-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#rawX509Certificate" URI="http://localhost:8080/moa-spss-testdata/resources/test-ee2003_normal.der"/></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.321.Res.xml b/spss.test/data/VX0/TestGeneratorVX.321.Res.xml
new file mode 100644
index 000000000..0b5e9b4ee
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.321.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate>
+ </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.322.Req.xml b/spss.test/data/VX0/TestGeneratorVX.322.Req.xml
new file mode 100644
index 000000000..74fa6f506
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.322.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 322-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>xtKRiVK6LS6Zy4AKnpTCBG+g88k=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>dw/kXd3Racja+0Rgtie1x0N2kFlZ/IougAs/nIrkFb+GRfjV1oo3ZZeRUunfkZXX
+3ZnszKpnzfLOTcczPrIxsFQ95QrUSa17BA+ff1yYBa4kurwak8aq9jd3jDcKf3EF
+KNFOALW0Ltw3/DdPi0cblkIX/TCCKH8XtVkqrSwqyZc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.322.Res.xml b/spss.test/data/VX0/TestGeneratorVX.322.Res.xml
new file mode 100644
index 000000000..6200f4451
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.322.Res.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw
+MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0Ij48ZHNpZzpSZWZlcmVu
+Y2UgVVJJPSJodHRwOi8vbG9jYWxob3N0OjgwODAvbW9hLXNwc3MtdGVzdGRhdGEv
+cmVzb3VyY2VzL3Rlc3RTaW1wbGUudHh0Ij48ZHNpZzpEaWdlc3RNZXRob2QgQWxn
+b3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSI+
+PC9kc2lnOkRpZ2VzdE1ldGhvZD48ZHNpZzpEaWdlc3RWYWx1ZT5PM1BPdGdaWHJH
+bXcrMmJ0WXJkdVN2cHRTZG89PC9kc2lnOkRpZ2VzdFZhbHVlPjwvZHNpZzpSZWZl
+cmVuY2U+PC9kc2lnOk1hbmlmZXN0Pg==</Base64Content></HashInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <XMLDSIGManifestCheck>
+ <Code>0</Code>
+ <Info> <ReferringSigReference>1</ReferringSigReference> </Info>
+ </XMLDSIGManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.323.Req.xml b/spss.test/data/VX0/TestGeneratorVX.323.Req.xml
new file mode 100644
index 000000000..4eabd302c
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.323.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 323-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>xtKRiVK6LS6Zy4AKnpTCBG+g88k=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject2'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>hiDVMvq5dg1IgHyzdLTFxVVa2uc=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>IkQtRTGQhkqg4oPYYe2aLQyELfSFBEhmvtqJ7H8utU9J4RL7x6TTRhP5zQj1Tr/O
+iyUlVskXAkKGLOeOCrUQwvfrF9DkT3Lb7nGUmsD52LJszw9bNVcRYLygiOr42Km4
+nRQZIvxIJiXfHKo4JY6SvLlDFntGDjblsgNZW8BRDcE=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object><dsig:Manifest Id="manifestObject2"><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Z9Rr4wyNUP2Pe0sBdLz447sJt8o=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.323.Res.xml b/spss.test/data/VX0/TestGeneratorVX.323.Res.xml
new file mode 100644
index 000000000..d38f762b9
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.323.Res.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw
+MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0Ij48ZHNpZzpSZWZlcmVu
+Y2UgVVJJPSJodHRwOi8vbG9jYWxob3N0OjgwODAvbW9hLXNwc3MtdGVzdGRhdGEv
+cmVzb3VyY2VzL3Rlc3RTaW1wbGUudHh0Ij48ZHNpZzpEaWdlc3RNZXRob2QgQWxn
+b3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSI+
+PC9kc2lnOkRpZ2VzdE1ldGhvZD48ZHNpZzpEaWdlc3RWYWx1ZT5PM1BPdGdaWHJH
+bXcrMmJ0WXJkdVN2cHRTZG89PC9kc2lnOkRpZ2VzdFZhbHVlPjwvZHNpZzpSZWZl
+cmVuY2U+PC9kc2lnOk1hbmlmZXN0Pg==</Base64Content></HashInputData><HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw
+MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0MiI+PGRzaWc6UmVmZXJl
+bmNlIFVSST0iaHR0cDovL2xvY2FsaG9zdDo4MDgwL21vYS1zcHNzLXRlc3RkYXRh
+L3Jlc291cmNlcy90ZXN0WE1MLnR4dCI+PGRzaWc6RGlnZXN0TWV0aG9kIEFsZ29y
+aXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3NoYTEiPjwv
+ZHNpZzpEaWdlc3RNZXRob2Q+PGRzaWc6RGlnZXN0VmFsdWU+WjlScjR3eU5VUDJQ
+ZTBzQmRMejQ0N3NKdDhvPTwvZHNpZzpEaWdlc3RWYWx1ZT48L2RzaWc6UmVmZXJl
+bmNlPjwvZHNpZzpNYW5pZmVzdD4=</Base64Content></HashInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <XMLDSIGManifestCheck>
+ <Code>0</Code>
+ <Info> <ReferringSigReference>1</ReferringSigReference> </Info>
+ </XMLDSIGManifestCheck>
+ <XMLDSIGManifestCheck>
+ <Code>0</Code>
+ <Info> <ReferringSigReference>2</ReferringSigReference> </Info>
+ </XMLDSIGManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.324.Req.xml b/spss.test/data/VX0/TestGeneratorVX.324.Req.xml
new file mode 100644
index 000000000..ee02136b7
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.324.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 324-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>6D2Nt8ZJb1XEXUEpZ8M3jUMAYqg=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>IOXCDvHayZAF6TR1ZzhR+sFoO4uUvYY2Xo7iUjlJs4MAUd6aoMZvyHxqacTh2KM3
+XN6UuyM0fq8leITg+gscQoS73FXhO5qMG/Mp+T92COBW6f8bZ85jSAYGVF1cPmdQ
+5UMuU8RPtxH5CxXoSFyQkzACbGTDnSc9JfoKV5BQXZ4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Z9Rr4wyNUP2Pe0sBdLz447sJt8o=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.324.Res.xml b/spss.test/data/VX0/TestGeneratorVX.324.Res.xml
new file mode 100644
index 000000000..db57bca47
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.324.Res.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw
+MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0Ij48ZHNpZzpSZWZlcmVu
+Y2UgVVJJPSJodHRwOi8vbG9jYWxob3N0OjgwODAvbW9hLXNwc3MtdGVzdGRhdGEv
+cmVzb3VyY2VzL3Rlc3RTaW1wbGUudHh0Ij48ZHNpZzpEaWdlc3RNZXRob2QgQWxn
+b3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSI+
+PC9kc2lnOkRpZ2VzdE1ldGhvZD48ZHNpZzpEaWdlc3RWYWx1ZT5PM1BPdGdaWHJH
+bXcrMmJ0WXJkdVN2cHRTZG89PC9kc2lnOkRpZ2VzdFZhbHVlPjwvZHNpZzpSZWZl
+cmVuY2U+PGRzaWc6UmVmZXJlbmNlIFVSST0iaHR0cDovL2xvY2FsaG9zdDo4MDgw
+L21vYS1zcHNzLXRlc3RkYXRhL3Jlc291cmNlcy90ZXN0WE1MLnR4dCI+PGRzaWc6
+RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8w
+OS94bWxkc2lnI3NoYTEiPjwvZHNpZzpEaWdlc3RNZXRob2Q+PGRzaWc6RGlnZXN0
+VmFsdWU+WjlScjR3eU5VUDJQZTBzQmRMejQ0N3NKdDhvPTwvZHNpZzpEaWdlc3RW
+YWx1ZT48L2RzaWc6UmVmZXJlbmNlPjwvZHNpZzpNYW5pZmVzdD4=</Base64Content></HashInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <XMLDSIGManifestCheck>
+ <Code>0</Code>
+ <Info> <ReferringSigReference>1</ReferringSigReference> </Info>
+ </XMLDSIGManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.325.Req.xml b/spss.test/data/VX0/TestGeneratorVX.325.Req.xml
new file mode 100644
index 000000000..5da199f78
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.325.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 325-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W3OgtGHJLYYnhOXqmZIW05FU5oo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW
+dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p
+B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="envelopedData">Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.325.Res.xml b/spss.test/data/VX0/TestGeneratorVX.325.Res.xml
new file mode 100644
index 000000000..195ef28ab
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.325.Res.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+<HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw
+MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0Ij48ZHNpZzpSZWZlcmVu
+Y2UgVVJJPSIjeHBvaW50ZXIoaWQoJ2VudmVsb3BlZERhdGEnKS9ub2RlKCkpIiB4
+bWxuczpkc2lnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48
+ZHNpZzpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8y
+MDAwLzA5L3htbGRzaWcjc2hhMSIgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5v
+cmcvMjAwMC8wOS94bWxkc2lnIyIvPjxkc2lnOkRpZ2VzdFZhbHVlPjJqbWo3bDVy
+U3cweVZiL3ZsV0FZa0svWUJ3az08L2RzaWc6RGlnZXN0VmFsdWU+PC9kc2lnOlJl
+ZmVyZW5jZT48L2RzaWc6TWFuaWZlc3Q+</Base64Content></HashInputData> <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <XMLDSIGManifestCheck>
+ <Code>1</Code>
+ <Info><FailedReference>1</FailedReference><ReferringSigReference>1</ReferringSigReference> </Info>
+ </XMLDSIGManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.326.Req.xml b/spss.test/data/VX0/TestGeneratorVX.326.Req.xml
new file mode 100644
index 000000000..6c11b9767
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.326.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 326-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W3OgtGHJLYYnhOXqmZIW05FU5oo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW
+dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p
+B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="envelopedData">Dies sind veraenderte Daten und die Ursprungsdaten:
+Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.326.Res.xml b/spss.test/data/VX0/TestGeneratorVX.326.Res.xml
new file mode 100644
index 000000000..d7c1e4c10
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.326.Res.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <XMLDSIGManifestCheck>
+ <Code>1</Code>
+ <Info><FailedReference>1</FailedReference><ReferringSigReference>1</ReferringSigReference> </Info>
+ </XMLDSIGManifestCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.327.Req.xml b/spss.test/data/VX0/TestGeneratorVX.327.Req.xml
new file mode 100644
index 000000000..28dedbf5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.327.Req.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 327-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:39+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#rawX509Certificate" URI="#xpointer(id('rawCertAsBase64')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms></dsig:RetrievalMethod></dsig:KeyInfo><dsig:Object Id="rawCertAsBase64">MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.327.Res.xml b/spss.test/data/VX0/TestGeneratorVX.327.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.327.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.351.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.351.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.351.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.351.Req.xml b/spss.test/data/VX0/TestGeneratorVX.351.Req.xml
new file mode 100644
index 000000000..701bed38a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.351.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 351-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:44+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/unknownCanonicalzationMethod"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.352.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.352.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.352.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.352.Req.xml b/spss.test/data/VX0/TestGeneratorVX.352.Req.xml
new file mode 100644
index 000000000..f8ec8611d
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.352.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 352-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:44+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/TR/2001/unknownSignatureMethod"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.354.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.354.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.354.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.354.Req.xml b/spss.test/data/VX0/TestGeneratorVX.354.Req.xml
new file mode 100644
index 000000000..6877decf0
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.354.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 354-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:44+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/TR/2001/unknownDigestMethod"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.356.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.356.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.356.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.356.Req.xml b/spss.test/data/VX0/TestGeneratorVX.356.Req.xml
new file mode 100644
index 000000000..c404d3a31
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.356.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 356-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:44+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txtbase64.enc"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/unknownTransformsMethod"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>rt+ij8pPm7w1QBsi7ZKfCLZSCXfWiSAIZ2OVKvIf5i6BDhQ5g+4Vdjl20+t8vBaU
+vdnIeaZqffOi5+ECdPTtpxO6zcUIZcsb6fR6UBHylopSJR+iA057ppd1lExRIbTM
+yyOqhrgnQHf2JHzQkKHH46nL72Y3A3j2joohCfFQsXo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.357.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.357.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.357.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.357.Req.xml b/spss.test/data/VX0/TestGeneratorVX.357.Req.xml
new file mode 100644
index 000000000..639733007
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.357.Req.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 357 nicht zu Reference/Transforms/Transform/@Algorithm passender Inha-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:45+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature Id="signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>hadYFe2IqIFBJT2n3gH0ODmd3nrkGXNfxHs9rNTo9PL0scyxI2jwDfNxKCrVpnM/
+mHLQOXWKDSK9xQvoGOlCAMGZekDQNlMFvgOOclNjpx2Ka49WVTXWQQTLq83L7mbt
+6y+lgV4hQZeVPKQXgrX5mGPQyJGCTugklW0A7PSwkEc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.359.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.359.ErrRes.xml
new file mode 100644
index 000000000..93d1b43bd
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.359.ErrRes.xml
@@ -0,0 +1 @@
+2243 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.359.Req.xml b/spss.test/data/VX0/TestGeneratorVX.359.Req.xml
new file mode 100644
index 000000000..8d1c7428a
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.359.Req.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 359-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:45+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT
+u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg
+7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.360.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.360.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.360.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.360.Req.xml b/spss.test/data/VX0/TestGeneratorVX.360.Req.xml
new file mode 100644
index 000000000..7ef55d252
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.360.Req.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 360-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:45+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT
+u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg
+7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509SubjectName>Some kind of Subject</dsig:X509SubjectName></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.360_2.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.360_2.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.360_2.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.360_2.Req.xml b/spss.test/data/VX0/TestGeneratorVX.360_2.Req.xml
new file mode 100644
index 000000000..8456be252
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.360_2.Req.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 360_2-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:45+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT
+u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg
+7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo><dsig:KeyName>Some kind of string as KeyName</dsig:KeyName></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.362.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.362.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.362.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.362.Req.xml b/spss.test/data/VX0/TestGeneratorVX.362.Req.xml
new file mode 100644
index 000000000..6f7525203
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.362.Req.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 362-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:45+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT
+u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg
+7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo> <dsig:X509Data>
+ <dsig:X509Certificate>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</dsig:X509Certificate>
+ </dsig:X509Data>
+</dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.363.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.363.ErrRes.xml
new file mode 100644
index 000000000..5b2b55035
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.363.ErrRes.xml
@@ -0,0 +1 @@
+1100 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.363.Req.xml b/spss.test/data/VX0/TestGeneratorVX.363.Req.xml
new file mode 100644
index 000000000..6d09ed714
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.363.Req.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 363-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:45+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT
+u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg
+7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo> <dsig:X509Data>
+ <dsig:X509Certificate>( no BASE64 data )</dsig:X509Certificate>
+ </dsig:X509Data>
+</dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.364.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.364.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.364.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.364.Req.xml b/spss.test/data/VX0/TestGeneratorVX.364.Req.xml
new file mode 100644
index 000000000..e0c594eae
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.364.Req.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 364-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:45+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT
+u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg
+7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/noValidRetrievalMethodType" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/X509Data.xml"/></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.365.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.365.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.365.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.365.Req.xml b/spss.test/data/VX0/TestGeneratorVX.365.Req.xml
new file mode 100644
index 000000000..5fa59d97e
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.365.Req.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 365-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:45+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT
+u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg
+7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#X509Data" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/test-ee2003_normal.der"/></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.366.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.366.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.366.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.366.Req.xml b/spss.test/data/VX0/TestGeneratorVX.366.Req.xml
new file mode 100644
index 000000000..36d7a75b0
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.366.Req.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 366-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:46+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#rawX509Certificate" URI="#xpointer(id('rawCertAsBase64')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://Invalid.URI.com"/></dsig:Transforms></dsig:RetrievalMethod></dsig:KeyInfo><dsig:Object Id="rawCertAsBase64">MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.367.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.367.ErrRes.xml
new file mode 100644
index 000000000..f5f4d9a5b
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.367.ErrRes.xml
@@ -0,0 +1 @@
+2240 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.367.Req.xml b/spss.test/data/VX0/TestGeneratorVX.367.Req.xml
new file mode 100644
index 000000000..1ee5f74ff
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.367.Req.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 367-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:46+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K
+b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5
+3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#X509Data" URI="#xpointer(id('rawCertAsBase64')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms></dsig:RetrievalMethod></dsig:KeyInfo><dsig:Object Id="rawCertAsBase64">MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.369.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.369.ErrRes.xml
new file mode 100644
index 000000000..a8964c48c
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.369.ErrRes.xml
@@ -0,0 +1 @@
+2262 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.369.Req.xml b/spss.test/data/VX0/TestGeneratorVX.369.Req.xml
new file mode 100644
index 000000000..af2870826
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.369.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 369-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:46+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('NoValidManifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>cdHj8fffTXYR2DJPRAh8E3DV7EY=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>CJJ08NzpzOqOkdgYTvh4sem1cEm+yjSjcTiRi2vtwKecczzAI/RPASDCjeyxxqiq
+27/K1nkNXGe+FEfaO4wb8uTBT+HVAMsrnlpeSjzgpBh+xVm3aOPP14WFmNGbi9H1
+WdCaLNbwdBrCPBi3bpAGqH6wpAhh+/I1cZHrBZrP/QI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/VX0/TestGeneratorVX.370.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.370.ErrRes.xml
new file mode 100644
index 000000000..a8964c48c
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.370.ErrRes.xml
@@ -0,0 +1 @@
+2262 \ No newline at end of file
diff --git a/spss.test/data/VX0/TestGeneratorVX.370.Req.xml b/spss.test/data/VX0/TestGeneratorVX.370.Req.xml
new file mode 100644
index 000000000..4794a8481
--- /dev/null
+++ b/spss.test/data/VX0/TestGeneratorVX.370.Req.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 370-->
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-06-30T14:02:46+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>cdHj8fffTXYR2DJPRAh8E3DV7EY=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>CJJ08NzpzOqOkdgYTvh4sem1cEm+yjSjcTiRi2vtwKecczzAI/RPASDCjeyxxqiq
+27/K1nkNXGe+FEfaO4wb8uTBT+HVAMsrnlpeSjzgpBh+xVm3aOPP14WFmNGbi9H1
+WdCaLNbwdBrCPBi3bpAGqH6wpAhh+/I1cZHrBZrP/QI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="noValidDigestAlg"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.001.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.001.Req.xml
new file mode 100644
index 000000000..0075b4e69
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.001.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Erstellung einer Signatur
+ - Detached Signature
+ - Content per LocRef (URL-Mapping)
+-->
+
+<CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="testDaten.txt">
+ <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/documents/testDaten.txt</LocRefContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.001.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.001.Res.xml
new file mode 100644
index 000000000..42243a174
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.001.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>oqqpIw2v+DyzBB2Btc9RE38O/p5Wp/y4m/j4TSwNl4FbZkAY2DbWk9Uac5TiwdCh
+h8ss8fQGIQSFiTdh2VY5zFe77rMOR/kQfuIiTvt+8uzxCo/a1iPpvr0joppih6kd
+OLgv2ZzD/DZeB2uF3BdNpkd1AEUSi4OnnLaQ+rW7hog=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.002.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.002.Req.xml
new file mode 100644
index 000000000..b98cf5a9a
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.002.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Erstellung einer Signatur
+ - Enveloping Signature
+ - Content per LocRef
+-->
+
+<CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
+ <DataObject>
+ <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/documents/testSimple.txt</LocRefContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.002.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.002.Res.xml
new file mode 100644
index 000000000..f2373768c
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.002.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>BZcl/8GN5YI1fRFkTmv3YVstrVtFS5XquQoylfkXya4KsNRrhW8Sd0go+JxfbbaQ
+FP671mer7rlj42zYxgAB1rfr0zogy9gkSf69GftRdHH1z5w79lGgzQga5PbY7d24
+AKt/oETiJcGFH0C3XVWxOIZdK9z4jMrMvkAoEVJ06G4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">RGllcyBzaW5kIFRlc3RkYXRlbg==</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.003.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.003.Req.xml
new file mode 100644
index 000000000..f3d566d96
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.003.Req.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Erstellung einer Signatur
+ - Signaturumgebung per LocRef
+-->
+
+<CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/documents/testSimple.txt">
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType></FinalDataMetaInfo>
+ </CreateTransformsInfo></CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ <CreateSignatureInfo xmlns:data="http://uri.data.org">
+ <CreateSignatureEnvironment>
+ <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/testDocument.xml</LocRefContent>
+ </CreateSignatureEnvironment>
+ <CreateSignatureEnvironmentProfile>
+ <CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation>
+ </CreateSignatureEnvironmentProfile>
+ </CreateSignatureInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.003.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.003.Res.xml
new file mode 100644
index 000000000..58662eabd
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.003.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/documents/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ENTKWRJqIf5z5OfmsQ1Txj/EhH0jiJBtb7eFghQTLKz4xHmzxieAtMS26K2nH+PH
+zSPBYiEWHj6ewQ8R0IXL7thHWEiAKahMTwZ4URKgwjn7uSVxbqR/YIaC/BFjMiUd
+1umPkeSB1hHnfZZpQLZd7sRpth0653R7g/Qmmor3r2k=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.004.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.004.Req.xml
new file mode 100644
index 000000000..19a67ddd6
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.004.Req.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Erstellung einer Signatur
+ - Supplement zur CreateSignatureEnvironment per LocRef
+-->
+
+<CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="#document"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ </dsig:Transforms>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ <CreateSignatureInfo xmlns:data="http://uri.data.org">
+ <CreateSignatureEnvironment>
+ <XMLContent xml:space="preserve">
+ <data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attr="document" xsi:schemaLocation="http://uri.data.org http://anywhere.org/testDocument.schema.xsd">Dies sind Testdaten</data:Document>
+ </XMLContent>
+ </CreateSignatureEnvironment>
+ <CreateSignatureEnvironmentProfile>
+ <CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation>
+ <Supplement>
+ <Content Reference="http://anywhere.org/testDocument.schema.xsd">
+ <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/schemas/testDocument.schema.xsd</LocRefContent>
+ </Content>
+ </Supplement>
+ </CreateSignatureEnvironmentProfile>
+ </CreateSignatureInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest>
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.004.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.004.Res.xml
new file mode 100644
index 000000000..555338faf
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.004.Res.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attr="document" xsi:schemaLocation="http://uri.data.org http://anywhere.org/testDocument.schema.xsd"><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#document"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>cfkbUQ6pYpnOZg0nHpe4QJD2EtU=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Qcb3A9TDoayqprHRS65bCXZHqBQSfAVfWru0scRT+7J52ZgF+fXUv3jYVNNtSlpT
+a9IkY2z9NXIrYlRVH1U5AIvGECDircEpEDKwaMB1dmVvo1GXn5hos+BYBGGqp6n6
+xnZ4S8hD+4QiJPnFdsixGt4DlOMaD1+uWwpaW7SPC+I=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.005.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.005.Req.xml
new file mode 100644
index 000000000..89f5387de
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.005.Req.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Erstellung einer Signatur
+ - Supplement zu CreateTransformsInfo per LocRef
+-->
+
+<CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/documents/bookData.xml">
+ <XMLContent xml:space="preserve">
+ <data:book xmlns:data="http://uri.data.org" data:hardback="yes">
+ <data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>
+ <data:first-name>Ellipse</data:first-name>
+ <data:last-name>Kurvenreich</data:last-name>
+ <data:birth-date>1951-04-16</data:birth-date>
+ <data:birth-location>Hinterm Berg</data:birth-location>
+ <data:register-number>6-930-21512-12</data:register-number>
+ </data:book>
+ </XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.notavailable.xsl"/></xsl:stylesheet>
+ </dsig:Transform>
+ </dsig:Transforms>
+ <FinalDataMetaInfo>
+ <MimeType>text/html</MimeType>
+ <Description>http://www.description.com</Description>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ <Supplement>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.notavailable.xsl">
+ <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.xsl</LocRefContent>
+ </Content>
+ </Supplement>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest>
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.005.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.005.Res.xml
new file mode 100644
index 000000000..c8bc9088e
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.005.Res.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ ><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/documents/bookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.notavailable.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>lBx1/ZwAQrBp+9iYDzJ8zwcg7jT3Y6L6dF3i9YvZ6SV+E63Hk6QwiR8sYb5QqX7a
+Gfnk34Zus8xWyIC6Z+E7mlDMd1TK/1jPj4Ut6Tvq6JemwncKUgcPAofdgRG7JP15
+DuaiaE1o36Y4N9Ri7wXDg6+Iwo7tgx1aMWwcdeza7Lk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.006.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.006.Req.xml
new file mode 100644
index 000000000..09f93fa8d
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.006.Req.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Pruefung einer Signature
+ - Signaturumgebung per LocRef
+-->
+
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:33+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/documents/simpleSignature.xml</LocRefContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <ReturnHashInputData/>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.006.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.006.Res.xml
new file mode 100644
index 000000000..53ba8d830
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.006.Res.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <HashInputData>
+ <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.007.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.007.Req.xml
new file mode 100644
index 000000000..bb745fd8e
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.007.Req.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Pruefung einer Signatur
+ - Datenobjekt als Supplement per LocRef
+-->
+
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <DateTime>2003-11-11T00:47:35+01:00</DateTime>
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment >
+ <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment>
+ <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <MetaInfo>
+ <MimeType>text/plain</MimeType>
+ <Description>http://www.buergerkarte.at</Description>
+ </MetaInfo>
+ <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt">
+ <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/documents/testSimple.txt</LocRefContent>
+ </Content>
+ </SupplementProfile>
+ <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.007.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.007.Res.xml
new file mode 100644
index 000000000..d85292b1a
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.007.Res.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" >
+ <SignerInfo>
+ <dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName>
+ <dsig:X509IssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </dsig:X509IssuerSerial>
+
+<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data>
+ </SignerInfo>
+ <SignatureCheck>
+ <Code>0</Code>
+ </SignatureCheck>
+ <CertificateCheck>
+ <Code>0</Code>
+ </CertificateCheck>
+</VerifyXMLSignatureResponse> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.050.ErrRes.xml b/spss.test/data/feature41/TestGeneratorFeature41.050.ErrRes.xml
new file mode 100644
index 000000000..c290966ea
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.050.ErrRes.xml
@@ -0,0 +1 @@
+3201 \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.050.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.050.Req.xml
new file mode 100644
index 000000000..c5e21783a
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.050.Req.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Erstellung einer Signatur
+ - Detached Signature
+ - Content per LocRef (URL-Mapping) - nicht aufloesbar
+-->
+
+<CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="testdaten.txt">
+ <LocRefContent>http://example.org/object.notavailable.txt</LocRefContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.051.ErrRes.xml b/spss.test/data/feature41/TestGeneratorFeature41.051.ErrRes.xml
new file mode 100644
index 000000000..ba3f056ed
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.051.ErrRes.xml
@@ -0,0 +1 @@
+3203 \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.051.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.051.Req.xml
new file mode 100644
index 000000000..775869a68
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.051.Req.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Erstellung einer Signatur
+ - Signaturumgebung per LocRef - nicht aufloesbar
+-->
+
+<CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/documents/testSimple.txt">
+ <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent>
+ </DataObject>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType></FinalDataMetaInfo>
+ </CreateTransformsInfo></CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ <CreateSignatureInfo xmlns:data="http://uri.data.org">
+ <CreateSignatureEnvironment>
+ <LocRefContent>http://example.org/signatureEnvironment.notavailable.xml</LocRefContent>
+ </CreateSignatureEnvironment>
+ <CreateSignatureEnvironmentProfile>
+ <CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation>
+ </CreateSignatureEnvironmentProfile>
+ </CreateSignatureInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.052.ErrRes.xml b/spss.test/data/feature41/TestGeneratorFeature41.052.ErrRes.xml
new file mode 100644
index 000000000..a04556cdc
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.052.ErrRes.xml
@@ -0,0 +1 @@
+3202 \ No newline at end of file
diff --git a/spss.test/data/feature41/TestGeneratorFeature41.052.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.052.Req.xml
new file mode 100644
index 000000000..a47f954c6
--- /dev/null
+++ b/spss.test/data/feature41/TestGeneratorFeature41.052.Req.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Erstellung einer Signatur
+ - Supplement zur CreateSignatureEnvironment per LocRef
+-->
+
+<CreateXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+ <SingleSignatureInfo SecurityLayerConformity="false">
+ <DataObjectInfo Structure="detached" ChildOfManifest="false">
+ <DataObject Reference="#document"/>
+ <CreateTransformsInfoProfile>
+ <CreateTransformsInfo>
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ </dsig:Transforms>
+ <FinalDataMetaInfo>
+ <MimeType>text/plain</MimeType>
+ </FinalDataMetaInfo>
+ </CreateTransformsInfo>
+ </CreateTransformsInfoProfile>
+ </DataObjectInfo>
+ <CreateSignatureInfo xmlns:data="http://uri.data.org">
+ <CreateSignatureEnvironment>
+ <XMLContent xml:space="preserve">
+ <data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attr="document" xsi:schemaLocation="http://uri.data.org http://anywhere.org/testDocument.schema.xsd">Dies sind Testdaten</data:Document>
+ </XMLContent>
+ </CreateSignatureEnvironment>
+ <CreateSignatureEnvironmentProfile>
+ <CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation>
+ <Supplement>
+ <Content Reference="http://anywhere.org/testDocument.schema.xsd">
+ <LocRefContent>http://example.org/testDocument.schema.notavailable.xsd</LocRefContent>
+ </Content>
+ </Supplement>
+ </CreateSignatureEnvironmentProfile>
+ </CreateSignatureInfo>
+ </SingleSignatureInfo>
+</CreateXMLSignatureRequest>
diff --git a/spss.test/data/feature41/readme.txt b/spss.test/data/feature41/readme.txt
new file mode 100644
index 000000000..d22612e6d
--- /dev/null
+++ b/spss.test/data/feature41/readme.txt
@@ -0,0 +1,9 @@
+Autor: Gregor Karlinger
+Datum: 2003-11-11
+
+* Zum Generieren der Testdaten wird die Ressource
+ "resources/stylesheets/book.notavailable.xml" benötigt.
+
+* Bevor die Testfälle ablaufen sollen, ist diese Ressource
+ vom Webserver zu entfernen. Sie darf nicht mehr zur Ver-
+ fügung stehen. \ No newline at end of file
diff --git a/spss.test/lib/SignatureAlgorithmImplECDSA.jar b/spss.test/lib/SignatureAlgorithmImplECDSA.jar
new file mode 100644
index 000000000..6df580e13
--- /dev/null
+++ b/spss.test/lib/SignatureAlgorithmImplECDSA.jar
Binary files differ
diff --git a/spss.test/lib/axis-1.0/axis.jar b/spss.test/lib/axis-1.0/axis.jar
new file mode 100644
index 000000000..7cf31027a
--- /dev/null
+++ b/spss.test/lib/axis-1.0/axis.jar
Binary files differ
diff --git a/spss.test/lib/axis-1.0/jaxrpc.jar b/spss.test/lib/axis-1.0/jaxrpc.jar
new file mode 100644
index 000000000..4a2081643
--- /dev/null
+++ b/spss.test/lib/axis-1.0/jaxrpc.jar
Binary files differ
diff --git a/spss.test/lib/axis-1.0/saaj.jar b/spss.test/lib/axis-1.0/saaj.jar
new file mode 100644
index 000000000..cf43f1fcd
--- /dev/null
+++ b/spss.test/lib/axis-1.0/saaj.jar
Binary files differ
diff --git a/spss.test/lib/axis-1.0/wsdl4j.jar b/spss.test/lib/axis-1.0/wsdl4j.jar
new file mode 100644
index 000000000..e90968e03
--- /dev/null
+++ b/spss.test/lib/axis-1.0/wsdl4j.jar
Binary files differ
diff --git a/spss.test/lib/commons-discovery-0.2/commons-discovery.jar b/spss.test/lib/commons-discovery-0.2/commons-discovery.jar
new file mode 100644
index 000000000..b88554847
--- /dev/null
+++ b/spss.test/lib/commons-discovery-0.2/commons-discovery.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/iaik-moa-full.jar b/spss.test/lib/iaik-moa-20030703/iaik-moa-full.jar
new file mode 100644
index 000000000..30d5f4828
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/iaik-moa-full.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/iaikPkcs11Provider.jar b/spss.test/lib/iaik-moa-20030703/iaikPkcs11Provider.jar
new file mode 100644
index 000000000..52c32ff7e
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/iaikPkcs11Provider.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/iaikPkcs11Wrapper.jar b/spss.test/lib/iaik-moa-20030703/iaikPkcs11Wrapper.jar
new file mode 100644
index 000000000..5d69f255c
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/iaikPkcs11Wrapper.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/iaik_cms.jar b/spss.test/lib/iaik-moa-20030703/iaik_cms.jar
new file mode 100644
index 000000000..0f8be7bf0
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/iaik_cms.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/iaik_ecc.jar b/spss.test/lib/iaik-moa-20030703/iaik_ecc.jar
new file mode 100644
index 000000000..8c528a215
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/iaik_ecc.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/iaik_jce_full.jar b/spss.test/lib/iaik-moa-20030703/iaik_jce_full.jar
new file mode 100644
index 000000000..8d0f093e6
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/iaik_jce_full.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/ixsil.jar b/spss.test/lib/iaik-moa-20030703/ixsil.jar
new file mode 100644
index 000000000..606430367
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/ixsil.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jar b/spss.test/lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jar
new file mode 100644
index 000000000..fd56f9911
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/signed/iaik_ecc.jar b/spss.test/lib/iaik-moa-20030703/signed/iaik_ecc.jar
new file mode 100644
index 000000000..4279ff571
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/signed/iaik_ecc.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/signed/iaik_jce_full.jar b/spss.test/lib/iaik-moa-20030703/signed/iaik_jce_full.jar
new file mode 100644
index 000000000..13f0b90be
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/signed/iaik_jce_full.jar
Binary files differ
diff --git a/spss.test/lib/iaik-moa-20030703/win32/pkcs11wrapper.dll b/spss.test/lib/iaik-moa-20030703/win32/pkcs11wrapper.dll
new file mode 100644
index 000000000..dcc61609e
--- /dev/null
+++ b/spss.test/lib/iaik-moa-20030703/win32/pkcs11wrapper.dll
Binary files differ
diff --git a/spss.test/lib/iaik_javax_crypto.jar b/spss.test/lib/iaik_javax_crypto.jar
new file mode 100644
index 000000000..04ce59443
--- /dev/null
+++ b/spss.test/lib/iaik_javax_crypto.jar
Binary files differ
diff --git a/spss.test/lib/jaxen-1.0/jaxen-core.jar b/spss.test/lib/jaxen-1.0/jaxen-core.jar
new file mode 100644
index 000000000..e52bf679c
--- /dev/null
+++ b/spss.test/lib/jaxen-1.0/jaxen-core.jar
Binary files differ
diff --git a/spss.test/lib/jaxen-1.0/jaxen-dom.jar b/spss.test/lib/jaxen-1.0/jaxen-dom.jar
new file mode 100644
index 000000000..1a9926357
--- /dev/null
+++ b/spss.test/lib/jaxen-1.0/jaxen-dom.jar
Binary files differ
diff --git a/spss.test/lib/jaxen-1.0/saxpath.jar b/spss.test/lib/jaxen-1.0/saxpath.jar
new file mode 100644
index 000000000..2b43955ba
--- /dev/null
+++ b/spss.test/lib/jaxen-1.0/saxpath.jar
Binary files differ
diff --git a/spss.test/lib/jaxp-1.2_01/dom.jar b/spss.test/lib/jaxp-1.2_01/dom.jar
new file mode 100644
index 000000000..f91f80a8b
--- /dev/null
+++ b/spss.test/lib/jaxp-1.2_01/dom.jar
Binary files differ
diff --git a/spss.test/lib/jaxp-1.2_01/jaxp-api.jar b/spss.test/lib/jaxp-1.2_01/jaxp-api.jar
new file mode 100644
index 000000000..7a3295ee6
--- /dev/null
+++ b/spss.test/lib/jaxp-1.2_01/jaxp-api.jar
Binary files differ
diff --git a/spss.test/lib/jaxp-1.2_01/sax.jar b/spss.test/lib/jaxp-1.2_01/sax.jar
new file mode 100644
index 000000000..9ffb844e5
--- /dev/null
+++ b/spss.test/lib/jaxp-1.2_01/sax.jar
Binary files differ
diff --git a/spss.test/lib/jce.jar b/spss.test/lib/jce.jar
new file mode 100644
index 000000000..0809ec1af
--- /dev/null
+++ b/spss.test/lib/jce.jar
Binary files differ
diff --git a/spss.test/lib/jprov.jar b/spss.test/lib/jprov.jar
new file mode 100644
index 000000000..dc3563ec7
--- /dev/null
+++ b/spss.test/lib/jprov.jar
Binary files differ
diff --git a/spss.test/lib/jsse-1.0.3_01/jcert.jar b/spss.test/lib/jsse-1.0.3_01/jcert.jar
new file mode 100644
index 000000000..d33134214
--- /dev/null
+++ b/spss.test/lib/jsse-1.0.3_01/jcert.jar
Binary files differ
diff --git a/spss.test/lib/jsse-1.0.3_01/jnet.jar b/spss.test/lib/jsse-1.0.3_01/jnet.jar
new file mode 100644
index 000000000..e1d340093
--- /dev/null
+++ b/spss.test/lib/jsse-1.0.3_01/jnet.jar
Binary files differ
diff --git a/spss.test/lib/jsse-1.0.3_01/jsse.jar b/spss.test/lib/jsse-1.0.3_01/jsse.jar
new file mode 100644
index 000000000..123188c5e
--- /dev/null
+++ b/spss.test/lib/jsse-1.0.3_01/jsse.jar
Binary files differ
diff --git a/spss.test/lib/xalan-j-2.2/bsf.jar b/spss.test/lib/xalan-j-2.2/bsf.jar
new file mode 100644
index 000000000..19036c1bc
--- /dev/null
+++ b/spss.test/lib/xalan-j-2.2/bsf.jar
Binary files differ
diff --git a/spss.test/lib/xalan-j-2.2/xalan.jar b/spss.test/lib/xalan-j-2.2/xalan.jar
new file mode 100644
index 000000000..8dd6dca25
--- /dev/null
+++ b/spss.test/lib/xalan-j-2.2/xalan.jar
Binary files differ
diff --git a/spss.test/lib/xerces-j-2.0.2/xercesImpl.jar b/spss.test/lib/xerces-j-2.0.2/xercesImpl.jar
new file mode 100644
index 000000000..f25d73cd7
--- /dev/null
+++ b/spss.test/lib/xerces-j-2.0.2/xercesImpl.jar
Binary files differ
diff --git a/spss.test/lib/xerces-j-2.0.2/xmlParserAPIs.jar b/spss.test/lib/xerces-j-2.0.2/xmlParserAPIs.jar
new file mode 100644
index 000000000..c1fa1d645
--- /dev/null
+++ b/spss.test/lib/xerces-j-2.0.2/xmlParserAPIs.jar
Binary files differ
diff --git a/spss.test/resources/100kb.txt b/spss.test/resources/100kb.txt
new file mode 100644
index 000000000..486169d0f
--- /dev/null
+++ b/spss.test/resources/100kb.txt
@@ -0,0 +1 @@
+Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Some \ No newline at end of file
diff --git a/spss.test/resources/10kb.txt b/spss.test/resources/10kb.txt
new file mode 100644
index 000000000..f944d657e
--- /dev/null
+++ b/spss.test/resources/10kb.txt
@@ -0,0 +1 @@
+Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be \ No newline at end of file
diff --git a/spss.test/resources/1kb.txt b/spss.test/resources/1kb.txt
new file mode 100644
index 000000000..3c408baa2
--- /dev/null
+++ b/spss.test/resources/1kb.txt
@@ -0,0 +1 @@
+Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to \ No newline at end of file
diff --git a/spss.test/resources/1mb.txt b/spss.test/resources/1mb.txt
new file mode 100644
index 000000000..b3bb7dddc
--- /dev/null
+++ b/spss.test/resources/1mb.txt
@@ -0,0 +1 @@
+Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to b \ No newline at end of file
diff --git a/spss.test/resources/20kb.txt b/spss.test/resources/20kb.txt
new file mode 100644
index 000000000..71f407d5a
--- /dev/null
+++ b/spss.test/resources/20kb.txt
@@ -0,0 +1 @@
+Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Someth \ No newline at end of file
diff --git a/spss.test/resources/500kb.txt b/spss.test/resources/500kb.txt
new file mode 100644
index 000000000..02afda5fb
--- /dev/null
+++ b/spss.test/resources/500kb.txt
@@ -0,0 +1 @@
+Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Sign \ No newline at end of file
diff --git a/spss.test/resources/50kb.txt b/spss.test/resources/50kb.txt
new file mode 100644
index 000000000..6c810121f
--- /dev/null
+++ b/spss.test/resources/50kb.txt
@@ -0,0 +1 @@
+Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) So \ No newline at end of file
diff --git a/spss.test/resources/BookData.xml b/spss.test/resources/BookData.xml
new file mode 100644
index 000000000..0d18d79d3
--- /dev/null
+++ b/spss.test/resources/BookData.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><data:book xmlns:data="http://uri.data.org" data:hardback="yes"><data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title><data:first-name>Ellipse</data:first-name><data:last-name>Kurvenreich</data:last-name><data:birth-date>1951-04-16</data:birth-date><data:birth-location>Hinterm Berg</data:birth-location><data:register-number>6-930-21512-12</data:register-number></data:book> \ No newline at end of file
diff --git a/spss.test/resources/BookData_wo_NS.xml b/spss.test/resources/BookData_wo_NS.xml
new file mode 100644
index 000000000..d52f3890b
--- /dev/null
+++ b/spss.test/resources/BookData_wo_NS.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><book hardback="yes"><title>Gesundheitliche <!--Comment -->Auswirkungen elektronischer Signaturen</title><first-name>Ellipse</first-name><last-name>Kurvenreich</last-name><birth-date>1951-04-16</birth-date><birth-location>Hinterm Berg</birth-location><register-number>6-930-21512-12</register-number></book> \ No newline at end of file
diff --git a/spss.test/resources/CSEP.xml b/spss.test/resources/CSEP.xml
new file mode 100644
index 000000000..708cdd328
--- /dev/null
+++ b/spss.test/resources/CSEP.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateSignatureEnvironmentProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><CreateSignatureLocation Index="0">/data:Document</CreateSignatureLocation></CreateSignatureEnvironmentProfile> \ No newline at end of file
diff --git a/spss.test/resources/CX1_book.xsl b/spss.test/resources/CX1_book.xsl
new file mode 100644
index 000000000..b484b9583
--- /dev/null
+++ b/spss.test/resources/CX1_book.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet> \ No newline at end of file
diff --git a/spss.test/resources/CX1_book_not_here.xsl b/spss.test/resources/CX1_book_not_here.xsl
new file mode 100644
index 000000000..b484b9583
--- /dev/null
+++ b/spss.test/resources/CX1_book_not_here.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet> \ No newline at end of file
diff --git a/spss.test/resources/CX1_bookprofile.xsl b/spss.test/resources/CX1_bookprofile.xsl
new file mode 100644
index 000000000..ca41d793f
--- /dev/null
+++ b/spss.test/resources/CX1_bookprofile.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><CreateTransformsInfo><dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile> \ No newline at end of file
diff --git a/spss.test/resources/CX1_bookref.xsl b/spss.test/resources/CX1_bookref.xsl
new file mode 100644
index 000000000..1b628fcd3
--- /dev/null
+++ b/spss.test/resources/CX1_bookref.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"/></xsl:stylesheet> \ No newline at end of file
diff --git a/spss.test/resources/CX1_bookref_not_here.xsl b/spss.test/resources/CX1_bookref_not_here.xsl
new file mode 100644
index 000000000..37ea9eaef
--- /dev/null
+++ b/spss.test/resources/CX1_bookref_not_here.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet> \ No newline at end of file
diff --git a/spss.test/resources/DSA.1024.p12 b/spss.test/resources/DSA.1024.p12
new file mode 100644
index 000000000..e180e607d
--- /dev/null
+++ b/spss.test/resources/DSA.1024.p12
Binary files differ
diff --git a/spss.test/resources/DSA.512.p12 b/spss.test/resources/DSA.512.p12
new file mode 100644
index 000000000..8f7a201ac
--- /dev/null
+++ b/spss.test/resources/DSA.512.p12
Binary files differ
diff --git a/spss.test/resources/HSMRSAKEY.cer b/spss.test/resources/HSMRSAKEY.cer
new file mode 100644
index 000000000..222fa8142
--- /dev/null
+++ b/spss.test/resources/HSMRSAKEY.cer
@@ -0,0 +1,13 @@
+-----BEGIN CERTIFICATE-----
+MIIB6TCCAVICASowDQYJKoZIhvcNAQEFBQAwPTESMBAGA1UEAxMJSFNNUlNBS0VZ
+MQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTELMAkGA1UEBhMCQVQwHhcNMDMw
+MzA2MTYxMzIwWhcNMDQwMzA2MTYxMzIwWjA9MRIwEAYDVQQDEwlIU01SU0FLRVkx
+DDAKBgNVBAoTA0JSWjEMMAoGA1UECxMDTU9BMQswCQYDVQQGEwJBVDCBnzANBgkq
+hkiG9w0BAQEFAAOBjQAwgYkCgYEAw+chYCv2l01xPWi3Y6Sss3PsB7qGgKBn28lC
+x2a/OjTnutCZ2pUWmcj5H4hR8zCiLvQ02wfzL0fbDKNgvLZtoQTxXVTi9LKOQ4ZT
+TpGrylJsBw1E/Lr0lfntAmukxBGKiRp6VUKt7mANeCSVI8U2GJ9ZCOALBLMbGy96
+hU1h180CAwD4KzANBgkqhkiG9w0BAQUFAAOBgQBCZfvgNdomKUx6qaCCkxWXU7An
+Yk7UyMPQdbMkL6g2gqpyOy4ubGBmu/fbGmWFmh36BmJqFQdKMsjPUqlbX/NzSNVX
+qV6sViyEi44eIRPX+eQbnxN14hH2+seKYUPmSxppyB+IJ1egvQGGFN24HrJImP6c
+5lhtkYVThTkMHDvGPg==
+-----END CERTIFICATE-----
diff --git a/spss.test/resources/IAIKRootMusterbehoerde.cer b/spss.test/resources/IAIKRootMusterbehoerde.cer
new file mode 100644
index 000000000..21dc972b9
--- /dev/null
+++ b/spss.test/resources/IAIKRootMusterbehoerde.cer
Binary files differ
diff --git a/spss.test/resources/Max_Mustermann (max).p12 b/spss.test/resources/Max_Mustermann (max).p12
new file mode 100644
index 000000000..b18a842e2
--- /dev/null
+++ b/spss.test/resources/Max_Mustermann (max).p12
Binary files differ
diff --git a/spss.test/resources/Max_Mustermann.cer b/spss.test/resources/Max_Mustermann.cer
new file mode 100644
index 000000000..b5b39633d
--- /dev/null
+++ b/spss.test/resources/Max_Mustermann.cer
Binary files differ
diff --git a/spss.test/resources/SignatureVX005.xml b/spss.test/resources/SignatureVX005.xml
new file mode 100644
index 000000000..0cbec2e6f
--- /dev/null
+++ b/spss.test/resources/SignatureVX005.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 325-->
+<dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W3OgtGHJLYYnhOXqmZIW05FU5oo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW
+dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p
+B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile Testdaten</dsig:Object></dsig:Signature> \ No newline at end of file
diff --git a/spss.test/resources/SignatureVX005Cert.xml b/spss.test/resources/SignatureVX005Cert.xml
new file mode 100644
index 000000000..f6c5a8a4f
--- /dev/null
+++ b/spss.test/resources/SignatureVX005Cert.xml
@@ -0,0 +1,21 @@
+<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate>
diff --git a/spss.test/resources/SignatureVX006Document.xml b/spss.test/resources/SignatureVX006Document.xml
new file mode 100644
index 000000000..0cbec2e6f
--- /dev/null
+++ b/spss.test/resources/SignatureVX006Document.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 325-->
+<dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W3OgtGHJLYYnhOXqmZIW05FU5oo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW
+dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p
+B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="envelopedData">Dies sind Testdaten
+2. Zeile Testdaten</dsig:Object></dsig:Signature> \ No newline at end of file
diff --git a/spss.test/resources/TEMPX509Data.xml b/spss.test/resources/TEMPX509Data.xml
new file mode 100644
index 000000000..5214a44e2
--- /dev/null
+++ b/spss.test/resources/TEMPX509Data.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Stephan Grill (Anecon) -->
+<dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate>
+ <dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate>
+</dsig:X509Data>
diff --git a/spss.test/resources/TestGeneratorVX.Config.xml b/spss.test/resources/TestGeneratorVX.Config.xml
new file mode 100644
index 000000000..974299c7c
--- /dev/null
+++ b/spss.test/resources/TestGeneratorVX.Config.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#"><TrustProfile id="TrustProfile1" uri="file://SERVER_WORKING_DIRECTORY/TrustProfile1"/><SupplementProfile id="SupplementProfile1" uri="file://SERVER_WORKING_DIRECTORY/SupplementProfile1"/><SupplementProfile id="SupplementProfile2" uri="file://SERVER_WORKING_DIRECTORY/SupplementProfile2"/></MOAConfiguration> \ No newline at end of file
diff --git a/spss.test/resources/VC0.011.cms.ber.b64.txt b/spss.test/resources/VC0.011.cms.ber.b64.txt
new file mode 100644
index 000000000..e6e0fbd48
--- /dev/null
+++ b/spss.test/resources/VC0.011.cms.ber.b64.txt
@@ -0,0 +1,48 @@
+MIII2AIBATELMAkGBSsOAwIaBQAwggECBgkqhkiG9w0BBwGggfQEgfE8c2wxMDpJ
+bmZvYm94UmVhZFJlcXVlc3QgeG1sbnM6c2wxMD0naHR0cDovL3d3dy5idWVyZ2Vy
+a2FydGUuYXQvbmFtZXNwYWNlcy9zZWN1cml0eWxheWVyLzIwMDIwMjI1Iyc+PHNs
+MTA6SW5mb2JveElkZW50aWZpZXI+SWRlbnRpdHlMaW5rPC9zbDEwOkluZm9ib3hJ
+ZGVudGlmaWVyPjxzbDEwOkJpbmFyeUZpbGVQYXJhbWV0ZXJzIENvbnRlbnRJc1hN
+TEVudGl0eT0ndHJ1ZScvPjwvc2wxMDpJbmZvYm94UmVhZFJlcXVlc3Q+oIIFKTCC
+BSUwggQNoAMCAQICAhk3MA0GCSqGSIb3DQEBBQUAMIGhMQswCQYDVQQGEwJBVDFI
+MEYGA1UEChM/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBl
+bGVrdHIuIERhdGVudmVya2VociBHbWJIMSMwIQYDVQQLExphLXNpZ24tVEVTVC1Q
+cmVtaXVtLUVuYy0wMTEjMCEGA1UEAxMaYS1zaWduLVRFU1QtUHJlbWl1bS1FbmMt
+MDEwHhcNMDMwMjEwMTMyMDU4WhcNMDYwMjEwMTMyMDU4WjBqMQswCQYDVQQGEwJB
+VDEcMBoGA1UEAxMTVGVzdHBlcnNvbiBNT0E0IEJSWjEMMAoGA1UEBBMDQlJaMRgw
+FgYDVQQqEw9UZXN0cGVyc29uIE1PQTQxFTATBgNVBAUTDDc5MDE4NzQ2MTYzMzCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0v1Ftf7WXgoexx0Jo/GrlExHOHnQ
+IEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EMA6P18Z/YyTIuP7fN
+GzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7af2da
+YYuO8dycQw3xg6UCAwEAAaOCAh8wggIbMBMGA1UdIwQMMAqACEuzgMNxkzzYMCcG
+CCsGAQUFBwEDAQH/BBgwFjAIBgYEAI5GAQEwCgYIKwYBBQUHCwEwgYIGCCsGAQUF
+BwEBBHYwdDApBggrBgEFBQcwAYYdaHR0cDovL3d3dy5hLXRydXN0LmF0OjgyL29j
+c3AwRwYIKwYBBQUHMAKGO2h0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNp
+Z24tVEVTVC1QcmVtaXVtLVNpZy0wMWEuY3J0MIGUBgNVHSAEgYwwgYkwfQYGKigA
+EQEEMHMwNQYIKwYBBQUHAgEWKWh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2Nw
+L2Etc2lnbi1URVNUMDoGCCsGAQUFBwICMC4aLERpZXNlcyBaZXJ0aWZpa2F0IGRp
+ZW50IG51ciB6dSBUZXN0endlY2tlbiAhMAgGBgQAizABATBvBgNVHR8EaDBmMGSg
+YqBghl5sZGFwOi8vbGRhcC5hLXRydXN0LmF0L291PWEtc2lnbi1URVNULVByZW1p
+dW0tRW5jLTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxp
+c3Q/MBEGA1UdDgQKBAhOA8S/ZMuDPjAOBgNVHQ8BAf8EBAMCBsAwIAYDVR0RBBkw
+F4EVdGVzdHBlcnNvbjRAYnJ6Lmd2LmF0MAkGA1UdEwQCMAAwDQYJKoZIhvcNAQEF
+BQADggEBAIqFb7GTfjZ0MVzExnYyr3kwTEU2Mx35ZEgvJSPV15bT+fpoyLqAdk5+
+r6KLwPHV8/Y07J0LfH/MntAi9m0kvVFQ9Y7/EqN22r6rlvh5ZGQQGby9/QDzSz41
+FJ1p9EDp60ACeluO1MBgFIBMNynAXCWhGuF2//JFI+tfMRs1pel9JirFacZK3/uQ
+o/p5sA6goZZdPP/dDJoUmODORa75kPRowDeRR1bJNBT6dNrSgkc6ASbc6QdQ1ih5
+YIgx1AF8uXg9FyOz13mzzWeCJ72P4wvyB/D0S3SU9uPWEJlMWeJ3k7RQ72/AtUIe
+pO9uX4d4Vcal/GcMFo/fohkFZOdytwgxggKRMIICjQIBATCBqDCBoTELMAkGA1UE
+BhMCQVQxSDBGBgNVBAoTP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3Rl
+bWUgaW0gZWxla3RyLiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECxMaYS1zaWdu
+LVRFU1QtUHJlbWl1bS1FbmMtMDExIzAhBgNVBAMTGmEtc2lnbi1URVNULVByZW1p
+dW0tRW5jLTAxAgIZNzAJBgUrDgMCGgUAoIIBPjAjBgkqhkiG9w0BCQQxFgQU7Cdd
+FuGLuHFvEIPT80IThplXPXowNAYLKoZIhvcNAQkQAgQxJTAjDBZ0ZXh0L3htbDtj
+aGFyc2V0PVVURi04BgkqhkiG9w0BBwEwgeAGCyqGSIb3DQEJEAITMYHQMIHNMIHK
+MIHHBBQWuG7WjiYviBAd0lxTTFID+HgI4TCBrjCBp6SBpDCBoTELMAkGA1UEBhMC
+QVQxSDBGBgNVBAoTP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUg
+aW0gZWxla3RyLiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECxMaYS1zaWduLVRF
+U1QtUHJlbWl1bS1FbmMtMDExIzAhBgNVBAMTGmEtc2lnbi1URVNULVByZW1pdW0t
+RW5jLTAxAgIZNzANBgkqhkiG9w0BAQEFAASBgJCZ0BwFdXjChqrS8cHWJcqfe+up
+x4VVNV1YOJil/KWMuBCn3DHQsbBFJFrmGUUJGenBbre5L86brr43NwvndrtyyRrw
+vG4/QWmYIxowXKuRlqGDCOmTaC6ddrjyVxQ54yal+XhlrWfc6kcdb6NK6dt6X7wR
+
diff --git a/spss.test/resources/VX.006DTD.dtd b/spss.test/resources/VX.006DTD.dtd
new file mode 100644
index 000000000..87f31bb13
--- /dev/null
+++ b/spss.test/resources/VX.006DTD.dtd
@@ -0,0 +1 @@
+<!ELEMENT Document ANY><!ATTLIST Document Id ID #REQUIRED>
diff --git a/spss.test/resources/VX.006Schema.xsd b/spss.test/resources/VX.006Schema.xsd
new file mode 100644
index 000000000..4689999e8
--- /dev/null
+++ b/spss.test/resources/VX.006Schema.xsd
@@ -0,0 +1 @@
+<xsd:schema targetNamespace="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"><xsd:element name="Document"><xsd:complexType mixed="true"><xsd:sequence minOccurs="0" maxOccurs="unbounded"><xsd:any namespace="##any" processContents="lax"/></xsd:sequence><xsd:attribute name="Id" type="xsd:ID" use="required"/></xsd:complexType></xsd:element></xsd:schema> \ No newline at end of file
diff --git a/spss.test/resources/VX.006xmlData.xml b/spss.test/resources/VX.006xmlData.xml
new file mode 100644
index 000000000..6bfa86556
--- /dev/null
+++ b/spss.test/resources/VX.006xmlData.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://localhost:8080/moa-spss-testdata/resources/VX.006Schema.xsd">daten</data:Document>
diff --git a/spss.test/resources/VX.007DTD.dtd b/spss.test/resources/VX.007DTD.dtd
new file mode 100644
index 000000000..e80a08a2a
--- /dev/null
+++ b/spss.test/resources/VX.007DTD.dtd
@@ -0,0 +1,2 @@
+<!ELEMENT Document (#PCDATA|ANY)*>
+<!ATTLIST Document Id ID #REQUIRED>
diff --git a/spss.test/resources/VX2_book0.xsl b/spss.test/resources/VX2_book0.xsl
new file mode 100644
index 000000000..7c570de73
--- /dev/null
+++ b/spss.test/resources/VX2_book0.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="/"><HTML><BODY><h1>Ueberschrift</h1><xsl:apply-templates/></BODY></HTML></xsl:template></xsl:stylesheet> \ No newline at end of file
diff --git a/spss.test/resources/VX2_book1.xsl b/spss.test/resources/VX2_book1.xsl
new file mode 100644
index 000000000..23e03a51a
--- /dev/null
+++ b/spss.test/resources/VX2_book1.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><H1>Buch: <xsl:value-of select="data:title"/></H1></xsl:template></xsl:stylesheet> \ No newline at end of file
diff --git a/spss.test/resources/VX2_bookref2includes.xsl b/spss.test/resources/VX2_bookref2includes.xsl
new file mode 100644
index 000000000..68add69db
--- /dev/null
+++ b/spss.test/resources/VX2_bookref2includes.xsl
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:include href="http://localhost:8080/moa-spss-testdata/resources/VX2_book0.xsl"/>
+ <xsl:include href="http://localhost:8080/moa-spss-testdata/resources/VX2_book1.xsl"/>
+</xsl:stylesheet>
diff --git a/spss.test/resources/X509Data.xml b/spss.test/resources/X509Data.xml
new file mode 100644
index 000000000..5214a44e2
--- /dev/null
+++ b/spss.test/resources/X509Data.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Stephan Grill (Anecon) -->
+<dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate>
+ <dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate>
+</dsig:X509Data>
diff --git a/spss.test/resources/algorithms.properties b/spss.test/resources/algorithms.properties
new file mode 100644
index 000000000..72c155c5f
--- /dev/null
+++ b/spss.test/resources/algorithms.properties
@@ -0,0 +1,94 @@
+# IXSIL algorithm properties
+#
+# This file contains the properties which IXSIL uses to maintain the available algorithms.
+
+
+
+#----------------------------------------------------------------------------------------------------------
+# Canonicalization algorithms
+#
+# The following properties (starting with "Canonicalization.") are associations between canonicalization
+# algorithm URIs and their corresponding implementation classes.
+#
+# For instance, if you would like to specify the implementation class for the canonicalization algorithm
+# with the identifying URI "http://www.w3.org/TR/2001/REC-xml-c14n-20010315", the name of the algorithm
+# property is "Canonicalization.http://www.w3.org/TR/2001/REC-xml-c14n-20010315", i.e. the identifying URI,
+# prepended by the canonicalization algorithm property identifier ("Canonicalization."). The value of the
+# property is the fully qualified class name of the implementation for this algorithm, for instance the
+# standard impl. shipped with IXSIL, "iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML".
+#
+# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the
+# property name.
+
+Canonicalization.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315 = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML
+Canonicalization.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXMLWithComments
+Canonicalization.http\://www.w3.org/2001/10/xml-exc-c14n# = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXML
+Canonicalization.http\://www.w3.org/2001/10/xml-exc-c14n#WithComments = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments
+
+#----------------------------------------------------------------------------------------------------------
+# Signature algorithms
+#
+# The following properties (starting with "Signature.") are associations between signature algorithm URIs and
+# their corresponding implementation classes.
+#
+# For instance, if you would like to specify the implementation class for the signature algorithm
+# with the identifying URI "http://www.w3.org/2000/09/xmldsig#rsa-sha1", the name of the algorithm
+# property is "Signature.http://www.w3.org/2000/09/xmldsig#rsa-sha1", i.e. the identifying URI,
+# prepended by the signature algorithm property identifier ("Signature."). The value of the
+# property is the fully qualified class name of the implementation for this algorithm, for instance the
+# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.SignatureAlgorithmImplRSA".
+#
+# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the
+# property name.
+
+Signature.http\://www.w3.org/2000/09/xmldsig#rsa-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplRSA
+Signature.http\://www.w3.org/2000/09/xmldsig#dsa-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplDSA
+Signature.http\://www.w3.org/2000/09/xmldsig#hmac-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplHMAC
+Signature.http\://www.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplECDSA
+
+
+#----------------------------------------------------------------------------------------------------------
+# Digest algorithms
+#
+# The following properties (starting with "Digest.") are associations between digest algorithm URIs and
+# their corresponding implementation classes.
+#
+# For instance, if you would like to specify the implementation class for the digest algorithm
+# with the identifying URI "http://www.w3.org/2000/09/xmldsig#sha1", the name of the algorithm
+# property is "Digest.http://www.w3.org/2000/09/xmldsig#sha1", i.e. the identifying URI,
+# prepended by the digest algorithm property identifier ("Digest."). The value of the
+# property is the fully qualified class name of the implementation for this algorithm, for instance the
+# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.DigestAlgorithmImplSHA1".
+#
+# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the
+# property name.
+
+Digest.http\://www.w3.org/2000/09/xmldsig#sha1 = iaik.ixsil.algorithms.DigestAlgorithmImplSHA1
+
+
+
+#----------------------------------------------------------------------------------------------------------
+# Transform algorithms
+#
+# The following properties (starting with "Transform.") are associations between digest algorithm URIs and
+# their corresponding implementation classes.
+#
+# For instance, if you would like to specify the implementation class for the transform algorithm
+# with the identifying URI "http://www.w3.org/2000/09/xmldsig#base64", the name of the algorithm
+# property is "Transform.http://www.w3.org/2000/09/xmldsig#base64", i.e. the identifying URI,
+# prepended by the transform algorithm property identifier ("Transform."). The value of the
+# property is the fully qualified class name of the implementation for this algorithm, for instance the
+# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.TransformImplBase64Decode".
+#
+# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the
+# property name.
+
+Transform.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315 = iaik.ixsil.algorithms.TransformImplCanonicalXML
+Transform.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments = iaik.ixsil.algorithms.TransformImplCanonicalXMLWithComments
+Transform.http\://www.w3.org/2001/10/xml-exc-c14n# = iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML
+Transform.http\://www.w3.org/2001/10/xml-exc-c14n#WithComments = iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXMLWithComments
+Transform.http\://www.w3.org/2000/09/xmldsig#base64 = iaik.ixsil.algorithms.TransformImplBase64Decode
+Transform.http\://www.w3.org/TR/1999/REC-xpath-19991116 = iaik.ixsil.algorithms.TransformImplXPath
+Transform.http\://www.w3.org/2000/09/xmldsig#enveloped-signature = iaik.ixsil.algorithms.TransformImplEnvelopedSignature
+Transform.http\://www.w3.org/TR/1999/REC-xslt-19991116 = iaik.ixsil.algorithms.TransformImplXSLT
+Transform.http\://www.w3.org/2002/06/xmldsig-filter2 = iaik.ixsil.algorithms.TransformImplXPath2
diff --git a/spss.test/resources/client.keystore b/spss.test/resources/client.keystore
new file mode 100644
index 000000000..4b489f259
--- /dev/null
+++ b/spss.test/resources/client.keystore
Binary files differ
diff --git a/spss.test/resources/cms.keystore b/spss.test/resources/cms.keystore
new file mode 100644
index 000000000..c8dc364ba
--- /dev/null
+++ b/spss.test/resources/cms.keystore
Binary files differ
diff --git a/spss.test/resources/documents/bookData.xml b/spss.test/resources/documents/bookData.xml
new file mode 100644
index 000000000..81f9ba5d0
--- /dev/null
+++ b/spss.test/resources/documents/bookData.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<data:book xmlns:data="http://uri.data.org" data:hardback="yes">
+ <data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>
+ <data:first-name>Ellipse</data:first-name>
+ <data:last-name>Kurvenreich</data:last-name>
+ <data:birth-date>1951-04-16</data:birth-date>
+ <data:birth-location>Hinterm Berg</data:birth-location>
+ <data:register-number>6-930-21512-12</data:register-number>
+</data:book>
diff --git a/spss.test/resources/documents/simpleSignature.xml b/spss.test/resources/documents/simpleSignature.xml
new file mode 100644
index 000000000..6f235d95c
--- /dev/null
+++ b/spss.test/resources/documents/simpleSignature.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW
+2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW
+NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow
+gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg
+VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT
++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO
+mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB
+o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud
+HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu
+Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU
+TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh
+Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4
+Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP
++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature> \ No newline at end of file
diff --git a/spss.test/resources/documents/testDaten.txt b/spss.test/resources/documents/testDaten.txt
new file mode 100644
index 000000000..2602728cd
--- /dev/null
+++ b/spss.test/resources/documents/testDaten.txt
@@ -0,0 +1,4 @@
+Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus \ No newline at end of file
diff --git a/spss.test/resources/documents/testSimple.txt b/spss.test/resources/documents/testSimple.txt
new file mode 100644
index 000000000..76d2fc51a
--- /dev/null
+++ b/spss.test/resources/documents/testSimple.txt
@@ -0,0 +1 @@
+Dies sind Testdaten \ No newline at end of file
diff --git a/spss.test/resources/ecc(ego).p12 b/spss.test/resources/ecc(ego).p12
new file mode 100644
index 000000000..f84e793c5
--- /dev/null
+++ b/spss.test/resources/ecc(ego).p12
Binary files differ
diff --git a/spss.test/resources/ecc.p12 b/spss.test/resources/ecc.p12
new file mode 100644
index 000000000..f84e793c5
--- /dev/null
+++ b/spss.test/resources/ecc.p12
Binary files differ
diff --git a/spss.test/resources/ecdsa_root_cert.cer b/spss.test/resources/ecdsa_root_cert.cer
new file mode 100644
index 000000000..dac166e9a
--- /dev/null
+++ b/spss.test/resources/ecdsa_root_cert.cer
Binary files differ
diff --git a/spss.test/resources/envDoc.xml b/spss.test/resources/envDoc.xml
new file mode 100644
index 000000000..e9119b952
--- /dev/null
+++ b/spss.test/resources/envDoc.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by My Name (My Company) -->
+<env:Document xmlns:env="http://uri.env.org">Text</env:Document>
diff --git a/spss.test/resources/hsmc.cer b/spss.test/resources/hsmc.cer
new file mode 100644
index 000000000..160390f35
--- /dev/null
+++ b/spss.test/resources/hsmc.cer
@@ -0,0 +1,13 @@
+-----BEGIN CERTIFICATE-----
+MIIB7zCCAVgCAQEwDQYJKoZIhvcNAQEFBQAwQDEVMBMGA1UEAxMMTU9BSFNNUlNB
+S0VZMQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTELMAkGA1UEBhMCQVQwHhcN
+MDMwNDA3MTQwNzM3WhcNMDQwNDA3MTQwNzM3WjBAMRUwEwYDVQQDEwxNT0FIU01S
+U0FLRVkxDDAKBgNVBAoTA0JSWjEMMAoGA1UECxMDTU9BMQswCQYDVQQGEwJBVDCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuQJeLj5quuES22ZlXY2W5C/JF/7a
+WZM/EBj2hZff3i66IQYe3272E9p1utzIGvY3AfAlW0sKiOhZUpOnvFlAn+Bl86J2
+kE/mQMgVHd4fxb3onCNA+x/x5BdYVdx35il6iQy9xE0kpc01CMrUMMy0+GMcz4OR
+ziJf0WHsi9JL1nECAwCYrzANBgkqhkiG9w0BAQUFAAOBgQCDpmYSMnkjfJ4JXwwc
+Y6eqqiDBexZeVwNLjjJxwf5md4ZRiewwfY3aydcA8ffjcUh4/5XXdn5y2S2n8JEg
+N2EuHHC+k/CE2JJJylkikltE+nawdfa6MukhQ0sPKjyJ+Nr2nXOwX6O2bveaTw9J
+E2+9uU+Tuf4VG9HEHEL+IaU2tA==
+-----END CERTIFICATE-----
diff --git a/spss.test/resources/init.properties b/spss.test/resources/init.properties
new file mode 100644
index 000000000..9ddde365e
--- /dev/null
+++ b/spss.test/resources/init.properties
@@ -0,0 +1,214 @@
+# IXSIL init properties
+#
+# This file contains the basic initialization properties for IXSIL.
+
+#----------------------------------------------------------------------------------------------------------
+# Properties for localizing exeption messages
+
+# This property specifies the ISO language code, which is used to select the appropriate exception message
+# file. Please see the documentation for Java class "java.util.RessourceBundle" for further information.
+
+IXSILException.ISOLanguageCode = "en"
+
+
+
+# This property specifies the ISO country code, which is used to select the appropriate exception message
+# file. Please see the documentation for Java class "java.util.RessourceBundle" for further information.
+
+IXSILException.ISOCountryCode = "US"
+
+
+#----------------------------------------------------------------------------------------------------------
+# Other property files
+
+# This property contains a URI specifying the (virtual) location of the IXSIL init properties file (i. e.
+# this file). The URI MUST be absolute.
+#
+# The use of this property is optional. It is only needed by IXSIL, if the library will be initialized using
+# the method IXSILInit.init(Properties, Properties, Properties). In this case it is used by IXSIL as the
+# base URI for absolutizing other property URIs, such as "DOMUtils.SignatureSchema" (see below).
+#
+# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an
+# authority component. This means that the part following the scheme identifier starts with "/"
+# (single slash character), and not with "//" (two slash characters).
+#
+# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/init.properties"
+# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/init.properties"
+# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/init.properties"
+
+location.initProperties = file:/z:/private/IXSIL/currentDevelopment/src/init/properties/init.properties
+
+
+
+# This property contains a URI specifying the location of the IXSIL algorithm properties file. The URI can
+# be absolute or relative. If a relative URI is used, it will be absolutized using this init property file's
+# URI as the base.
+#
+# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an
+# authority component. This means that the part following the scheme identifier starts with "/"
+# (single slash character), and not with "//" (two slash characters).
+#
+# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/algorithms.properties"
+# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/algorithms.properties"
+# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/algorithms.properties"
+# Example 4 (relative URI): "../otherpath/algorithms.properties"
+# Example 5 (relative URI): "algorithms.properties"
+
+location.algorithmsProperties = algorithms.properties
+
+
+
+# This property contains a URI specifying the location of the IXSIL keyManager properties file. The URI can
+# be absolute or relative. If a relative URI is used, it will be absolutized using this init property file's
+# URI as the base.
+#
+# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an
+# authority component. This means that the part following the scheme identifier starts with "/"
+# (single slash character), and not with "//" (two slash characters).
+#
+# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/keyManager.properties"
+# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/keyManager.properties"
+# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/keyManager.properties"
+# Example 4 (relative URI): "../otherpath/keyManager.properties"
+# Example 5 (relative URI): "keyManager.properties"
+
+location.keyManagerProperties = keyManager.properties
+
+
+
+#----------------------------------------------------------------------------------------------------------
+# AlgorithmFactory properties
+
+
+
+This property specifies the extension class for the abstract class
+iaik.ixsil.algorithms.AlgorithmFactory, which is instantiated at invokation of method
+iaik.ixsil.algorithms.AlgorithmFactory.createFactory().
+Please specifiy the fully qualified java class name for the class to be instantiated.
+
+AlgorithmFactory.ImplementingClass = iaik.ixsil.algorithms.AlgorithmFactoryDefaultImpl
+
+
+
+#----------------------------------------------------------------------------------------------------------
+# VerifierKeyManager properties
+
+# This property specifies the implementation class for the interface
+# iaik.ixsil.keyinfo.VerifierKeyManager, which is instantiated by IXSIL in the verification use case, if the
+# signature algorithm does not know about the verification key, and if the XML signature bears a KeyInfo
+# element which contains hints that can be used to deduce the verification key.
+# Please specifiy the fully qualified java class name for the class to be instantiated.
+
+VerifierKeyManager.ImplementingClass = iaik.ixsil.keyinfo.KeyManagerImpl
+
+
+
+#----------------------------------------------------------------------------------------------------------
+# XML namespace prefix properties
+
+# This property specifies the namespace prefix used for XML elements from the XML-Signature namespace.
+#
+# PLEASE NOTE: The prefix must not be empty.
+
+namespacePrefix.XMLSignature = dsig:
+
+
+
+# This property specifies the namespace prefix used for XML elements from the XML Schema instance namespace.
+#
+# PLEASE NOTE: The prefix must not be empty.
+
+namespacePrefix.XMLSchemaInstance = xsi:
+
+
+#----------------------------------------------------------------------------------------------------------
+# DOMUtils properties
+
+
+
+# This property specifies the implementation class IXSIL should use for the interface
+# iaik.ixsil.util.DOMUtilsInterface, which contains a couple of DOM utility methods, which IXSIL relies
+# on. If you would like to employ a parser different from Apache Xerces, you must implement the
+# DOMUtilsInterface and specify your implementation class using this property.
+# Please specifiy the fully qualified java class name for the class to be instantiated.
+
+DOMUtils.ImplementingClass = iaik.ixsil.util.DOMUtilsImpl
+
+
+
+# This property is used by the standard implementation class for the interface
+# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL.
+# It specifies, wheter WARNINGS generated by the Apache Xerces parser should lead to a parser exception
+# or not.
+
+DOMUtils.ErrorHandler.reportWarnings = true
+
+
+
+# This property is used by the standard implementation class for the interface
+# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL.
+# It specifies, wheter ERRORS generated by the Apache Xerces parser should lead to a parser exception
+# or not.
+
+DOMUtils.ErrorHandler.reportErrors = true
+
+
+
+# This property is used by the standard implementation class for the interface
+# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL.
+# It specifies, wheter FATAL ERRORS generated by the Apache Xerces parser should lead to a parser
+# exception or not.
+
+DOMUtils.ErrorHandler.reportFatalErrors = true
+
+
+
+# This property is used by the standard implementation class for the interface
+# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL.
+# It specifies an URI for the location of the XML schema for an XML signature, which is used as the
+# reference grammar in method iaik.ixsil.util.DOMUtilsImpl.schemaValidateSignatureElement.
+# The URI can be absolute or relative. If the URI is relative, it will be absolutized using the URI for
+# this init property file as the base.
+
+DOMUtils.SignatureSchema = ../schemas/Signature.xsd
+
+
+
+#----------------------------------------------------------------------------------------------------------
+# XPathUtils properties
+
+# This property specifies the implementation class IXSIL should use for the interface
+# iaik.ixsil.util.XPathUtilsInterface, which contains a couple of XPath utility methods, which IXSIL relies
+# on. If you would like to employ a XPath engine different from Apache Xalan, you must implement the
+# XPathUtilsInterface and specify your implementation class using this property.
+# Please specifiy the fully qualified java class name for the class to be instantiated.
+
+XPathUtils.ImplementingClass = iaik.ixsil.util.XPathUtilsImpl
+
+
+
+#----------------------------------------------------------------------------------------------------------
+# CanonicalXMLSerializer properties
+
+
+
+# This property specifies the implementation class IXSIL should use for the interface
+# iaik.ixsil.util.CanonicalXMLSerialierInterface. IXSIL relies on this interface to serialize XML according
+# to "Canonical XML" (see http://www.w3.org/TR/2001/REC-xml-c14n-20010315). If you would like to employ an
+# implemenation different from the standard implementation shipped with IXSIL, you must implement the
+# CanonicalXMLSerialierInterface and specify your implementation class using this property.
+# Please specifiy the fully qualified java class name for the class to be instantiated.
+
+CanonicalXMLSerializer.CanonicalXMLImplementingClass = iaik.ixsil.util.CanonicalXMLSerializerImpl
+
+
+
+# This property specifies the implementation class IXSIL should use for the interface
+# iaik.ixsil.util.ExclusiveCanonicalXMLSerialierInterface. IXSIL relies on this interface to serialize XML
+# according to "Exclusive XML Canonicalization" (see http://www.w3.org/TR/2001/WD-xml-exc-c14n-20011120).
+# If you would like to employ an implemenation different from the standard implementation shipped with
+# IXSIL, you must implement the ExclusiveCanonicalXMLSerialierInterface and specify your implementation
+# class using this property.
+# Please specifiy the fully qualified java class name for the class to be instantiated.
+
+CanonicalXMLSerializer.ExclusiveCanonicalXMLImplementingClass = iaik.ixsil.util.CanonicalXMLSerializerImpl
diff --git a/spss.test/resources/keyManager.properties b/spss.test/resources/keyManager.properties
new file mode 100644
index 000000000..24ece437a
--- /dev/null
+++ b/spss.test/resources/keyManager.properties
@@ -0,0 +1,74 @@
+# IXSIL algorithm properties
+#
+# This file contains the properties which IXSIL uses in context of key management.
+
+
+
+#----------------------------------------------------------------------------------------------------------
+#
+# The following properties are associations between the fully qualified XMLname of a "KeyInfo" subelement,
+# as used in an XML signature to specify hints how the verifier can obtain the verification key, and that
+# implementation class of the interface iaik.ixsil.keyinfo.KeyProviderInterface, which will manage
+# subelements of that type.
+#
+# These properties are only of interest, if you are using the standard key manager shipped with IXISL
+# (which is class iaik.ixsil.keyInfo.KeyManagerImpl).
+#
+# For instance, if you would like to specify the key provider implementation for "KeyValue" subelements,
+# the property name is the fully qualified XML name for the "KeyValue" element, namely
+# "http://www.w3.org/2000/09/xmldsig#:KeyValue". The value of the property is the fully qualified class
+# name of the key provider implementation class, for instance the standard implementation which ships with
+# IXSIL: "iaik.ixsil.keyinfo.KeyProviderImplKeyValue".
+#
+# PLEASE NOTE (I): A fully qualified name for an XML element consists of an URI indicating the namespace the
+# element belongs to (e.g. "http://www.w3.org/2000/09/xmldsig#") and the local name of the
+# element (e.g. "KeyValue"). Both components are seperated by a colon.
+#
+# PLEASE NOTE (II): The colon character (":") must be escaped by a leading backslash, if it appears in the
+# property name.
+
+http\://www.w3.org/2000/09/xmldsig#\:KeyValue = iaik.ixsil.keyinfo.KeyProviderImplKeyValue
+http\://www.w3.org/2000/09/xmldsig#\:X509Data = iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data
+http\://www.w3.org/2000/09/xmldsig#\:RetrievalMethod = iaik.ixsil.keyinfo.retrieval.KeyProviderImplRetrievalMethod
+
+
+
+#----------------------------------------------------------------------------------------------------------
+#
+# The following properties specify the order in which the different types of "KeyInfo" subelements are used
+# by the key manager to deduce the verification key.
+#
+# These properties are only of interest, if you are using the standard key manager shipped with IXISL
+# (which is class iaik.ixsil.keyInfo.KeyManagerImpl).
+#
+# The properties are associations between a two digit number and the fully qualified XML name of a "KeyInfo"
+# subelement. The lower the number, the more important is the associated "KeyInfo" sublement. Consider an
+# example configuration:
+#
+# Subelement.01 = http://www.w3.org/2000/09/xmldsig#:KeyValue
+# Subelement.02 = http://www.w3.org/2000/09/xmldsig#:X509Data
+#
+# In this configuration, the key manager first tries to use "KeyValue" subelements to deduce the
+# verification key. Only if this does not succeed, the key manager uses "X509Data" subelements as a second
+# chance. Of course you can specify more than only two different subelement types.
+#
+# PLEASE NOTE: A fully qualified name for an XML element consists of an URI indicating the namespace the
+# element belongs to (e.g. "http://www.w3.org/2000/09/xmldsig#") and the local name of the
+# element (e.g. "KeyValue"). Both components are seperated by a colon.
+
+Subelement.01 = http://www.w3.org/2000/09/xmldsig#:KeyValue
+Subelement.02 = http://www.w3.org/2000/09/xmldsig#:X509Data
+Subelement.03 = http://www.w3.org/2000/09/xmldsig#:RetrievalMethod
+
+
+
+#----------------------------------------------------------------------------------------------------------
+#
+# The following property is used by standard implementation of the "X509Data" key provider, which ships
+# with IXSIL, namely "KeyProviderImplX509Data". It specifies the implementation class for the interface
+# iaik.ixsil.keyinfo.x509.X509TrustManagerInterface, which is to be instantiated as the backbone trust
+# manager for this key provider.
+# Please specifiy the fully qualified java class name for the class to be instantiated.
+
+KeyProviderImplX509Data.X509TrustManagerDefaultImplementingClass = iaik.ixsil.keyinfo.x509.X509TrustManagerDummyImpl
+
diff --git a/spss.test/resources/moahsm.cer b/spss.test/resources/moahsm.cer
new file mode 100644
index 000000000..de5344831
--- /dev/null
+++ b/spss.test/resources/moahsm.cer
@@ -0,0 +1,13 @@
+-----BEGIN CERTIFICATE-----
+MIIB7zCCAVgCAQEwDQYJKoZIhvcNAQEFBQAwQDEVMBMGA1UEAxMMTU9BSFNNUlNB
+S0VZMQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTELMAkGA1UEBhMCQVQwHhcN
+MDMwNDA3MTEwNjQwWhcNMDQwNDA3MTEwNjQwWjBAMRUwEwYDVQQDEwxNT0FIU01S
+U0FLRVkxDDAKBgNVBAoTA0JSWjEMMAoGA1UECxMDTU9BMQswCQYDVQQGEwJBVDCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxPZDjDQYbVNdkccATQb7L9LhinBw
+v7rq0RxUfmuWQPOy3GPfitIBDbomx7I26Hr7111ZIA8HHuuLft50vLqOoDgW4CHw
+nlmzBfjstf7SpHRODzVJhe4EJCoZX7OcaENU+1ibUHjDabWUEHSSho/vWjkp5o3F
+Rg94K3Edxw3j9U0CAwDmKTANBgkqhkiG9w0BAQUFAAOBgQC4EV2TaeYygxD8xVBk
+kVQu210r4zzKcBIsFSJZTO99KVF4CBRt7aMHd7dz604/Ozxc9MoPb+r/8MAylgfi
+V1ifHtY6OVMzPYTRDBdskp8dhPVxdBzhW4OhVP6EnAEv4NcbAyxu0aZSU632j0WL
+ik7/EJQ/UeGKgaHgf4ZeaXEHZw==
+-----END CERTIFICATE-----
diff --git a/spss.test/resources/schemas/testDocument.schema.xsd b/spss.test/resources/schemas/testDocument.schema.xsd
new file mode 100644
index 000000000..bb1e1b011
--- /dev/null
+++ b/spss.test/resources/schemas/testDocument.schema.xsd
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Schema fuer testDocument.xml
+-->
+<xsd:schema targetNamespace="http://uri.data.org" xmlns="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" id="tollesSchema">
+ <xsd:element name="Document">
+ <xsd:complexType mixed="true">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ <xsd:attribute name="attr" type="xsd:ID" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
diff --git a/spss.test/resources/sicher-demo(buergerkarte).p12 b/spss.test/resources/sicher-demo(buergerkarte).p12
new file mode 100644
index 000000000..efaeb9b98
--- /dev/null
+++ b/spss.test/resources/sicher-demo(buergerkarte).p12
Binary files differ
diff --git a/spss.test/resources/sicher-demo.der b/spss.test/resources/sicher-demo.der
new file mode 100644
index 000000000..46268923a
--- /dev/null
+++ b/spss.test/resources/sicher-demo.der
Binary files differ
diff --git a/spss.test/resources/sl2002mmdd.ecard.normal.p12 b/spss.test/resources/sl2002mmdd.ecard.normal.p12
new file mode 100644
index 000000000..36d9eb4d8
--- /dev/null
+++ b/spss.test/resources/sl2002mmdd.ecard.normal.p12
Binary files differ
diff --git a/spss.test/resources/sl2002mmdd.ecard.sicher.p12 b/spss.test/resources/sl2002mmdd.ecard.sicher.p12
new file mode 100644
index 000000000..21ef7803c
--- /dev/null
+++ b/spss.test/resources/sl2002mmdd.ecard.sicher.p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/MOA-SPSS-Configuration.xml b/spss.test/resources/spss.configuration/MOA-SPSS-Configuration.xml
new file mode 100644
index 000000000..85efb9413
--- /dev/null
+++ b/spss.test/resources/spss.configuration/MOA-SPSS-Configuration.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:moa-spss="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+ <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <GenericConfiguration name="autoAddCertificates" value="true"/>
+ <GenericConfiguration name="useAuthorityInfoAccess" value="true"/>
+ <GenericConfiguration name="maxRevocationAge" value="0"/>
+ <GenericConfiguration name="DirectoryCertStoreParameters.RootDir" value="aValidPathName"/>
+ <GenericConfiguration name="checkRevocation" value="false"/>
+ <GenericConfiguration name="archiveRevocationInfo" value="false"/>
+ <!-- <GenericConfiguration name="DataBaseArchiveParameter.JDBCUrl" value="jdbc:postgresql://10.16.46.108/moa?user=moa&amp;password=moatest"/> -->
+ <GenericConfiguration name="test.SigningTime" value="2003-05-10T01:01:01+01:00"/>
+ <!--
+ <HardwareCryptoModule name="validPathToPKCS11Lib" slotID="validSlotID" userPIN="validPIN"/>
+ <HardwareKeyModule name="validPathToPKCS11Lib" slotID="validSlotID" userPIN="validPIN"/>
+ -->
+
+ <!-- <HardwareKeyModule id="MOAHSM" name="cryptoki.dll" slotID="0" userPIN="1111"/> -->
+
+ <SoftwareKeyModule id="SWKeyModule1" filename="keys/test-ee2003_normal(buergerkarte).p12" password="buergerkarte"/>
+ <SoftwareKeyModule id="SWKeyModule2" filename="keys/normal-eeExpired.p12" password=""/>
+ <SoftwareKeyModule id="SWKeyModule3" filename="keys/ecc(ego).p12" password="ego"/>
+ <SoftwareKeyModule id="SWKeyModule4" filename="keys/DSA.512.p12" password="topSecret"/>
+ <SoftwareKeyModule id="SWKeyModule5" filename="keys/test-ee2003_normal_verw_oid.p12" password="buergerkarte"/>
+ <!-- <KeyGroup id="MOAHSMRSAKEY">
+ <Key>
+ <KeyModuleID>MOAHSM</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>C=AT,OU=MOA,O=BRZ,CN=MOAHSMRSAKEY</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ </KeyGroup> -->
+ <KeyGroup id="PKCS12RSAKey1">
+ <!--PKCS12RSAKey1 maps to test-ee2003_normal(buergerkarte).p12-->
+ <Key>
+ <KeyModuleID>SWKeyModule1</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ </KeyGroup>
+ <KeyGroup id="PKCS12RSAKeyNotAllowed">
+ <!--PKCS12RSAKey1 maps to test-ee2003_normal(buergerkarte).p12-->
+ <Key>
+ <KeyModuleID>SWKeyModule1</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ </KeyGroup>
+ <KeyGroup id="PKCS12RSAKeyExpired">
+ <!--PKCS12RSAKey1 maps to sicher-demo(buergerkarte).p12-->
+ <Key>
+ <KeyModuleID>SWKeyModule2</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>10</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ </KeyGroup>
+ <KeyGroup id="PKCS12ECDSAKey1">
+ <!--PKCS12ECDSAKey1 maps to ecc(ego).p12-->
+ <Key>
+ <KeyModuleID>SWKeyModule3</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>68172</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ </KeyGroup>
+ <KeyGroup id="DSAinPKCS12">
+ <!--DSAinPKCS12 maps to DSA.512.p12-->
+ <Key>
+ <KeyModuleID>SWKeyModule4</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK DSA Test CA,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>761791</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ </KeyGroup>
+ <KeyGroup id="VKTRUE">
+ <Key>
+ <KeyModuleID>SWKeyModule5</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1050061309775</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ </KeyGroup>
+ <KeyGroup id="allKeys">
+ <Key>
+ <KeyModuleID>SWKeyModule1</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ <Key>
+ <KeyModuleID>SWKeyModule2</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ <Key>
+ <KeyModuleID>SWKeyModule3</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>68172</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ <Key>
+ <KeyModuleID>SWKeyModule4</KeyModuleID>
+ <KeyCertIssuerSerial>
+ <dsig:X509IssuerName>CN=IAIK DSA Test CA,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>761791</dsig:X509SerialNumber>
+ </KeyCertIssuerSerial>
+ </Key>
+ </KeyGroup>
+ <KeyGroupMapping>
+ <KeyGroup id="PKCS12RSAKey1"/>
+ <KeyGroup id="PKCS12RSAKeyExpired"/>
+ <KeyGroup id="PKCS12ECDSAKey1"/>
+ <KeyGroup id="DSAinPKCS12"/>
+ <KeyGroup id="VKTRUE"/>
+ </KeyGroupMapping>
+ <KeyGroupMapping>
+ <X509IssuerSerial>
+ <dsig:X509IssuerName>CN=TestUser,OU=MOA,O=BRZ,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>12345678</dsig:X509SerialNumber>
+ </X509IssuerSerial>
+ <KeyGroup id="allKeys"/>
+ </KeyGroupMapping>
+ <KeyGroupMapping>
+ <X509IssuerSerial>
+ <dsig:X509IssuerName>CN=TestUser,OU=MOA,O=BRZ,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>12345678</dsig:X509SerialNumber>
+ </X509IssuerSerial>
+ <KeyGroup id="PKCS12RSAKeyNotAllowed"/>
+ </KeyGroupMapping>
+ <KeyGroupMapping>
+ <X509IssuerSerial>
+ <dsig:X509IssuerName>CN=moa-client, OU=MOA, O=BRZ, C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>1056980085</dsig:X509SerialNumber>
+ </X509IssuerSerial>
+ <KeyGroup id="PKCS12RSAKey1"/>
+ </KeyGroupMapping>
+
+ <ChainingModes systemDefaultMode="pkix">
+ <TrustAnchor mode="chaining">
+ <dsig:X509IssuerName>CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>536</dsig:X509SerialNumber>
+ </TrustAnchor>
+ </ChainingModes>
+ <CRLArchive duration="365"/>
+ <CRLDistributionPoint>
+ <CAIssuerDN>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</CAIssuerDN>
+ <DistributionPoint uri="http://www.iaik.at/testCA/iaik_test_sig.crl"/>
+ </CRLDistributionPoint>
+ <CRLDistributionPoint>
+ <CAIssuerDN>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</CAIssuerDN>
+ <DistributionPoint reasonCodes="keyCompromise affiliationChanged" uri="http://www.iaik.at/testCA/iaik_test_sig.crl"/>
+ <DistributionPoint reasonCodes="certificateHold" uri="http://www.iaik.at/testCA/iaik_test_sig.crl"/>
+ </CRLDistributionPoint>
+ <CreateTransformsInfoProfile id="CreateTransformsInfoProfile1" filename="profiles/CX1_bookprofile.xsl"/>
+ <CreateSignatureEnvironmentProfile id="CreateSignatureEnvironmentProfile1" filename="profiles/CSEP.xml"/>
+ <VerifyTransformsInfoProfile id="TransformsInfoProfile1" filename="profiles/TransformsInfoProfile1.xml"/>
+ <VerifyTransformsInfoProfile id="TransformsInfoProfile2" filename="profiles/TransformsInfoProfile2.xml"/>
+ <VerifyTransformsInfoProfile id="TransformsInfoProfile1MOAID" filename="profiles/TransformsInfoProfile1MOAID.xml"/>
+ <SupplementProfile id="SupplementProfile1" filename="profiles/SupplementProfile1.xml"/>
+ <SupplementProfile id="SupplementProfile2" filename="profiles/SupplementProfile2.xml"/>
+ <TrustProfile id="TrustProfile1" uri="profiles/TrustProfile1"/>
+</MOAConfiguration>
diff --git a/spss.test/resources/spss.configuration/keys/DSA.1024.p12 b/spss.test/resources/spss.configuration/keys/DSA.1024.p12
new file mode 100644
index 000000000..e180e607d
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/DSA.1024.p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/keys/DSA.512.p12 b/spss.test/resources/spss.configuration/keys/DSA.512.p12
new file mode 100644
index 000000000..8f7a201ac
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/DSA.512.p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/keys/Max_Mustermann (max).p12 b/spss.test/resources/spss.configuration/keys/Max_Mustermann (max).p12
new file mode 100644
index 000000000..b18a842e2
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/Max_Mustermann (max).p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/keys/ecc(ego).p12 b/spss.test/resources/spss.configuration/keys/ecc(ego).p12
new file mode 100644
index 000000000..f84e793c5
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/ecc(ego).p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/keys/ecc.p12 b/spss.test/resources/spss.configuration/keys/ecc.p12
new file mode 100644
index 000000000..f84e793c5
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/ecc.p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/keys/sicher-demo(buergerkarte).p12 b/spss.test/resources/spss.configuration/keys/sicher-demo(buergerkarte).p12
new file mode 100644
index 000000000..efaeb9b98
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/sicher-demo(buergerkarte).p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.normal.p12 b/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.normal.p12
new file mode 100644
index 000000000..36d9eb4d8
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.normal.p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.sicher.p12 b/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.sicher.p12
new file mode 100644
index 000000000..21ef7803c
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.sicher.p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/keys/test-ee2003_normal(buergerkarte).p12 b/spss.test/resources/spss.configuration/keys/test-ee2003_normal(buergerkarte).p12
new file mode 100644
index 000000000..efaeb9b98
--- /dev/null
+++ b/spss.test/resources/spss.configuration/keys/test-ee2003_normal(buergerkarte).p12
Binary files differ
diff --git a/spss.test/resources/spss.configuration/profiles/CSEP.xml b/spss.test/resources/spss.configuration/profiles/CSEP.xml
new file mode 100644
index 000000000..326dbc6a0
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/CSEP.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Stephan G (Comp) -->
+<CreateSignatureEnvironmentProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <CreateSignatureLocation Index="0" xmlns:data="http://uri.data.org">//data:Document</CreateSignatureLocation>
+</CreateSignatureEnvironmentProfile>
diff --git a/spss.test/resources/spss.configuration/profiles/CX1_bookprofile.xsl b/spss.test/resources/spss.configuration/profiles/CX1_bookprofile.xsl
new file mode 100644
index 000000000..ca41d793f
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/CX1_bookprofile.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><CreateTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><CreateTransformsInfo><dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile> \ No newline at end of file
diff --git a/spss.test/resources/spss.configuration/profiles/SupplementProfile1.xml b/spss.test/resources/spss.configuration/profiles/SupplementProfile1.xml
new file mode 100644
index 000000000..02b1c6373
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/SupplementProfile1.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Stephan G (Comp) -->
+<SupplementProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <Content Reference="file:/C:/Daten/MOAPhase2/TestDatenGenerator2/resources/testDaten.txt">
+ <XMLContent>Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus</XMLContent>
+ </Content>
+</SupplementProfile>
diff --git a/spss.test/resources/spss.configuration/profiles/SupplementProfile2.xml b/spss.test/resources/spss.configuration/profiles/SupplementProfile2.xml
new file mode 100644
index 000000000..7f84eb822
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/SupplementProfile2.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Stephan G (Comp) -->
+<SupplementProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <Content Reference="file:/C:/Daten/MOAPhase2/TestDatenGenerator2/resources/testXML.txt">
+ <Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K
+CVRlc3QNCjwvSHVnbz4=</Base64Content>
+ </Content>
+</SupplementProfile>
diff --git a/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1.xml b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1.xml
new file mode 100644
index 000000000..c0b7d596f
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBpbmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxuczpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVjaDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9EWT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile> \ No newline at end of file
diff --git a/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1MOAID.xml b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1MOAID.xml
new file mode 100644
index 000000000..f973ac7e9
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1MOAID.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+<dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml">
+<html>
+<body>
+Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:
+<br/>
+<table border="1">
+<tr><td><b>Name:</b></td><td><xsl:value-of select="//@Issuer"/></td></tr>
+<tr><td><b>Zeit:</b></td><td><xsl:value-of select="//@IssueInstant"/></td></tr>
+<tr><td><b>Applikation:</b></td><td><xsl:value-of select="//saml:Attribute[@AttributeName=&apos;OA&apos;]/saml:AttributeValue"/></td></tr>
+<tr><td><b>Geschäftsbereich:</b></td><td><xsl:value-of select="//saml:Attribute[@AttributeName=&apos;Gesch&#228;ftsbereich&apos;]/saml:AttributeValue"/></td></tr>
+<tr><td><b>Anmeldeserver:</b></td><td><xsl:value-of select="//saml:NameIdentifier"/></td></tr>
+</table>
+</body>
+</html>
+</xsl:template>
+</xsl:stylesheet></dsig:Transform></dsig:Transforms></VerifyTransformsInfoProfile>
diff --git a/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2.xml b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2.xml
new file mode 100644
index 000000000..12d6bc28b
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
+ </dsig:Transforms>
+</VerifyTransformsInfoProfile>
diff --git a/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2MOAID.xml b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2MOAID.xml
new file mode 100644
index 000000000..dc4a97716
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2MOAID.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Jack (-none-) -->
+<VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="intersect" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id(&apos;refetsi&apos;)/etsi:QualifyingProperties/etsi:SignedProperties</xf2:XPath></dsig:Transform></dsig:Transforms></VerifyTransformsInfoProfile>
diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRoot.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRoot.cer
new file mode 100644
index 000000000..c0c60558a
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRoot.cer
Binary files differ
diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRootMusterbehörde.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRootMusterbehörde.cer
new file mode 100644
index 000000000..21dc972b9
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRootMusterbehörde.cer
Binary files differ
diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/Max_Mustermann.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/Max_Mustermann.cer
new file mode 100644
index 000000000..b5b39633d
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/Max_Mustermann.cer
Binary files differ
diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer
new file mode 100644
index 000000000..fc5bd433b
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer
Binary files differ
diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-nQual-01.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-nQual-01.cer
new file mode 100644
index 000000000..84518a6a8
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-nQual-01.cer
Binary files differ
diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/ecdsa_root_cert.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/ecdsa_root_cert.cer
new file mode 100644
index 000000000..dac166e9a
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/ecdsa_root_cert.cer
Binary files differ
diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/test-ee2003_normal.der b/spss.test/resources/spss.configuration/profiles/TrustProfile1/test-ee2003_normal.der
new file mode 100644
index 000000000..46268923a
--- /dev/null
+++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/test-ee2003_normal.der
Binary files differ
diff --git a/spss.test/resources/stylesheets/book.notavailable.xsl b/spss.test/resources/stylesheets/book.notavailable.xsl
new file mode 100644
index 000000000..b484b9583
--- /dev/null
+++ b/spss.test/resources/stylesheets/book.notavailable.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="data:book" xmlns:data="http://uri.data.org"><HTML><BODY><H1>Buch: <xsl:value-of select="data:title"/></H1></BODY></HTML></xsl:template></xsl:stylesheet> \ No newline at end of file
diff --git a/spss.test/resources/stylesheets/book.xsl b/spss.test/resources/stylesheets/book.xsl
new file mode 100644
index 000000000..e475b0d56
--- /dev/null
+++ b/spss.test/resources/stylesheets/book.xsl
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:output method="html" indent="no"/>
+ <xsl:template match="data:book" xmlns:data="http://uri.data.org">
+ <HTML>
+ <BODY>
+ <H1>Buch: <xsl:value-of select="data:title"/>
+ </H1>
+ </BODY>
+ </HTML>
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/spss.test/resources/stylesheets/ref.book.notavailable.xsl b/spss.test/resources/stylesheets/ref.book.notavailable.xsl
new file mode 100644
index 000000000..72c9a738b
--- /dev/null
+++ b/spss.test/resources/stylesheets/ref.book.notavailable.xsl
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.notavailable.xsl"/></xsl:stylesheet> \ No newline at end of file
diff --git a/spss.test/resources/sven.cer b/spss.test/resources/sven.cer
new file mode 100644
index 000000000..5a4e25c58
--- /dev/null
+++ b/spss.test/resources/sven.cer
Binary files differ
diff --git a/spss.test/resources/sven.keystore b/spss.test/resources/sven.keystore
new file mode 100644
index 000000000..1459a7bc4
--- /dev/null
+++ b/spss.test/resources/sven.keystore
Binary files differ
diff --git a/spss.test/resources/sven_tomcat-client.cer b/spss.test/resources/sven_tomcat-client.cer
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/spss.test/resources/sven_tomcat-client.cer
diff --git a/spss.test/resources/test-ee2003_normal(buergerkarte).p12 b/spss.test/resources/test-ee2003_normal(buergerkarte).p12
new file mode 100644
index 000000000..efaeb9b98
--- /dev/null
+++ b/spss.test/resources/test-ee2003_normal(buergerkarte).p12
Binary files differ
diff --git a/spss.test/resources/test-ee2003_normal.der b/spss.test/resources/test-ee2003_normal.der
new file mode 100644
index 000000000..46268923a
--- /dev/null
+++ b/spss.test/resources/test-ee2003_normal.der
Binary files differ
diff --git a/spss.test/resources/test-ee2003_normal.derbase64.enc b/spss.test/resources/test-ee2003_normal.derbase64.enc
new file mode 100644
index 000000000..8e5524084
--- /dev/null
+++ b/spss.test/resources/test-ee2003_normal.derbase64.enc
@@ -0,0 +1,21 @@
+MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 \ No newline at end of file
diff --git a/spss.test/resources/test-ee2003_normal_extract.cer b/spss.test/resources/test-ee2003_normal_extract.cer
new file mode 100644
index 000000000..1cdc15c6e
--- /dev/null
+++ b/spss.test/resources/test-ee2003_normal_extract.cer
Binary files differ
diff --git a/spss.test/resources/testBase64.txt b/spss.test/resources/testBase64.txt
new file mode 100644
index 000000000..8c19b15ac
--- /dev/null
+++ b/spss.test/resources/testBase64.txt
@@ -0,0 +1 @@
+RGllcyBzaW5kIFRlc3RkYXRlbg== \ No newline at end of file
diff --git a/spss.test/resources/testDaten.txt b/spss.test/resources/testDaten.txt
new file mode 100644
index 000000000..2602728cd
--- /dev/null
+++ b/spss.test/resources/testDaten.txt
@@ -0,0 +1,4 @@
+Dies sind Testdaten
+2. Zeile
+3. Zeile
+aus \ No newline at end of file
diff --git a/spss.test/resources/testDaten.txtbase64.enc b/spss.test/resources/testDaten.txtbase64.enc
new file mode 100644
index 000000000..d95a88a82
--- /dev/null
+++ b/spss.test/resources/testDaten.txtbase64.enc
@@ -0,0 +1 @@
+RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= \ No newline at end of file
diff --git a/spss.test/resources/testDocument.xml b/spss.test/resources/testDocument.xml
new file mode 100644
index 000000000..35b12a626
--- /dev/null
+++ b/spss.test/resources/testDocument.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document>
diff --git a/spss.test/resources/testDocument.xmlbase64.enc b/spss.test/resources/testDocument.xmlbase64.enc
new file mode 100644
index 000000000..6b787d695
--- /dev/null
+++ b/spss.test/resources/testDocument.xmlbase64.enc
@@ -0,0 +1,3 @@
+PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NPGRhdGE6RG9j
+dW1lbnQgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+RGllcyBzaW5k
+IFRlc3RkYXRlbjwvZGF0YTpEb2N1bWVudD4N \ No newline at end of file
diff --git a/spss.test/resources/testSimple.txt b/spss.test/resources/testSimple.txt
new file mode 100644
index 000000000..76d2fc51a
--- /dev/null
+++ b/spss.test/resources/testSimple.txt
@@ -0,0 +1 @@
+Dies sind Testdaten \ No newline at end of file
diff --git a/spss.test/resources/testSimple.txtbase64.enc b/spss.test/resources/testSimple.txtbase64.enc
new file mode 100644
index 000000000..8c19b15ac
--- /dev/null
+++ b/spss.test/resources/testSimple.txtbase64.enc
@@ -0,0 +1 @@
+RGllcyBzaW5kIFRlc3RkYXRlbg== \ No newline at end of file
diff --git a/spss.test/resources/testUTF8.txt b/spss.test/resources/testUTF8.txt
new file mode 100644
index 000000000..0468fc597
--- /dev/null
+++ b/spss.test/resources/testUTF8.txt
@@ -0,0 +1 @@
+Dies sind Testdaten mit Umlauten :) öäüÖÄÜ \ No newline at end of file
diff --git a/spss.test/resources/testXML.txt b/spss.test/resources/testXML.txt
new file mode 100644
index 000000000..8d4d6371b
--- /dev/null
+++ b/spss.test/resources/testXML.txt
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Hugo>
+ Test
+</Hugo> \ No newline at end of file
diff --git a/spss.test/resources/testXML.txtbase64.enc b/spss.test/resources/testXML.txtbase64.enc
new file mode 100644
index 000000000..344a8b5f4
--- /dev/null
+++ b/spss.test/resources/testXML.txtbase64.enc
@@ -0,0 +1,2 @@
+PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K
+CVRlc3QNCjwvSHVnbz4= \ No newline at end of file
diff --git a/spss.test/resources/test_w_canonicalisation.XML b/spss.test/resources/test_w_canonicalisation.XML
new file mode 100644
index 000000000..103c81656
--- /dev/null
+++ b/spss.test/resources/test_w_canonicalisation.XML
@@ -0,0 +1,3 @@
+<Hugo a="Testa" b="Testb">
+ Test
+</Hugo> \ No newline at end of file
diff --git a/spss.test/resources/test_wo_canonicalisation.XML b/spss.test/resources/test_wo_canonicalisation.XML
new file mode 100644
index 000000000..bab75c60a
--- /dev/null
+++ b/spss.test/resources/test_wo_canonicalisation.XML
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--1st Comment-->
+<n1:Elem1 b="Testb" a="Testa" xmlns:n0="foo:bar"
+ xmlns:n3="ftp://example.org"
+ xmlns:n1="http://example.net"
+ xml:lang="en">
+ Test<!--2nd Comment-->
+ <n3:Elem2></n3:Elem2>
+</n1:Elem1> \ No newline at end of file
diff --git a/spss.test/resources/test_wo_canonicalisation.XMLbase64.enc b/spss.test/resources/test_wo_canonicalisation.XMLbase64.enc
new file mode 100644
index 000000000..3092f03a3
--- /dev/null
+++ b/spss.test/resources/test_wo_canonicalisation.XMLbase64.enc
@@ -0,0 +1,7 @@
+PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0xc3Qg
+Q29tbWVudC0tPg0KPG4xOkVsZW0xIGI9IlRlc3RiIiBhPSJUZXN0YSIgeG1sbnM6
+bjA9ImZvbzpiYXIiDQogICAgICAgICAgICAgeG1sbnM6bjM9ImZ0cDovL2V4YW1w
+bGUub3JnIg0KICAgICAgICAgICAgIHhtbG5zOm4xPSJodHRwOi8vZXhhbXBsZS5u
+ZXQiICAgICAgICAgICAgIA0KICAgICAgICAgICAgIHhtbDpsYW5nPSJlbiI+DQoJ
+VGVzdDwhLS0ybmQgQ29tbWVudC0tPg0KICAgIDxuMzpFbGVtMj48L24zOkVsZW0y
+Pg0KPC9uMTpFbGVtMT4= \ No newline at end of file
diff --git a/spss.test/resources/tests.cer.b64 b/spss.test/resources/tests.cer.b64
new file mode 100644
index 000000000..bfeaef211
--- /dev/null
+++ b/spss.test/resources/tests.cer.b64
@@ -0,0 +1,27 @@
+MIIFATCCA+mgAwIBAgIhAhwR8xTUcaXE7HgcD8c+QYmLc0zRndEVZObhTgPrAgFz
+MA0GCSqGSIb3DQEBBQUAMDYxITAfBgNVBAsTGEJ1bmRlc3JlY2hlbnplbnRydW0g
+R21iSDERMA8GA1UEChMIQlJaLVRSRUUwHhcNMDIwOTI0MDkxNzAwWhcNMzYwMjAz
+MjM1OTAwWjAsMREwDwYDVQQKEwhCUlotVFJFRTEXMBUGA1UEAxMOeW9kYS5icnou
+Z3YuYXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDzt+VkHC6ORpSS
+spmCRF1lMMcO1XOx44AynG8nD63U18SYM/enmlZO7D6KbtGvOooemqtcAmXq9V0U
+VZa/vSlLxPieW5CmATAAPitohHuDyWbe9Sya1jbdRuxPDiFMlqdDcdfprvixHCe0
+URA+bmf6Jq1DydurZeQ2BLotNEiL8A4Fdw9GhLEpE62uCKYV6MkPp3a/JCoper8M
+MttEsr4J6sY1W+6dkNswKJxhj7Ybmj3MN950eeuJVqIKEoBlYYhtcZlo/u1t8+xb
+MsyUxb8F/ZyExa7tPOd11XDNQUP304E7I8JIpdB6TmugdnUNPGmJqSTV9cJ56hLm
+8AqvoO3JAgMBAAGjggICMIIB/jAfBgNVHSMEGDAWgBR5hSIJwO/mDBSDlc4rL8Kn
+BlTc+TALBgNVHQ8EBAMCBaAwggHMBgtghkgBhvg3AQkEAQSCAbswggG3BAIBAAEB
+/xMdTm92ZWxsIFNlY3VyaXR5IEF0dHJpYnV0ZSh0bSkWQ2h0dHA6Ly9kZXZlbG9w
+ZXIubm92ZWxsLmNvbS9yZXBvc2l0b3J5L2F0dHJpYnV0ZXMvY2VydGF0dHJzX3Yx
+MC5odG0wggFIoBoBAQAwCDAGAgEBAgFGMAgwBgIBAQIBCgIBaaEaAQEAMAgwBgIB
+AQIBRjAIMAYCAQECAQoCAWmiBgIBFwEB/6OCAQSgWAIBAgICAP8CAQADDQCAAAAA
+AAAAAAAAAAADCQCAAAAAAAAAADAYMBACAQACCH//////////AQEAAgQG8N9IMBgw
+EAIBAAIIf/////////8BAQACBAbw30ihWAIBAgICAP8CAQADDQBAAAAAAAAAAAAA
+AAADCQBAAAAAAAAAADAYMBACAQACCH//////////AQEAAgQR8xTUMBgwEAIBAAII
+f/////////8BAQACBBHzFNSiTjBMAgECAgEAAgIA/wMNAIAAAAAAAAAAAAAAAAMJ
+AIAAAAAAAAAAMBIwEAIBAAIIf/////////8BAQAwEjAQAgEAAgh//////////wEB
+ADANBgkqhkiG9w0BAQUFAAOCAQEAB0U7LjxW6s/bAUR/XTVZTTS8inUZDb6OhmZJ
+MRT3rO0pz2ay1T/ijLnQcWn//7fqrAktHr05qOYEjzCmSAFQg5dqqdwAwf60VjmL
+jlZNIosumvhYY18HWkJet7tt0lNeFJKNwxr+ed2maESM333o4jytKzpYrYlo5JWD
+erF/4qPs4yfZcXD3MYCJGDHZ182Wjo7EqmvVJXrXaxPZf3cO5LGkc563+b2uiugn
+zHTmat79OvyDt6TxF0DHYQEapeMNnL/tZq2DtR+jfnk0FMrVwO9bmUXj9Bh2j240
+XZsRZZrQnRFtSFDjwplbQ1mc0H9uClANhWDqbXtO0qEjQPjTrA== \ No newline at end of file
diff --git a/spss.test/resources/tollesDTD.dtd b/spss.test/resources/tollesDTD.dtd
new file mode 100644
index 000000000..d31c4ffe5
--- /dev/null
+++ b/spss.test/resources/tollesDTD.dtd
@@ -0,0 +1,4 @@
+<!ELEMENT Document ()+>
+<!ATTLIST Document
+ attr CDATA #IMPLIED "wert"
+>
diff --git a/spss.test/resources/tollesDTD.dtdbase64.enc b/spss.test/resources/tollesDTD.dtdbase64.enc
new file mode 100644
index 000000000..1c37db9d6
--- /dev/null
+++ b/spss.test/resources/tollesDTD.dtdbase64.enc
@@ -0,0 +1,2 @@
+PCFFTEVNRU5UIERvY3VtZW50ICgpKz4NCjwhQVRUTElTVCBEb2N1bWVudA0KCWF0
+dHIgQ0RBVEEgI0lNUExJRUQgIndlcnQiDQo+DQo= \ No newline at end of file
diff --git a/spss.test/resources/tomcat-client.cer b/spss.test/resources/tomcat-client.cer
new file mode 100644
index 000000000..70263fa8a
--- /dev/null
+++ b/spss.test/resources/tomcat-client.cer
Binary files differ
diff --git a/spss.test/resources/tomcat-server.cer b/spss.test/resources/tomcat-server.cer
new file mode 100644
index 000000000..062984f23
--- /dev/null
+++ b/spss.test/resources/tomcat-server.cer
Binary files differ
diff --git a/spss.test/src/ExportECDSA.java b/spss.test/src/ExportECDSA.java
new file mode 100644
index 000000000..d47a0841b
--- /dev/null
+++ b/spss.test/src/ExportECDSA.java
@@ -0,0 +1,249 @@
+import iaik.asn1.structures.Name;
+import iaik.pkcs.pkcs11.provider.IAIKPkcs11;
+import iaik.pkcs.pkcs12.CertificateBag;
+import iaik.pkcs.pkcs12.KeyBag;
+import iaik.pkcs.pkcs12.PKCS12;
+import iaik.security.provider.IAIK;
+
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.security.Key;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.Security;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.Properties;
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class ExportECDSA {
+
+ public static void main(String[] args) throws Exception {
+ iaik.security.provider.IAIK.addAsJDK14Provider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+
+ PKCS12 input = new PKCS12(new FileInputStream("C:\\eclipse\\workspace\\spss.server\\data\\deploy\\conf\\moa-spss\\keys\\ecc(ego).p12"));
+ input.decrypt("ego".toCharArray());
+ KeyBag newkb = input.getKeyBag();
+ System.out.println("KeyNew:"+newkb.getFriendlyName());
+ System.out.println(newkb.getPrivateKey());
+ CertificateBag newcbs[] = input.getCertificateBags();
+ System.out.println(newcbs.length);
+ System.out.println("CertNew:"+newcbs[0].getFriendlyName());
+ System.out.println(newcbs[0]);
+ System.out.println(newcbs[0].getCertificate().getSerialNumber().toString());
+ System.out.println(((Name)newcbs[0].getCertificate().getSubjectDN()).getRFC2253String());
+ }
+
+ public static void main2(String[] args) throws Exception {
+
+
+
+ /* Export P12 Cert in .Cer File *
+ PKCS12 pkcs12 = new PKCS12(new FileInputStream("resources/ecc(ego).p12"));
+ pkcs12.decrypt("ego".toCharArray());
+ X509Certificate[] ret = CertificateBag.getCertificates(pkcs12.getCertificateBags());
+
+ byte []cert = ret[0].getEncoded();
+ FileOutputStream fos = new FileOutputStream("cert1.cer");
+ fos.write(cert);
+ fos.close();
+ */
+
+ Properties config = new Properties();
+ config.put("PKCS11_NATIVE_MODULE","cryptoki.dll");
+ config.put("SLOT_ID","0");
+
+ IAIK iaik = new IAIK();
+ Security.addProvider(iaik);
+ IAIKPkcs11 pkcs11Provider_ = new IAIKPkcs11(config);
+ Security.addProvider(pkcs11Provider_);
+
+ KeyStore tokenKeyStore = pkcs11Provider_.getTokenManager().getKeyStore();
+ tokenKeyStore.load(null,"0000".toCharArray());
+
+ byte [] keyid = {0x01,0x02,0x03,0x04};
+
+ PrivateKey k = (PrivateKey)tokenKeyStore.getKey("MOAHSMRSAKEY_cert",null);
+ KeyBag kb = new KeyBag(k,"MOAHSMRSAKEY_pri",keyid);
+ System.out.println("Key:"+k);
+
+ java.security.cert.Certificate[] ret = tokenKeyStore.getCertificateChain("MOAHSMRSAKEY_cert");
+
+ System.out.println(ret.getClass().getName());
+
+ CertificateBag cb = new CertificateBag((iaik.x509.X509Certificate)ret[0],"MOAHSMRSAKEY_cert",keyid);
+ CertificateBag chain[] = new CertificateBag[1];
+ chain[0] = cb;
+ System.out.println("Cert:"+cb);
+ FileOutputStream fos = new FileOutputStream("hsm.p12");
+
+ PKCS12 pkcs12 = new PKCS12(kb,chain);
+ System.out.println("Encrypting...");
+ pkcs12.encrypt("moa".toCharArray());
+ System.out.println("Write...");
+ pkcs12.writeTo(fos);
+ fos.close();
+
+
+ PKCS12 input = new PKCS12(new FileInputStream("hsm.p12"));
+ input.decrypt("moa".toCharArray());
+ KeyBag newkb = input.getKeyBag();
+ System.out.println("KeyNew:"+newkb.getFriendlyName());
+ System.out.println(newkb.getPrivateKey());
+ CertificateBag newcbs[] = input.getCertificateBags();
+ System.out.println("CertNew:"+newcbs[0].getFriendlyName());
+ System.out.println(newcbs[0]);
+
+ }
+
+ public static void test(String[] args) throws Exception {
+ iaik.security.provider.IAIK.addAsJDK14Provider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+
+ Properties config = new Properties();
+ config.put("PKCS11_NATIVE_MODULE","cryptoki.dll");
+ config.put("SLOT_ID","0");
+
+ IAIK iaik = new IAIK();
+ Security.addProvider(iaik);
+ IAIKPkcs11 pkcs11Provider_ = new IAIKPkcs11(config);
+ Security.addProvider(pkcs11Provider_);
+
+ KeyStore tokenKeyStore = pkcs11Provider_.getTokenManager().getKeyStore();
+ tokenKeyStore.load(null,"0000".toCharArray());
+
+ FileInputStream inputStream = new FileInputStream("MOA.Serversignatur.TestECDSA.der");
+ CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509", "IAIK");
+ Collection certificateCollection = certificateFactory.generateCertificates(inputStream);
+ X509Certificate[] certificateChain =
+ (X509Certificate[]) certificateCollection.toArray(new X509Certificate[certificateCollection.size()]);
+
+ System.out.println("Number of Cert:"+certificateCollection.size());
+
+ tokenKeyStore.setCertificateEntry("ECDSA_cert",certificateChain[0]);
+
+ System.out.println("DONE");
+
+ Enumeration enum2 = tokenKeyStore.aliases();
+
+ while (enum2.hasMoreElements()) {
+ String alias = enum2.nextElement().toString();
+
+ if (tokenKeyStore.isKeyEntry(alias)) {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("Key entry with alias: " + alias);
+ Key key = tokenKeyStore.getKey(alias, null);
+ System.out.println(key);
+ java.security.cert.Certificate[] certificateChain2 = tokenKeyStore.getCertificateChain(alias);
+ if (certificateChain2 != null) {
+ System.out.println("Certificate chain of length: " + certificateChain2.length);
+ for (int i = 0; i < certificateChain2.length; i++) {
+ System.out.println("--------------------------------------------------------------------------------");
+ System.out.println(certificateChain2[i]);
+ }
+ } else {
+ System.out.println("Certificate chain is null!");
+ }
+ System.out.println("________________________________________________________________________________");
+ } else if (tokenKeyStore.isCertificateEntry(alias)) {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("Certificate entry with alias: " + alias);
+ java.security.cert.Certificate certificate = tokenKeyStore.getCertificate(alias);
+ System.out.println(certificate);
+ System.out.println("________________________________________________________________________________");
+ } else {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("ERROR! Unknown entry type with alias: " + alias);
+ System.out.println("________________________________________________________________________________");
+ }
+ }
+
+ //tokenKeyStore.setCertificateEntry()
+
+ /*IAIKPKCS11PublicKey key = (IAIKPKCS11PublicKey)tokenKeyStore.getKey("ECDSA_pub",null);
+
+ ECDSAPublicKey pkcs11EcDsaPublicKey = (ECDSAPublicKey)key.getKeyObject();
+
+ ByteArrayAttribute ecdsaParamsAttribute = (ByteArrayAttribute) pkcs11EcDsaPublicKey.getEcdsaParams();
+ ByteArrayAttribute ecPointAttribute = (ByteArrayAttribute) pkcs11EcDsaPublicKey.getEcPoint();
+
+ if (!ecdsaParamsAttribute.isPresent()) {
+ throw new IAIKPkcs11Exception("The PKCS#11 ECDSA key object does not possess a ECDSA parameters attribute.");
+ }
+ if (!ecPointAttribute.isPresent()) {
+ throw new IAIKPkcs11Exception("The PKCS#11 ECDSA key object does not possess a EC point attribute.");
+ }
+
+ byte[] x509encodedPublicKey;
+ try {
+ byte[] encodedParameters = ecdsaParamsAttribute.getByteArrayValue();
+ byte[] encodedPublicKeyValue = ecPointAttribute.getByteArrayValue();
+
+ ECDSAKeyFactory fact = new ECDSAKeyFactory();
+
+ // encoding the algorithm ID with the parameters
+ ObjectID OBJECT_ID_EC_KEY = new ObjectID("1.2.840.10045.2.1");
+ AlgorithmID EC_ALGORITHM_ID = new AlgorithmID(OBJECT_ID_EC_KEY);
+
+
+ ASN1 parametersASN1 = new ASN1(encodedParameters);
+
+ EC_ALGORITHM_ID.setParameter(parametersASN1.toASN1Object());
+
+ // encoding the X.509 subject public key info structure
+ SEQUENCE publicKeyInfo = new SEQUENCE();
+
+ publicKeyInfo.addComponent(EC_ALGORITHM_ID.toASN1Object());
+ publicKeyInfo.addComponent(new BIT_STRING(encodedPublicKeyValue));
+
+ x509encodedPublicKey = DerCoder.encode(publicKeyInfo);
+
+ } catch (CodingException ex) {
+ ex.printStackTrace();
+ throw new InvalidKeySpecException("Error during encoding of ECDSA public key: " + ex.toString());
+ }
+
+ int size = 0;
+
+ X509EncodedKeySpec keySpec = new X509EncodedKeySpec(x509encodedPublicKey);
+ byte [] enc = keySpec.getEncoded();
+ size = enc.length;
+
+ BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("ecdsakey.key"));
+ bos.write(enc);
+ bos.flush();
+ bos.close();
+
+ byte [] data = new byte[size];
+
+ BufferedInputStream bis = new BufferedInputStream(new FileInputStream("ecdsakey.key"));
+ bis.read(data);
+ bis.close();
+
+
+ ASN1Object asn1 = DerCoder.decode(data);
+ System.out.println("Objectcount:"+asn1.countComponents());
+ ASN1Object asnobject1 = asn1.getComponentAt(0);
+ System.out.println(asnobject1);
+
+ ASN1Object asnobject1_1 = asnobject1.getComponentAt(0);
+ System.out.println(asnobject1_1);
+
+ ASN1Object asnobject1_2 = asnobject1.getComponentAt(1);
+ System.out.println(asnobject1_2);
+
+ ASN1Object asnobject2 = asn1.getComponentAt(1);
+ System.out.println(asnobject2);*/
+
+ }
+}
diff --git a/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java b/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java
new file mode 100644
index 000000000..13a06b2fb
--- /dev/null
+++ b/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java
@@ -0,0 +1,38 @@
+package at.gv.egovernment.moa.spss.client.call;
+
+import java.rmi.RemoteException;
+import java.util.Vector;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.Call;
+import javax.xml.rpc.Service;
+import javax.xml.rpc.ServiceException;
+import javax.xml.rpc.ServiceFactory;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.w3c.dom.Element;
+
+/**
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class MOACaller {
+
+ protected Element doCall(QName serviceName, Element request, String endPoint)
+ throws RemoteException, ServiceException, Exception {
+ Service service = ServiceFactory.newInstance().createService(serviceName);
+ Call call = service.createCall();
+ SOAPBodyElement body =
+ new SOAPBodyElement(request);
+ SOAPBodyElement[] params = new SOAPBodyElement[] {body};
+ Vector responses;
+ SOAPBodyElement response;
+
+ call.setTargetEndpointAddress(endPoint);
+ responses = (Vector) call.invoke(params);
+ response = (SOAPBodyElement) responses.get(0);
+
+ return response.getAsDOM();
+ }
+
+}
diff --git a/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureCreationCaller.java b/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureCreationCaller.java
new file mode 100644
index 000000000..0ca4a23c0
--- /dev/null
+++ b/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureCreationCaller.java
@@ -0,0 +1,23 @@
+package at.gv.egovernment.moa.spss.client.call;
+
+import java.rmi.RemoteException;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.ServiceException;
+
+import org.w3c.dom.Element;
+
+/**
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class SignatureCreationCaller extends MOACaller {
+
+ private static final QName SERVICE_QNAME = new QName("SignatureCreation");
+
+ public Element createXMLSignature(Element request, String endPoint)
+ throws ServiceException, RemoteException, Exception {
+ return doCall(SERVICE_QNAME, request, endPoint);
+ }
+
+}
diff --git a/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureVerificationCaller.java b/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureVerificationCaller.java
new file mode 100644
index 000000000..612a1d345
--- /dev/null
+++ b/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureVerificationCaller.java
@@ -0,0 +1,28 @@
+package at.gv.egovernment.moa.spss.client.call;
+
+import java.rmi.RemoteException;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.ServiceException;
+
+import org.w3c.dom.Element;
+
+/**
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class SignatureVerificationCaller extends MOACaller {
+
+ private static final QName SERVICE_QNAME = new QName("SignatureVerification");
+
+ public Element verifyCMSSignature(Element request, String endPoint)
+ throws ServiceException, RemoteException, Exception {
+ return doCall(SERVICE_QNAME, request, endPoint);
+ }
+
+ public Element verifyXMLSignature(Element request, String endPoint)
+ throws ServiceException, RemoteException, Exception {
+ return doCall(SERVICE_QNAME, request, endPoint);
+ }
+
+}
diff --git a/spss.test/src/testclient/LasttestClient.java b/spss.test/src/testclient/LasttestClient.java
new file mode 100644
index 000000000..339b6609d
--- /dev/null
+++ b/spss.test/src/testclient/LasttestClient.java
@@ -0,0 +1,389 @@
+package testclient;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintStream;
+import java.io.RandomAccessFile;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Date;
+
+
+/**
+ * @author Sven
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class LasttestClient {
+
+
+ public int max_thread_count = 300;
+ public int thread_counter = 0;
+ public int error_count = 0;
+ public int turns = 0;
+
+ public long max = 0;
+ public long min = Long.MAX_VALUE;
+
+ public PrintStream Log = null;
+
+ public boolean stop = false;
+
+ private String readFile(String filename) throws Exception
+ {
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+
+ byte[] result = new byte[(int) raf.length()];
+
+ raf.read(result);
+
+ return new String(result);
+
+ }
+
+
+
+ public String buildRequest(String filename) throws Exception
+ {
+ String data = readFile(filename);
+ int index = data.indexOf(">");
+
+ String xml_head = data.substring(0,index+1);
+ data = data.substring(index+1);
+ //Log.println("Data2:\n"+data);
+
+ data =
+ xml_head +
+ "<soap:Envelope "+
+ "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\" "+
+ "soap:encodingStyle=\"http://www.w3.org/2001/12/soap-encoding\"> "+
+ "<soap:Body> "+
+ data +
+ "</soap:Body>"+
+ "</soap:Envelope>";
+
+ if(data.indexOf("10.16.46.109")!=-1)
+ data = replaceString(data,"10.16.46.109","127.0.0.1");
+
+ System.out.println("Request:"+data);
+
+ return data;
+
+ }
+
+ public String buildEndpoint(String request,String server)
+ {
+ String ep = null;
+ if(request.indexOf("<Create")!=-1) ep = server + "moa-spss/services/SignatureCreation";
+ else ep = server + "moa-spss/services/SignatureVerification";
+ return ep;
+ }
+
+ public void startTest(String filename,String server,int req_per_second,int turns) throws Exception
+ {
+ this.turns = turns;
+ String request = buildRequest(filename);
+ String ep = buildEndpoint(request,server);
+
+ boolean result = doTestRequest(request,ep);
+
+ if(result)
+ {
+ System.out.println("TestRequest OK. Lasttest wird gestartet.");
+ Dispatcher dp = new Dispatcher(this,request,ep,req_per_second,turns);
+ dp.start();
+ while(!stop)
+ {
+ System.out.println("Checking Stop Condition ...(Running "+thread_counter+", Min "+(min)+", Max "+(max)+", "+new Date(System.currentTimeMillis())+")");
+ Thread.sleep(3000);
+ }
+ System.out.println("Fehler:"+error_count+" (Running "+thread_counter+", Min "+(min)+", Max "+(max)+", "+new Date(System.currentTimeMillis())+")");
+ }
+ else
+ {
+ System.out.println("TestRequest lieferte einen Fehler. Lasttest wird nicht gestartet.");
+ }
+ }
+
+ public boolean doTestRequest(String request,String endpoint) throws Exception
+ {
+ HttpURLConnection urlc = (HttpURLConnection)(new URL(endpoint)).openConnection();
+ urlc.setDoInput(true);
+ urlc.setDoOutput(true);
+ urlc.setRequestProperty("SOAPAction","");
+ BufferedWriter ow = new BufferedWriter(new OutputStreamWriter(urlc.getOutputStream()));
+ ow.write(request);
+ ow.flush();
+
+ int code = 0;
+ try {
+ code = urlc.getResponseCode();
+ }
+ catch(IOException ioe)
+ {
+ ow.close();
+ urlc.disconnect();
+ return false;
+ }
+ BufferedReader iw = new BufferedReader(new InputStreamReader(urlc.getInputStream()));
+ while(iw.readLine()!=null) {}
+ ow.close();
+
+ if(code==500)
+ {
+ return false;
+ }
+ else
+ {
+ BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream()));
+ StringBuffer response = new StringBuffer();
+ String line = null;
+ while((line = br.readLine()) != null)
+ {
+ response.append(line);
+ }
+
+ iw.close();
+ urlc.disconnect();
+
+ String resp = response.toString();
+
+ int pos = resp.indexOf("ErrorCode>");
+ if(pos==-1)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ }
+
+ private String replaceString(
+ String input,
+ String oldPart,
+ String newPart)
+ throws Exception {
+ String erg = null;
+
+ //First Part
+ erg = input.substring(0, input.indexOf(oldPart));
+ //Insert new Part
+ erg += newPart;
+
+ //insert REST
+ erg
+ += input.substring(
+ input.indexOf(oldPart) + oldPart.length(),
+ input.length());
+
+ return erg;
+ }
+
+ public static void main(String[] args) throws Exception
+ {
+ int sek = 0;
+ int turns = 0;
+
+ if(args.length!=4)
+ {
+ System.out.println("Parameteranzahl falsch. Bitte verwenden Sie die Syntax <Requestdatei><ServerURL><Request_pro_Sekunde(Zahl)><Anzahl_der_Durchläufe(Zahl oder INF)>");
+ return;
+ }
+
+ try {
+ sek = Integer.parseInt(args[2]);
+ if(args[3].equals("INF"))
+ {
+ turns = 0;
+ }
+ else
+ turns = Integer.parseInt(args[3]);
+ }
+ catch(NumberFormatException e)
+ {
+ System.out.println("Einer der Parameter (Requestanzahl oder Testanzahl) ist keine Zahl !");
+ return;
+ }
+
+ System.out.println("Starte Lastest mit folgenden Parametern ...");
+ System.out.println("Requestdatei: "+args[0]);
+ System.out.println("ServerURL: "+args[1]);
+ System.out.println("Requests pro Sekunde: "+sek);
+ System.out.println("Durchläufe: "+(turns==0?"INF":turns+""));
+
+
+ LasttestClient lc = new LasttestClient();
+ //lc.startTest("data/CX0/TestGeneratorCX0.001.Req.xml","http://161.106.2.255:8080/",10,1000);
+ lc.startTest(args[0],args[1],sek,turns);
+ }
+}
+
+class Dispatcher extends Thread
+{
+ private String request = null;
+ private String endpoint = null;
+ private LasttestClient parent = null;
+ private int max;
+ private int turns;
+ public Dispatcher(LasttestClient parent,String request,String endpoint,int max,int turns)
+ {
+ this.request = request;
+ this.endpoint = endpoint;
+ this.parent = parent;
+ this.max = max;
+ this.turns = turns;
+ }
+
+ public void run()
+ {
+ this.setPriority(Thread.NORM_PRIORITY+1);
+ System.out.println("Dispatcher wird gestartet...");
+ TestThread[] old_reqs = buildRequests();
+ for(int turn_counter=0;turns==0?true:(turn_counter<turns);turn_counter++)
+ {
+ System.out.println("Durchlauf "+turn_counter);
+ if(turns==0) turn_counter--;
+ TestThread[] reqs = buildRequests();
+ for(int counter=0;counter<max;counter++)
+ {
+ old_reqs[counter].start();
+ }
+ old_reqs = reqs;
+ try {
+ Thread.sleep(1000);
+ }
+ catch(Exception e) { e.printStackTrace(); }
+ }
+ parent.stop = true;
+ }
+
+ public TestThread[] buildRequests()
+ {
+ TestThread[] ret = new TestThread[max];
+ for(int counter=0;counter<max;counter++)
+ {
+ ret[counter] = new TestThread(parent,request,endpoint);
+ }
+ return ret;
+ }
+}
+
+class TestThread extends Thread
+{
+ private String request = null;
+ private String endpoint = null;
+ private LasttestClient parent = null;
+ public TestThread(LasttestClient parent,String request,String endpoint)
+ {
+ this.request = request;
+ this.endpoint = endpoint;
+ this.parent = parent;
+
+ }
+
+
+ /**
+ * @see java.lang.Runnable#run()
+ */
+ public void run() {
+ parent.thread_counter++;
+
+ try {
+ if(!doRequest())
+ {
+ parent.error_count++;
+ }
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ parent.error_count++;
+ }
+ parent.thread_counter--;
+ }
+
+ public boolean doRequest() throws Exception
+ {
+ long start = System.currentTimeMillis();
+ HttpURLConnection urlc = (HttpURLConnection)(new URL(endpoint)).openConnection();
+ urlc.setDoInput(true);
+ urlc.setDoOutput(true);
+ urlc.setAllowUserInteraction(false);
+ urlc.setUseCaches(false);
+ HttpURLConnection.setFollowRedirects(false);
+ urlc.setRequestProperty("SOAPAction","");
+
+
+ BufferedWriter ow = new BufferedWriter(new OutputStreamWriter(urlc.getOutputStream()));
+ ow.write(request);
+ ow.flush();
+
+ int code = 0;
+ /*try {
+ code = urlc.getResponseCode();
+ }
+ catch(IOException ioe)
+ {
+ ow.close();
+ urlc.disconnect();
+ return false;
+ }*/
+ ow.close();
+ BufferedReader iw = new BufferedReader(new InputStreamReader(urlc.getInputStream()));
+ while(iw.readLine()!=null) {}
+
+ if(code==500)
+ {
+ return false;
+ }
+ else
+ {
+ BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream()));
+ StringBuffer response = new StringBuffer();
+ String line = null;
+ while((line = br.readLine()) != null)
+ {
+ response.append(line);
+ }
+
+ iw.close();
+ urlc.disconnect();
+ long end = System.currentTimeMillis();
+
+ String resp = response.toString();
+
+ int pos = resp.indexOf("ErrorCode>");
+ if(pos==-1)
+ {
+ long diff = end-start;
+ if(parent.max<diff)
+ {
+ parent.max=diff;
+ }
+ if(parent.min>diff)
+ {
+ parent.min=diff;
+ }
+ return true;
+
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ }
+
+} \ No newline at end of file
diff --git a/spss.test/src/testclient/TestClient.java b/spss.test/src/testclient/TestClient.java
new file mode 100644
index 000000000..aac30499f
--- /dev/null
+++ b/spss.test/src/testclient/TestClient.java
@@ -0,0 +1,1665 @@
+package testclient;
+
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML;
+import iaik.ixsil.init.IXSILInit;
+import iaik.ixsil.util.URI;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintStream;
+import java.io.RandomAccessFile;
+import java.io.UTFDataFormatException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.security.KeyStore;
+import java.security.Principal;
+import java.security.Security;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.StringTokenizer;
+import java.util.TreeMap;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+import org.xml.sax.SAXParseException;
+
+import at.gv.egovernment.moa.spss.client.call.SignatureCreationCaller;
+import at.gv.egovernment.moa.spss.client.call.SignatureVerificationCaller;
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.XPathUtils;
+
+import com.sun.net.ssl.internal.ssl.Provider;
+
+/**
+ * @author Sven
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestClient
+{
+
+ // stats
+ private int pos_ok = 0;
+ private int pos_nok = 0;
+ private int pos_exc = 0;
+ private int neg_ok = 0;
+ private int neg_nok = 0;
+ private int neg_exc = 0;
+ private long max_request = 0;
+ private long min_request = 99999;
+ private long all_request = 0;
+ private int count_all_request = 0;
+ private int count_tests = 0;
+
+ private TreeMap suits = new TreeMap();
+ private PrintStream Log = null;
+ private static File directory = null;
+ private static String directorystring = null;
+ private static Provider ssl_provider = null;
+ private static boolean ssl_connection = false;
+ private static String defaultserver = "http://localhost:8080/";
+ private static String defaultdirectory = "data/feature41/";
+ private static String server;
+
+ private static boolean ignoreSignatureValue = false;
+
+ // end points
+ private static String VERIFICATION_ENDPOINT = "moa-spss/services/SignatureVerification";
+ private static String CREATION_ENDPOINT = "moa-spss/services/SignatureCreation";
+ private static String SSL_VERIFICATION_ENDPOINT = null;
+ private static String SSL_CREATION_ENDPOINT = null;
+
+ private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss.SSS");
+
+ // super cool stuff
+ private static ArrayList testtimes = new ArrayList();
+ private static ArrayList testnames = new ArrayList();
+ private static ArrayList testvalues = new ArrayList();
+ private static ArrayList testerrors = new ArrayList();
+ private static int ELEMS_MAX = 40;
+ private static String ELEMS_ICON = "O";
+ private static String ELEMS_ICON_BAD = "X";
+
+ private static final boolean debug = true;
+
+ public static void main(String[] args)
+ {
+ long start = System.currentTimeMillis();
+ long end = 0;
+ System.out.println("Lade IXSIL ...");
+ try
+ {
+ IXSILInit.init(new URI("init/properties/init.properties"));
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.exit(1);
+ }
+
+ System.out.println("Starte TestClient @ " + sdf.format(new Date(start)) + "...");
+
+ if (args.length == 0)
+ {
+ directory = new File(defaultdirectory);
+ server = defaultserver;
+ System.out.println("DefaultPfad wird benutzt (" + directory.getPath() + ")");
+ System.out.println("DefaultServer wird benutzt (" + server + ")");
+ }
+ else if (args.length == 1)
+ {
+ System.out.println("Pfad " + args[0] + " wird benutzt ");
+ directory = new File(args[0]);
+ server = defaultserver;
+ System.out.println("DefaultServer wird benutzt (" + server + ")");
+ }
+ else if (args.length == 2)
+ {
+ System.out.println("Pfad " + args[0] + " wird benutzt ");
+ directory = new File(args[0]);
+ System.out.println("Server " + args[1] + " wird benutzt ");
+ server = args[1];
+ }
+
+ VERIFICATION_ENDPOINT = server + VERIFICATION_ENDPOINT;
+ CREATION_ENDPOINT = server + CREATION_ENDPOINT;
+ TestClient tc = new TestClient();
+ tc.run();
+ end = System.currentTimeMillis();
+ System.out.println("Ende TestClient @ " + sdf.format(new Date(end)) + "...");
+ System.out.println("Durchlaufzeit: " + ((end - start) / 1000) + " sekunden");
+
+ }
+
+ public void run()
+ {
+ ssl_provider = new Provider();
+ Security.addProvider(ssl_provider);
+ Log = System.out;
+ try
+ {
+ prepareFiles();
+ runSuits();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ Log.println("----- Auswertung:");
+ Log.println("----- Positiv Tests:" + (pos_ok + pos_nok + pos_exc));
+ Log.println("----- OK:" + (pos_ok));
+ Log.println("----- nicht OK:" + (pos_nok));
+ Log.println("----- Exception aufgetreten:" + (pos_exc));
+ Log.println("----- Negativ Test:" + (neg_ok + neg_nok + neg_exc));
+ Log.println("----- OK:" + (neg_ok));
+ Log.println("----- nicht OK:" + (neg_nok));
+ Log.println("----- Exception aufgetreten:" + (neg_exc));
+ Log.println("----- schnellste Anfrage:" + min_request + " ms");
+ Log.println("----- langsamste Anfrage:" + max_request + " ms");
+ if (count_all_request > 2)
+ Log.println(
+ "----- durchschnittliche Anfrage:"
+ + ((all_request - max_request - min_request) / (count_all_request - 2))
+ + " ms");
+ else if (count_all_request == 0)
+ Log.println("----- keine gültigen Messungen für Durchschnittsermittlung");
+ else
+ Log.println("----- durchschnittliche Anfrage:" + ((all_request) / (count_all_request)) + " ms");
+ }
+
+ private void prepareFiles() throws Exception
+ {
+
+ if (!directory.isDirectory())
+ {
+ throw new Exception("Das angegebene Verzeichnis ist kein Verzeichnis. Bitte Pfad überprüfen.");
+ }
+
+ directorystring = directory.getAbsolutePath();
+
+ String[] list = directory.list();
+ for (int counter = 0; counter < list.length; counter++)
+ {
+
+ if (list[counter].endsWith("Req.xml")
+ || list[counter].endsWith("Res.xml")
+ || list[counter].endsWith("Config.xml"))
+ {
+ String suitename = list[counter].substring(0, list[counter].indexOf("."));
+
+ if (!suits.containsKey(suitename))
+ suits.put(suitename, null);
+
+ ArrayList al = (ArrayList) suits.get(suitename);
+ if (al == null)
+ {
+ al = new ArrayList();
+ suits.put(suitename, al);
+ }
+ al.add(list[counter]);
+ }
+ }
+
+ }
+
+ private void runSuits()
+ {
+ Iterator i = suits.keySet().iterator();
+ while (i.hasNext())
+ {
+ String suitename = (String) i.next();
+ Log.println("Suite:" + suitename);
+ ArrayList al = (ArrayList) suits.get(suitename);
+ testtimes.clear();
+ testnames.clear();
+ testvalues.clear();
+ testerrors.clear();
+ runTests(al, suitename);
+ printGraph(testnames, testtimes, testvalues, testerrors, suitename);
+ }
+ }
+
+ private void runTests(ArrayList testlist, String suitename)
+ {
+ TreeMap tests = new TreeMap();
+ String config = null;
+
+ int size = testlist.size();
+ for (int counter = 0; counter < size; counter++)
+ {
+ String filename = (String) testlist.get(counter);
+ StringTokenizer st = new StringTokenizer(filename, ".");
+ String prefix = st.nextToken();
+ String number = st.nextToken();
+
+ if (number.equals("Config"))
+ {
+ config = filename;
+ continue;
+ }
+
+ ArrayList testfiles = null;
+ if (!tests.containsKey(number))
+ {
+ testfiles = new ArrayList();
+ tests.put(number, testfiles);
+ }
+ else
+ {
+ testfiles = (ArrayList) tests.get(number);
+ }
+ testfiles.add(filename);
+ }
+
+ Iterator i = tests.keySet().iterator();
+ while (i.hasNext())
+ {
+ String number = (String) i.next();
+ runTest((ArrayList) tests.get(number), null, number, suitename);
+ }
+ }
+
+ private void runTest(ArrayList files, String config, String number, String suitename)
+ {
+ String request = null;
+ String response = null;
+ String errorresponse = null;
+
+ //Log.println("Test:"+number+" Mit Config:"+config);
+ int size = files.size();
+ for (int counter = 0; counter < size; counter++)
+ {
+ String filename = (String) files.get(counter);
+ //Log.println("File:"+filename);
+ if (filename.endsWith("ErrRes.xml"))
+ errorresponse = filename;
+ else if (filename.endsWith("Res.xml"))
+ response = filename;
+ else if (filename.endsWith("Req.xml"))
+ request = filename;
+ else
+ Log.println("Nicht relevant:" + filename);
+ }
+
+ if (request != null)
+ {
+ for (int counter = 0; counter < 1; counter++)
+ {
+ if (response != null && errorresponse != null)
+ Log.println(
+ "Test " + number + " nicht gültig ! Sowohl Response als auch ErrorResponse vorhanden !");
+ else if (response != null)
+ runPosTest(request, response, config, number, suitename);
+ else if (errorresponse != null)
+ runNegTest(request, errorresponse, config, number, suitename);
+ }
+ }
+ else
+ {
+ Log.println("Test " + number + " nicht gültig ! Kein Request vorhanden !");
+ }
+ }
+
+ private void runPosTest(String request, String response, String config, String number, String suitename)
+ {
+ long start = System.currentTimeMillis();
+ long end = 0;
+ Log.println("\n----- Starte Test <" + number + "> (positiv) -----");
+ Log.println("----- Request: " + request);
+ Log.println("----- Response: " + response);
+ try
+ {
+ long start_req = 0;
+ long end_req = 0;
+
+ Log.println("----- Lade Request:" + directorystring + "/" + request);
+ FileInputStream fis = new FileInputStream(directorystring + "/" + request);
+ Document root_doc = DOMUtils.parseDocument(fis, false, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Element root = root_doc.getDocumentElement();
+ if (debug)
+ Log.println(DOMUtils.serializeNode(root));
+
+ Log.println("----- Lade Response:" + directorystring + "/" + response);
+ FileInputStream fis2 = new FileInputStream(directorystring + "/" + response);
+ Document root_response_doc = DOMUtils.parseDocument(fis2, true, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Element root_response = root_response_doc.getDocumentElement();
+
+ //can_root_response.normalize();
+
+ if (request.endsWith("CX3.001.Req.xml"))
+ {
+ printKeyStoreInformation("./resources/client.keystore", "changeit");
+ System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
+ System.setProperty("javax.net.ssl.keyStore", "./resources/client.keystore");
+ System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
+ System.setProperty("javax.net.ssl.trustStore", "./resources/client.keystore");
+ System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
+
+ ssl_connection = true;
+ }
+ else
+ ssl_connection = false;
+
+ if (request.endsWith("CX0.005.Req.xml")) // ECDSA
+ ignoreSignatureValue = true;
+ else
+ ignoreSignatureValue = false;
+
+ boolean compare = false;
+
+ Transform can = new TransformImplExclusiveCanonicalXML();
+ can.setInput(XPathUtils.selectNodeList(root_response, XPathUtils.ALL_NODES_XPATH), null);
+
+ InputStream is = (InputStream) can.transform();
+ Document can_root_response_doc =
+ DOMUtils.parseDocument(is, true, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Element can_root_response = root_response_doc.getDocumentElement();
+
+ if (checkNode(root, "VerifyCMSSignatureRequest"))
+ {
+ Log.println("----- Anfrage wird gesendet ...");
+ SignatureVerificationCaller svc = new SignatureVerificationCaller();
+ start_req = System.currentTimeMillis();
+ Element root_serverresponse = svc.verifyCMSSignature(root, VERIFICATION_ENDPOINT);
+ end_req = System.currentTimeMillis();
+
+ Transform can2 = new TransformImplExclusiveCanonicalXML();
+ can2.setInput(XPathUtils.selectNodeList(root_serverresponse, XPathUtils.ALL_NODES_XPATH), null);
+ InputStream is2 = (InputStream) can2.transform();
+
+ Document can_root_serverresponse_doc =
+ DOMUtils.parseDocument(is2, true, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Element can_root_serverresponse = can_root_serverresponse_doc.getDocumentElement();
+ if (debug)
+ Log.println("----- Antwort sollte so aussehen ...\n" + DOMUtils.serializeNode(can_root_response));
+ if (debug)
+ Log.println("----- Antwort vom Server ...\n" + DOMUtils.serializeNode(can_root_serverresponse));
+
+ Log.println("----- Antwort validieren ...\n");
+ DOMUtils.validateElement(can_root_serverresponse, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Log.println("----- Antwort vergleichen ...\n");
+
+ String error = findErrorNode(can_root_serverresponse);
+ if (error != null)
+ {
+ compare = false;
+ Log.println("----- ServerError: " + error);
+ testerrors.add(error);
+ }
+ else
+ {
+ compare = compareElements(can_root_response, can_root_serverresponse);
+ testerrors.add(null);
+ }
+
+ }
+ else if (checkNode(root, "VerifyXMLSignatureRequest"))
+ {
+ Log.println("----- Anfrage wird gesendet ...");
+ SignatureVerificationCaller svc = new SignatureVerificationCaller();
+ start_req = System.currentTimeMillis();
+ Element root_serverresponse = svc.verifyXMLSignature(root, VERIFICATION_ENDPOINT);
+ end_req = System.currentTimeMillis();
+
+ Transform can2 = new TransformImplExclusiveCanonicalXML();
+ can2.setInput(XPathUtils.selectNodeList(root_serverresponse, XPathUtils.ALL_NODES_XPATH), null);
+ InputStream is2 = (InputStream) can2.transform();
+
+ Document can_root_serverresponse_doc =
+ DOMUtils.parseDocument(is2, false, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Element can_root_serverresponse = can_root_serverresponse_doc.getDocumentElement();
+
+ if (debug)
+ Log.println("----- Antwort sollte so aussehen ...\n" + DOMUtils.serializeNode(can_root_response));
+ if (debug)
+ Log.println("----- Antwort vom Server ...\n" + DOMUtils.serializeNode(can_root_serverresponse));
+
+ Log.println("----- Antwort validieren ...\n");
+ DOMUtils.validateElement(can_root_serverresponse, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Log.println("----- Antwort vergleichen ...\n");
+ String error = findErrorNode(can_root_serverresponse);
+ if (error != null)
+ {
+ compare = false;
+ Log.println("----- ServerError: " + error);
+ testerrors.add(error);
+ }
+ else
+ {
+ compare = compareElements(can_root_response, can_root_serverresponse);
+ testerrors.add(null);
+ }
+ }
+ else if (checkNode(root, "CreateXMLSignatureRequest"))
+ {
+ Log.println("----- Anfrage wird gesendet ...");
+ SignatureCreationCaller scc = new SignatureCreationCaller();
+ start_req = System.currentTimeMillis();
+ Element root_serverresponse = scc.createXMLSignature(root, CREATION_ENDPOINT);
+ end_req = System.currentTimeMillis();
+
+ Transform can2 = new TransformImplExclusiveCanonicalXML();
+ can2.setInput(XPathUtils.selectNodeList(root_serverresponse, XPathUtils.ALL_NODES_XPATH), null);
+ InputStream is2 = (InputStream) can2.transform();
+
+ Document can_root_serverresponse_doc =
+ DOMUtils.parseDocument(is2, false, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Element can_root_serverresponse = can_root_serverresponse_doc.getDocumentElement();
+
+ if (debug)
+ Log.println("----- Antwort sollte so aussehen ...\n" + DOMUtils.serializeNode(can_root_response));
+ //Log.println("----- Antwort vom Server (von Can)...\n"+DOMUtils.serializeNode(root_serverresponse));
+ if (debug)
+ Log.println("----- Antwort vom Server ...\n" + DOMUtils.serializeNode(can_root_serverresponse));
+
+ Log.println("----- Antwort validieren ...\n");
+ DOMUtils.validateElement(can_root_serverresponse, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Log.println("----- Antwort vergleichen ...\n");
+
+ String error = findErrorNode(can_root_serverresponse);
+ if (error != null)
+ {
+ compare = false;
+ Log.println("----- ServerError: " + error);
+ testerrors.add(error);
+ }
+ else
+ {
+ compare = compareElements(can_root_response, can_root_serverresponse);
+ testerrors.add(null);
+ }
+
+ }
+ else
+ {
+ throw new Exception("Responsetyp nicht bekannt");
+ }
+
+ if (compare)
+ {
+ pos_ok++;
+ testvalues.add(" OK");
+ Log.println("----- Keine Fehler aufgetreten");
+ }
+ else
+ {
+ pos_nok++;
+ testvalues.add("NOK");
+ Log.println("----- Response war nicht ok !");
+ }
+
+ Date start_date = new Date(start_req);
+ Date end_date = new Date(end_req);
+ long diff = end_req - start_req;
+ Log.println("----- Requeststart: " + sdf.format(start_date));
+ Log.println("----- Requestende: " + sdf.format(end_date));
+ Log.println("----- Requestdauer: " + diff + " ms");
+ if (diff > max_request)
+ max_request = diff;
+ if (diff < min_request)
+ min_request = diff;
+ all_request += diff;
+ count_all_request++;
+
+ // :)
+ testtimes.add(new Long(diff));
+ testnames.add(number);
+ }
+ catch (Exception e)
+ {
+ testtimes.add(new Long(-1L));
+ testnames.add(number);
+ testvalues.add("EXC");
+ testerrors.add(e.getMessage());
+ pos_exc++;
+ Log.println("----- Exception:\n");
+ e.printStackTrace(Log);
+ }
+ end = System.currentTimeMillis();
+ Log.println("----- Durchlaufzeit: " + ((end - start) / 1000) + " sekunden");
+ Log.println("----- Ende Test <" + number + "> -----\n");
+ }
+
+ private void runNegTest(
+ String request,
+ String errorresponse,
+ String config,
+ String number,
+ String suitename)
+ {
+ long start = System.currentTimeMillis();
+ long end = 0;
+ Log.println("\n----- Starte Test <" + number + "> (negativ) -----");
+ Log.println("----- Config: " + config);
+ Log.println("----- Request: " + request);
+ Log.println("----- ErrorResponse: " + errorresponse);
+ int error_no = 0;
+ try
+ {
+
+ FileInputStream fis = null;
+ Document root_doc = null;
+ Element root = null;
+ long start_req = 0;
+ long end_req = 0;
+
+ try
+ {
+ error_no = Integer.parseInt(readFile(directorystring + "/" + errorresponse));
+ }
+ catch (NumberFormatException nfe)
+ {
+ throw new Exception(
+ "Fehler beim Lesen der Datei "
+ + directorystring
+ + "/"
+ + errorresponse
+ + ". Die Fehlernummer konnte nicht ermittelt werden");
+ }
+
+ try
+ {
+ Log.println("----- Lade Request: " + directorystring + "/" + request);
+ fis = new FileInputStream(directorystring + "/" + request);
+ root_doc = DOMUtils.parseDocument(fis, false, Constants.ALL_SCHEMA_LOCATIONS, null);
+ root = root_doc.getDocumentElement();
+ }
+ catch (SAXParseException saxpe)
+ {
+ Log.println("Fehler beim Lesen der Requestdatei !");
+ throw saxpe;
+ }
+
+ try
+ {
+ if (request.endsWith("CX4.051.Req.xml"))
+ {
+ printKeyStoreInformation("./resources/sven.keystore", "example");
+ System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
+ System.setProperty("javax.net.ssl.keyStore", "./resources/sven.keystore");
+ System.setProperty("javax.net.ssl.keyStorePassword", "example");
+ System.setProperty("javax.net.ssl.trustStore", "./resources/sven.keystore");
+ System.setProperty("javax.net.ssl.trustStorePassword", "example");
+
+ ssl_connection = true;
+ }
+ else if (request.endsWith("CX3.052.Req.xml"))
+ {
+ printKeyStoreInformation("./resources/client.keystore", "changeit");
+ System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
+ System.setProperty("javax.net.ssl.keyStore", "./resources/client.keystore");
+ System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
+ System.setProperty("javax.net.ssl.trustStore", "./resources/client.keystore");
+ System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
+
+ ssl_connection = true;
+ }
+ else
+ ssl_connection = false;
+
+ Element root_serverresponse = null;
+
+ if (checkNode(root, "VerifyCMSSignatureRequest"))
+ {
+ SignatureVerificationCaller svc = new SignatureVerificationCaller();
+ start_req = System.currentTimeMillis();
+ root_serverresponse = svc.verifyCMSSignature(root, VERIFICATION_ENDPOINT);
+ end_req = System.currentTimeMillis();
+ Log.println(DOMUtils.serializeNode(root_serverresponse));
+ }
+ else if (checkNode(root, "VerifyXMLSignatureRequest"))
+ {
+ SignatureVerificationCaller svc = new SignatureVerificationCaller();
+ start_req = System.currentTimeMillis();
+ root_serverresponse = svc.verifyXMLSignature(root, VERIFICATION_ENDPOINT);
+ end_req = System.currentTimeMillis();
+ Log.println(DOMUtils.serializeNode(root_serverresponse));
+ }
+ else if (checkNode(root, "CreateXMLSignatureRequest"))
+ {
+ SignatureCreationCaller svc = new SignatureCreationCaller();
+ start_req = System.currentTimeMillis();
+ root_serverresponse = svc.createXMLSignature(root, CREATION_ENDPOINT);
+ end_req = System.currentTimeMillis();
+ Log.println(DOMUtils.serializeNode(root_serverresponse));
+ }
+
+ Transform can2 = new TransformImplExclusiveCanonicalXML();
+ can2.setInput(XPathUtils.selectNodeList(root_serverresponse, XPathUtils.ALL_NODES_XPATH), null);
+ InputStream is2 = (InputStream) can2.transform();
+
+ Document can_root_serverresponse_doc =
+ DOMUtils.parseDocument(is2, false, Constants.ALL_SCHEMA_LOCATIONS, null);
+ Element can_root_serverresponse = can_root_serverresponse_doc.getDocumentElement();
+
+ int errno = getErrorNumber(can_root_serverresponse);
+
+ if (errno == -1)
+ {
+ Log.println("Kein Fehler aufgetreten oder Fehlernummer konnte nicht ermittelt werden.");
+ neg_nok++;
+ testvalues.add("NOK");
+ testerrors.add("Kein Fehler aufgetreten oder Fehlernummer konnte nicht ermittelt werden.");
+ }
+ else
+ {
+ Log.println("----- Fehlercode vom Server:" + errno);
+ Log.println("----- Fehlercode vom Test:" + error_no);
+ if (errno == error_no)
+ {
+ Log.println("Test erfolgreich !");
+ testvalues.add(" OK");
+ testerrors.add(null);
+ neg_ok++;
+ }
+ else
+ {
+ Log.println("Test nicht erfolgreich !");
+ neg_nok++;
+ testvalues.add("NOK");
+ testerrors.add("Fehlercodes nicht gleich: Server " + errno + " Client " + error_no);
+ }
+ }
+
+ }
+ catch (org.apache.axis.AxisFault af)
+ {
+ end_req = System.currentTimeMillis();
+ /*
+ * Sample Fault:
+ AxisFault
+ faultCode: {http://xml.apache.org/axis/}Server.userException
+ faultString: at.gv.egovernment.moa.spss.server.MOAApplicationException: Fehler beim Validieren der Anfrage
+ faultActor: null
+ faultDetail:
+ ErrorResponse:
+ <ns2:ErrorCode>1100</ns2:ErrorCode>
+ <ns2:Info>Fehler beim Validieren der Anfrage</ns2:Info>
+ */
+ Element base = af.getFaultDetails()[0];
+ System.out.println(DOMUtils.serializeNode(base));
+
+ int error_no_server = getErrorNumber(base);
+ if (error_no_server == -1)
+ {
+ Log.println("Kein Fehler aufgetreten oder Fehlernummer konnte nicht ermittelt werden.");
+ neg_nok++;
+ testvalues.add("NOK");
+ testerrors.add("Kein Fehler aufgetreten oder Fehlernummer konnte nicht ermittelt werden.");
+ }
+ else
+ {
+ Log.println("----- Fehlercode vom Server:" + error_no_server);
+ Log.println("----- Fehlercode vom Test:" + error_no);
+ if (error_no_server == error_no)
+ {
+ Log.println("Test erfolgreich !");
+ testvalues.add(" OK");
+ testerrors.add(null);
+ neg_ok++;
+ }
+ else
+ {
+ Log.println("Test nicht erfolgreich !");
+ neg_nok++;
+ testvalues.add("NOK");
+ testerrors.add("Fehlercodes nicht gleich: Server " + error_no_server + " Client " + error_no);
+ }
+ }
+ }
+ long diff = end_req - start_req;
+ Log.println("----- Requestdauer: " + diff + " ms");
+ if (diff > max_request)
+ max_request = diff;
+ if (diff < min_request)
+ min_request = diff;
+ all_request += diff;
+ count_all_request++;
+ testtimes.add(new Long(diff));
+ testnames.add(number);
+
+ }
+ catch (UTFDataFormatException e)
+ {
+ method2(request, error_no, number);
+ }
+ catch (SAXParseException e)
+ {
+ method2(request, error_no, number);
+ }
+ catch (Exception e)
+ {
+ neg_exc++;
+ testtimes.add(new Long(-1L));
+ testnames.add(number);
+ testvalues.add("EXC");
+ testerrors.add(e.getMessage());
+ Log.println("----- Exception:\n");
+ e.printStackTrace(Log);
+ }
+ end = System.currentTimeMillis();
+ Log.println("----- Durchlaufzeit: " + ((end - start) / 1000) + " sekunden");
+ Log.println("----- Ende Test <" + number + "> -----\n");
+ }
+
+ private void method2(String request, int error_no, String number)
+ {
+ try
+ {
+ Log.println("----- Methode 2\n");
+ String data = readFile(directorystring + "/" + request);
+ //Log.println("Data:\n"+data);
+ int index = data.indexOf(">");
+ if (index != -1)
+ {
+ String xml_head = data.substring(0, index);
+ data = data.substring(index + 1);
+ //Log.println("Data2:\n"+data);
+
+ data =
+ xml_head
+ + "<soap:Envelope "
+ + "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\" "
+ + "soap:encodingStyle=\"http://www.w3.org/2001/12/soap-encoding\"> "
+ + "<soap:Body> "
+ + data
+ + "</soap:Body>"
+ + "</soap:Envelope>";
+ //Log.println("Data3:\n"+data);
+
+ String ep = null;
+ if (data.indexOf("<Create") != -1)
+ ep = server + "moa-spss/services/SignatureCreation";
+ else
+ ep = server + "moa-spss/services/SignatureVerification";
+
+ HttpURLConnection urlc = (HttpURLConnection) (new URL(ep)).openConnection();
+ urlc.setDoInput(true);
+ urlc.setDoOutput(true);
+ urlc.setRequestProperty("SOAPAction", "");
+ BufferedWriter ow = new BufferedWriter(new OutputStreamWriter(urlc.getOutputStream()));
+ ow.write(data);
+ ow.flush();
+ int code = 0;
+ try
+ {
+ code = urlc.getResponseCode();
+ }
+ catch (IOException ioe)
+ {
+ code = 500;
+ }
+
+ if (code == 500)
+ {
+ BufferedReader err_br = new BufferedReader(new InputStreamReader(urlc.getErrorStream()));
+ StringBuffer err_response = new StringBuffer();
+ String err_line = null;
+ while ((err_line = err_br.readLine()) != null)
+ {
+ err_response.append(err_line);
+ }
+
+ Log.println("ErrResponse:\n" + err_response);
+
+ if (error_no == 0)
+ {
+ Log.println("Test erfolgreich !");
+ testvalues.add(" OK");
+ testtimes.add(new Long(-1));
+ testnames.add(number);
+ testerrors.add(null);
+ neg_ok++;
+ }
+ else
+ {
+ Log.println("Test nicht erfolgreich !");
+ neg_nok++;
+ testvalues.add("NOK");
+ testtimes.add(new Long(-1));
+ testnames.add(number);
+ testerrors.add("Test nicht erfolgreich !");
+ }
+
+ }
+ else
+ {
+ BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream()));
+ StringBuffer response = new StringBuffer();
+ String line = null;
+ while ((line = br.readLine()) != null)
+ {
+ response.append(line);
+ }
+ String resp = response.toString();
+ Log.println("Response:\n" + response);
+
+ int pos = resp.indexOf("ErrorCode>");
+ if (pos == -1)
+ {
+ Log.println("Test nicht erfolgreich !");
+ neg_nok++;
+ testvalues.add("NOK");
+ testtimes.add(new Long(-1));
+ testnames.add(number);
+ testerrors.add("Test nicht erfolgreich !");
+ }
+ else
+ {
+ resp = resp.substring(pos + "ErrorCode>".length());
+ pos = resp.indexOf("<");
+ if (pos == -1)
+ {
+ Log.println("Test nicht erfolgreich !");
+ neg_nok++;
+ testvalues.add("NOK");
+ testtimes.add(new Long(-1));
+ testnames.add(number);
+ testerrors.add("Test nicht erfolgreich !");
+ }
+ else
+ {
+ resp = resp.substring(0, pos);
+
+ int err_resp = -1;
+ try
+ {
+ err_resp = Integer.parseInt(resp);
+ }
+ catch (NumberFormatException nfe)
+ {
+ }
+ //Log.println("ResponseCode:\n"+resp);
+
+ Log.println("----- Fehlercode vom Server:" + err_resp);
+ Log.println("----- Fehlercode vom Test:" + error_no);
+
+ if (err_resp == error_no)
+ {
+ Log.println("Test erfolgreich !");
+ neg_ok++;
+ testvalues.add(" OK");
+ testtimes.add(new Long(-1));
+ testnames.add(number);
+ testerrors.add(null);
+ }
+ else
+ {
+ Log.println("Test nicht erfolgreich !");
+ neg_ok++;
+ testvalues.add("NOK");
+ testtimes.add(new Long(-1));
+ testnames.add(number);
+ testerrors.add("Fehlercodes nicht gleich: Server " + err_resp + " Client " + error_no);
+ }
+ }
+ }
+ }
+ }
+ }
+ catch (Exception ee)
+ {
+ ee.printStackTrace();
+ }
+ }
+
+ private boolean compareElements(Element root1, Element root2)
+ {
+ //Log.println("----- Compare Elements:"+root1.getNodeName()+" "+root2.getNodeName());
+ filterTree(root1);
+ filterTree(root2);
+ return compareNodes(root1, root2, 0, "root/", false);
+ }
+
+ private boolean compareNodes(Node n1, Node n2, int level, String path, boolean attribute)
+ {
+ /*try {
+ Log.println(DOMUtils.serializeNode(n1));
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ }*/
+ boolean equal = false;
+ //Log.println("----- Compare Node "+level+":"+n1+" "+n2);
+ //Log.println("----- Compare Node "+level+":"+n1.getNodeName()+" "+n2.getNodeName());
+ //Log.println("----- Checking:"+path+getPathString(n1));
+ NodeList nl1 = n1.getChildNodes();
+ NodeList nl2 = n2.getChildNodes();
+
+ int size1 = nl1.getLength();
+ int size2 = nl2.getLength();
+
+ if (debug)
+ display_one(n1);
+ if (debug)
+ display_one(n2);
+
+ if (debug)
+ if (n1.getNodeName().equals("Base64Content") && n2.getNodeName().equals("Base64Content"))
+ {
+ try
+ {
+ Log.println(
+ "CONT:"
+ + new String(Base64Utils.decode(strip(n1.getChildNodes().item(0).getNodeValue()), false)));
+ Log.println(
+ "CONT:"
+ + new String(Base64Utils.decode(strip(n2.getChildNodes().item(0).getNodeValue()), false)));
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ if (size1 != size2)
+ {
+ Log.println(
+ "----- Anzahl der Kinder nicht gleich:"
+ + path
+ + getPathString(n1)
+ + "("
+ + size1
+ + ") / "
+ + getPathString(n2)
+ + "("
+ + size2
+ + ")");
+ return false;
+ }
+
+ equal = compareNodeExact(n1, n2, level, path + getPathString(n1) + "/");
+ if (!equal)
+ {
+ Log.println("----- Knoten sind nicht identisch:" + path + getPathString(n1));
+ return false;
+ }
+
+ if (n1.hasAttributes() || n2.hasAttributes())
+ {
+ equal = compareNodeAttriubtes(n1, n2, level + 1, path + getPathString(n1) + "/(a)");
+ if (!equal)
+ {
+ Log.println("----- Attribute stimmen nicht überein:" + path + getPathString(n1));
+ return false;
+ }
+ }
+ if (size1 == 0)
+ {
+ return true;
+ }
+
+ for (int counter = 0; counter < size1; counter++)
+ {
+ boolean found = false;
+ Node comp_n1 = nl1.item(counter);
+
+ //if(comp_n1==null) return false;
+
+ Node comp_n2 = null;
+ size2 = nl2.getLength();
+ for (int counter2 = 0; counter2 < size2; counter2++)
+ {
+ comp_n2 = nl2.item(counter2);
+
+ /*equal = compareNodeExact(comp_n1,comp_n2,level+1);
+ if(equal) return false;*/
+ //Log.println("COMP_N1:"+comp_n1);
+ //Log.println("COMP_N2:"+comp_n2);
+ equal = compareNodes(comp_n1, comp_n2, level + 1, path + getPathString(comp_n1) + "/", false);
+ if (equal)
+ {
+ n2.removeChild(comp_n2);
+ counter2 = size2;
+ nl2 = n2.getChildNodes();
+ size2 = nl2.getLength();
+ }
+
+ }
+
+ if (!equal)
+ {
+ Log.println("----- Keine Übereinstimmung gefunden:" + path + getPathString(comp_n1));
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private boolean compareNodeExact(Node n1, Node n2, int level, String path)
+ {
+ if (n1.getNodeType() == Node.TEXT_NODE)
+ {
+ Text textnode = (Text) n1;
+ /*Log.println("----- *****"+textnode.getNodeName());
+ Log.println("----- *****"+textnode.getParentNode().getNodeName());
+ Log.println("----- *****"+textnode.getNodeValue());*/
+ }
+
+ //Log.println("----- Checking:"+path);
+ String n1_name = n1.getNodeName();
+ String n2_name = n2.getNodeName();
+ /*Log.println("----- !!!!!"+n1.getNodeName());
+ Log.println("----- !!!!!"+n1.getNodeValue());
+ Log.println("----- !!!!!"+n1.getLocalName());
+ Log.println("----- !!!!!"+n1.getPrefix());
+ Log.println("----- !!!!!"+n1.getNextSibling());
+ Log.println("----- !!!!!"+n1.getPreviousSibling());*/
+
+ //Log.println("----- Compare Node "+level+":"+n1_name+" "+n2_name);
+ if (!((n1_name == null && n2_name == null)
+ || (n1_name != null && n2_name != null && n1_name.equals(n2_name))))
+ {
+ Log.println("----- Name stimmt nicht überein:" + path);
+ return false;
+ }
+
+ //Log.println("----- Compare Node "+level+":"+n1.getNodeType()+" "+n2.getNodeType());
+ if (n1.getNodeType() != n2.getNodeType())
+ {
+ Log.println("----- Knotentyp stimmt nicht überein:" + path);
+ return false;
+ }
+
+ String n1_ns = n1.getPrefix();
+ String n2_ns = n2.getPrefix();
+ //Log.println("----- Compare Node "+level+":"+n1_ns+" "+n2_ns);
+ if (!((n1_ns == null && n2_ns == null) || (n1_ns != null && n2_ns != null && n1_ns.equals(n2_ns))))
+ {
+ Log.println("----- NameSpace stimmt nicht überein:" + path);
+ return false;
+ }
+
+ String n1_value = n1.getNodeValue();
+ String n2_value = n2.getNodeValue();
+
+ boolean special = false;
+ special = specialValues(n1_value, n2_value, path);
+ if (special)
+ return true;
+
+ //Log.println("----- Compare Node "+level+":"+n1_value+" "+n2_value);
+ if (!((n1_value == null && n2_value == null)
+ || (n1_value != null && n2_value != null && n1_value.equals(n2_value))))
+ {
+ Log.println("----- Wert stimmt nicht überein:" + path);
+ Log.println("----- Value1:\n" + n1_value);
+ Log.println("----- Value2:\n" + n2_value);
+ return false;
+ }
+
+ return true;
+ }
+
+ private boolean compareNodeAttriubtesWithoutSize(Node n1, Node n2, int level, String path)
+ {
+ return true;
+ }
+
+ private boolean compareNodeAttriubtes(Node n1, Node n2, int level, String path)
+ {
+ //Log.println("----- Compare NodeAttributes "+level+":"+n1.getNodeName()+" "+n2.getNodeName());
+ Element n1elem = (Element) n1;
+ Element n2elem = (Element) n2;
+
+ NamedNodeMap nnm1 = n1.getAttributes();
+ NamedNodeMap nnm2 = n2.getAttributes();
+
+ int size1 = 0;
+ int size2 = 0;
+
+ boolean specialattrs = specialAttributesSize(path);
+
+ if (!specialattrs)
+ {
+
+ if (nnm1 == null && nnm2 == null)
+ return true;
+ if (nnm1 == null || nnm2 == null)
+ {
+ Log.println("----- Anzahl der Attribute nicht gleich:" + path + ":" + getPathString(n1));
+ return false;
+ }
+ size1 = nnm1.getLength();
+ size2 = nnm2.getLength();
+
+ if (size1 != size2)
+ {
+ Log.println("----- Anzahl der Attribute nicht gleich:" + path + ":" + getPathString(n1));
+ return false;
+ }
+
+ }
+ else
+ {
+ return compareNodeAttriubtesWithoutSize(n1, n2, level, path);
+ }
+
+ for (int counter = 0; counter < size1; counter++)
+ {
+ Node attribute_node1 = nnm1.item(counter);
+ Node attribute_node2 = nnm2.item(counter);
+
+ String attr1_name = attribute_node1.getNodeName();
+ String attr2_name = attribute_node2.getNodeName();
+
+ //Log.println("----- Checking:"+path+">"+attr1_name);
+
+ String value1 = n1elem.getAttribute(attr1_name);
+ String value2 = n2elem.getAttribute(attr2_name);
+
+ boolean special = false;
+
+ special = specialAttributes(value1, value2);
+ if (special)
+ {
+ return special;
+ }
+
+ if (!value1.equals(value2))
+ {
+ Log.println("----- Keine Übereinstimmung gefunden:" + path + getPathString(n1));
+ return false;
+ }
+ //Log.println("----- Compare NodeAttributes > "+level+":"+attribute_node1+" "+attribute_node2);
+
+ /*boolean equal = compareNodes(attribute_node1,attribute_node2,level+1,path+attribute_node1.getNodeName()+"/",true);
+ if(!equal)
+ {
+ //Log.println("----- no match for:"+attribute_node1.getNodeName());
+ return false;
+ }*/
+
+ }
+
+ return true;
+ }
+
+ private boolean checkNode(Node base, String name)
+ {
+ if (base.getNodeName().equals(name))
+ {
+ return true;
+ }
+
+ NodeList children = base.getChildNodes();
+ int size = children.getLength();
+ for (int counter = 0; counter < size; counter++)
+ {
+ boolean found = checkNode(children.item(counter), name);
+ if (found)
+ return true;
+ }
+ return false;
+ }
+
+ private void display_one(Node base)
+ {
+ int att_size = 0;
+ if (base.getAttributes() != null)
+ {
+ att_size = base.getAttributes().getLength();
+ }
+ if (base.getNodeName().equals("#text"))
+ Log.println(
+ base.getNodeName()
+ + base.getChildNodes().getLength()
+ + ":"
+ + att_size
+ + " ("
+ + base.getNodeValue()
+ + ")");
+ else
+ Log.println(base.getNodeName() + base.getChildNodes().getLength() + ":" + att_size);
+ }
+
+ private void display(Node base)
+ {
+ display(base, 1);
+ }
+
+ private void display(Node base, int level)
+ {
+ String spacer = "";
+ for (int counter = 0; counter < level; counter++)
+ {
+ spacer += " ";
+ }
+
+ int att_size = 0;
+ if (base.getAttributes() != null)
+ {
+ att_size = base.getAttributes().getLength();
+ }
+ if (base.getNodeName().equals("#text"))
+ Log.println(
+ spacer
+ + base.getNodeName()
+ + base.getChildNodes().getLength()
+ + ":"
+ + att_size
+ + " ("
+ + base.getNodeValue()
+ + ")");
+ else
+ Log.println(spacer + base.getNodeName() + base.getChildNodes().getLength() + ":" + att_size);
+
+ NodeList children = base.getChildNodes();
+ int size = children.getLength();
+ for (int counter = 0; counter < size; counter++)
+ {
+ display(children.item(counter), level + 1);
+ }
+ }
+
+ private void filterTree(Node base)
+ {
+ ArrayList removeList = new ArrayList();
+
+ NodeList children = base.getChildNodes();
+ int size = children.getLength();
+ for (int counter = 0; counter < size; counter++)
+ {
+ Node child1 = children.item(counter);
+ if (child1.getNodeType() == Node.TEXT_NODE && child1.getNodeValue().trim().equals(""))
+ {
+ removeList.add(child1);
+ }
+ }
+
+ size = removeList.size();
+ for (int counter = 0; counter < size; counter++)
+ {
+ base.removeChild((Node) removeList.get(counter));
+ }
+
+ children = base.getChildNodes();
+ size = children.getLength();
+ for (int counter = 0; counter < size; counter++)
+ {
+ filterTree(children.item(counter));
+ }
+
+ }
+
+ private String readFile(String filename) throws Exception
+ {
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+
+ byte[] result = new byte[(int) raf.length()];
+
+ raf.read(result);
+
+ return new String(result);
+
+ }
+
+ private String getPathString(Node n)
+ {
+ if (n.getNodeType() == Node.TEXT_NODE)
+ {
+ return n.getParentNode().getNodeName() + "(text)";
+ }
+ else
+ {
+ return n.getNodeName();
+ }
+
+ }
+
+ private String replaceString(String input, String oldPart, String newPart) throws Exception
+ {
+ String erg = null;
+
+ //First Part
+ erg = input.substring(0, input.indexOf(oldPart));
+ //Insert new Part
+ erg += newPart;
+
+ //insert REST
+ erg += input.substring(input.indexOf(oldPart) + oldPart.length(), input.length());
+
+ return erg;
+ }
+
+ private String replaceStringWithCheck(String input, String oldPart, String newPart) throws Exception
+ {
+ String erg = null;
+
+ if (input.indexOf(oldPart) == -1)
+ return input;
+
+ return replaceString(input, oldPart, newPart);
+ }
+
+ private void printKeyStoreInformation(String keystore, String pw) throws Exception
+ {
+ KeyStore ks = KeyStore.getInstance("JKS", "SUN");
+ ks.load(new FileInputStream(keystore), pw.toCharArray());
+ Enumeration enum = ks.aliases();
+ while (enum.hasMoreElements())
+ {
+ String certname = (String) enum.nextElement();
+ Log.println("Cert:" + certname);
+ sun.security.x509.X509CertImpl c = (sun.security.x509.X509CertImpl) ks.getCertificate(certname);
+ Principal p = c.getIssuerDN();
+ Log.println(" Issuer:" + p.getName());
+ p = c.getSubjectDN();
+ Log.println(" Subject:" + p.getName());
+ Log.println(" Serial:" + c.getSerialNumber());
+ }
+ }
+
+ private void printGraph(
+ ArrayList names,
+ ArrayList times,
+ ArrayList values,
+ ArrayList errors,
+ String suitename)
+ {
+ long max = getMax(times, names);
+ //Log.println("MAX:"+max);
+ if (max == -1)
+ {
+ Log.println("Kein Graph möglich !");
+ return;
+ }
+ Log.println("names:" + names.size());
+ Log.println("times:" + times.size());
+ Log.println("values:" + values.size());
+ Log.println("errors:" + errors.size());
+ Log.println("# | Status | Suite:" + suitename);
+ int size = times.size();
+ for (int counter = 0; counter < size; counter++)
+ {
+ String output = "";
+ long value = ((Long) times.get(counter)).longValue();
+ if (value != -1)
+ {
+ output = names.get(counter) + " | " + values.get(counter) + " | " + getElement(value, max);
+
+ }
+ else
+ {
+ output = names.get(counter) + " | " + values.get(counter) + " | " + ELEMS_ICON_BAD;
+ }
+
+ if (errors.get(counter) != null)
+ {
+ output += buildSpacer(70 - output.length()) + errors.get(counter);
+ }
+ Log.println(output);
+ }
+
+ }
+
+ private String getElement(long value, long max)
+ {
+ boolean plus = false;
+ int elems = (int) (((((double) value) / ((double) max)) * (ELEMS_MAX / 2)));
+ if (elems > ELEMS_MAX)
+ {
+ elems = ELEMS_MAX;
+ plus = true;
+ }
+ StringBuffer sb = new StringBuffer();
+ for (int counter = 0; counter < elems; counter++)
+ {
+ sb.append(ELEMS_ICON);
+ }
+ for (int counter = 0; counter < (ELEMS_MAX - elems); counter++)
+ {
+ sb.append(" ");
+ }
+ if (plus)
+ sb.append("> ");
+ else
+ sb.append(" ");
+
+ sb.append(value + " ms");
+
+ return sb.toString();
+ }
+
+ private long getMax(ArrayList times, ArrayList names)
+ {
+ int count = 0;
+ double sum = 0;
+ int size = times.size();
+ for (int counter = 0; counter < size; counter++)
+ {
+ //Log.println(times.get(counter)+":"+names.get(counter));
+ long value = ((Long) times.get(counter)).longValue();
+ if (value != -1)
+ {
+ sum += value;
+ count++;
+ }
+ }
+
+ if (count == 0)
+ return -1;
+
+ return ((long) (sum / count));
+ }
+
+ private boolean specialAttributes(String value1, String value2)
+ {
+ //if(value1.startsWith("reference-") && value2.startsWith("reference-")) return true;
+ if (value1.startsWith("signature-") && value2.startsWith("signature-"))
+ return true;
+
+ return false;
+ }
+
+ private boolean specialAttributesSize(String path)
+ {
+ if (path.endsWith("/xsl:template/(a)"))
+ return true;
+ return false;
+ }
+
+ private boolean specialValues(String value1, String value2, String path)
+ {
+
+ //Log.println(path);
+ if (ignoreSignatureValue)
+ {
+ if (path.endsWith("/dsig:SignatureValue(text)/"))
+ {
+ return true;
+ }
+ }
+ else
+ {
+ if (path.endsWith("/dsig:SignatureValue(text)/"))
+ {
+ String stripped_1 = strip(value1);
+ String stripped_2 = strip(value2);
+ return stripped_1.equals(stripped_2);
+ }
+ }
+
+ if (path.endsWith("/dsig:X509Certificate(text)/"))
+ {
+ String stripped_1 = strip(value1);
+ String stripped_2 = strip(value2);
+ return stripped_1.equals(stripped_2);
+ }
+
+ if (path.endsWith("/dsig:Object(text)/"))
+ {
+ String stripped_1 = strip(value1);
+ String stripped_2 = strip(value2);
+ return stripped_1.equals(stripped_2);
+ }
+
+ if (path.endsWith("/Base64Content(text)/"))
+ {
+ String stripped_1 = strip(value1);
+ String stripped_2 = strip(value2);
+ return stripped_1.equals(stripped_2);
+ }
+
+ if (path.endsWith("/FailedReference(text)/"))
+ {
+ try
+ {
+ int stripped_1 = Integer.parseInt(value1);
+ int stripped_2 = Integer.parseInt(value2);
+ return stripped_1 == stripped_2;
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+ }
+
+ return false;
+ }
+
+ private String strip(String input)
+ {
+ String output = replaceStringAll(input, " ", "");
+ output = replaceStringAll(output, "\n", "");
+ output = replaceStringAll(output, "\r", "");
+ return output;
+ }
+
+ public static String replaceStringAll(String input, String oldPart, String newPart)
+ {
+
+ String erg = null;
+
+ int pos = input.indexOf(oldPart);
+ if (pos == -1)
+ return input;
+
+ while (true)
+ {
+
+ //First Part
+ pos = input.indexOf(oldPart);
+ if (pos == -1)
+ break;
+ erg = input.substring(0, pos);
+
+ //Insert new Part
+ erg += newPart;
+
+ //insert REST
+ erg += input.substring(input.indexOf(oldPart) + oldPart.length(), input.length());
+
+ input = erg;
+ }
+ return erg;
+ }
+
+ private int getErrorNumber(Element root)
+ {
+ ArrayList result = new ArrayList();
+ findNode(root, "ErrorCode", result);
+ if (result.size() != 1)
+ return -1;
+ Node n = (Node) result.get(0);
+ String text = (String) n.getChildNodes().item(0).getNodeValue();
+ try
+ {
+ int error = Integer.parseInt(text);
+ return error;
+ }
+ catch (NumberFormatException nfe)
+ {
+ Log.println(text + " ist keine gültige Fehlernummer");
+ return -1;
+ }
+ }
+
+ private void findNode(Node base, String name, ArrayList foundNodes)
+ {
+ findNode(base, name, foundNodes, -1);
+ }
+
+ private void findNode(Node base, String name, ArrayList foundNodes, int max_level)
+ {
+ findNode(base, name, foundNodes, max_level, 0);
+ }
+
+ private void findNode(Node base, String name, ArrayList foundNodes, int max_level, int level)
+ {
+ if (max_level != -1 && max_level <= level)
+ return;
+ //System.out.println("FINDNODE "+name);
+ //System.out.println("CHECKING "+base.getNodeName());
+ if (base.getNodeName().endsWith(name))
+ {
+ //System.out.println("ADD BASE !"+name);
+ foundNodes.add(base);
+ }
+
+ NodeList children = base.getChildNodes();
+ int size = children.getLength();
+ for (int counter = 0; counter < size; counter++)
+ {
+ findNode(children.item(counter), name, foundNodes, max_level, level + 1);
+ }
+ }
+
+ private String findErrorNode(Node n)
+ {
+ ArrayList al = new ArrayList();
+ findNode(n, "ErrorResponse", al);
+ if (al.size() != 0)
+ {
+ al.clear();
+ findNode(n, "ErrorCode", al);
+ String code = ((Node) al.get(0)).getChildNodes().item(0).getNodeValue();
+ al.clear();
+ findNode(n, "Info", al);
+ String msg = ((Node) al.get(0)).getChildNodes().item(0).getNodeValue();
+
+ return "ErrorCode: " + code + " / ErrorMsg: " + msg;
+ }
+ else
+ return null;
+ }
+
+ private String buildSpacer(int length)
+ {
+ if (length <= 0)
+ return "";
+ else
+ {
+ StringBuffer output = new StringBuffer();
+ for (int counter = 0; counter < length; counter++)
+ {
+ output.append(" ");
+ }
+ return output.toString();
+ }
+ }
+
+} \ No newline at end of file
diff --git a/spss.test/src/testgenerator/CMSKeyStore.java b/spss.test/src/testgenerator/CMSKeyStore.java
new file mode 100644
index 000000000..a85da893b
--- /dev/null
+++ b/spss.test/src/testgenerator/CMSKeyStore.java
@@ -0,0 +1,198 @@
+// Copyright (C) 1997-2002 IAIK
+// email: jce-info@iaik.tu-graz.ac.at
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $Header$
+//
+// $Header$
+//
+
+package testgenerator;
+
+import iaik.utils.Util;
+import iaik.x509.X509Certificate;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+
+public class CMSKeyStore implements CMSKeyStoreConstants {
+
+ static Object[][] certificates = new Object[3][7];
+ static PrivateKey[][] keys = new PrivateKey[3][7];
+ static X509Certificate[] ca_certificates = new X509Certificate[2];
+ static PrivateKey[] ca_keys = new PrivateKey[2];
+
+ public final static int RSA = 0;
+ public final static int DSA = 1;
+ public final static int ESDH = 2;
+
+ public final static int SZ_512_SIGN = 0;
+ public final static int SZ_1024_SIGN = 1;
+ public final static int SZ_2048_SIGN = 2;
+ public final static int SZ_512_CRYPT = 3;
+ public final static int SZ_1024_CRYPT = 4;
+ public final static int SZ_1024_CRYPT_ = 5;
+ public final static int SZ_2048_CRYPT = 6;
+
+ static KeyStore key_store;
+
+ static {
+ System.out.println("initializing KeyStore...");
+ loadKeyStore();
+ initKeyStore();
+ }
+
+ private static void loadKeyStore() {
+ // try to locate the KeyStore
+ // first check the current working directory
+ System.out.println("User.dir:"+System.getProperty("user.dir"));
+ File ks = new File(System.getProperty("user.dir"), KS_FILENAME);
+ if (!ks.exists()) {
+ System.out.println("Can not find the KeyStore in directory:");
+ System.out.println(ks.getAbsolutePath());
+ System.exit(1);
+ }
+
+ // now try to create and load the KeyStore
+ try {
+ key_store = KeyStore.getInstance("IAIKKeyStore");
+ key_store.load(new FileInputStream(ks), KS_PASSWORD);
+ } catch (Exception ex) {
+ System.out.println("Unable to load KeyStore!");
+ ex.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+ private static void initKeyStore() {
+
+ try {
+ ca_certificates[RSA] = Util.convertCertificateChain(key_store.getCertificateChain(CA_RSA))[0];
+ ca_keys[RSA] = (PrivateKey)key_store.getKey(CA_RSA, KS_PASSWORD);
+
+ // RSA for signing
+ certificates[RSA][SZ_512_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_512_SIGN));
+ keys[RSA][SZ_512_SIGN] = (PrivateKey)key_store.getKey(RSA_512_SIGN, KS_PASSWORD);
+ certificates[RSA][SZ_1024_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_1024_SIGN));
+ keys[RSA][SZ_1024_SIGN] = (PrivateKey)key_store.getKey(RSA_1024_SIGN, KS_PASSWORD);
+ certificates[RSA][SZ_2048_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_2048_SIGN));
+ keys[RSA][SZ_2048_SIGN] = (PrivateKey)key_store.getKey(RSA_2048_SIGN, KS_PASSWORD);
+ // RSA for encrypting
+ certificates[RSA][SZ_512_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_512_CRYPT));
+ keys[RSA][SZ_512_CRYPT] = (PrivateKey)key_store.getKey(RSA_512_CRYPT, KS_PASSWORD);
+ certificates[RSA][SZ_1024_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_1024_CRYPT));
+ keys[RSA][SZ_1024_CRYPT] = (PrivateKey)key_store.getKey(RSA_1024_CRYPT, KS_PASSWORD);
+ certificates[RSA][SZ_1024_CRYPT_] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_1024_CRYPT_));
+ keys[RSA][SZ_1024_CRYPT_] = (PrivateKey)key_store.getKey(RSA_1024_CRYPT_, KS_PASSWORD);
+ certificates[RSA][SZ_2048_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_2048_CRYPT));
+ keys[RSA][SZ_2048_CRYPT] = (PrivateKey)key_store.getKey(RSA_2048_CRYPT, KS_PASSWORD);
+ } catch (Exception ex) {
+ System.out.println("Unable to get RSA certificates from KeyStore.");
+ ex.printStackTrace();
+ }
+
+ try {
+ ca_certificates[DSA] = Util.convertCertificateChain(key_store.getCertificateChain(CA_DSA))[0];
+ ca_keys[DSA] = (PrivateKey)key_store.getKey(CA_DSA, KS_PASSWORD);
+
+ certificates[DSA][SZ_512_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(DSA_512));
+ keys[DSA][SZ_512_SIGN] = (PrivateKey)key_store.getKey(DSA_512, KS_PASSWORD);
+ certificates[DSA][SZ_1024_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(DSA_1024));
+ keys[DSA][SZ_1024_SIGN] = (PrivateKey)key_store.getKey(DSA_1024, KS_PASSWORD);
+
+ } catch (Exception ex) {
+ System.out.println("Unable to get DSA certificate from KeyStore.");
+ ex.printStackTrace();
+ }
+
+ /*try {
+ certificates[ESDH][SZ_512_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(ESDH_512));
+ keys[ESDH][SZ_512_CRYPT] = (PrivateKey)key_store.getKey(ESDH_512, KS_PASSWORD);
+ certificates[ESDH][SZ_1024_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(ESDH_1024));
+ keys[ESDH][SZ_1024_CRYPT] = (PrivateKey)key_store.getKey(ESDH_1024, KS_PASSWORD);
+ certificates[ESDH][SZ_1024_CRYPT_] = Util.convertCertificateChain(key_store.getCertificateChain(ESDH_1024_));
+ keys[ESDH][SZ_1024_CRYPT_] = (PrivateKey)key_store.getKey(ESDH_1024_, KS_PASSWORD);
+ certificates[ESDH][SZ_2048_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(ESDH_2048));
+ keys[ESDH][SZ_2048_CRYPT] = (PrivateKey)key_store.getKey(ESDH_2048, KS_PASSWORD);
+ } catch (Exception ex) {
+ System.out.println("Unable to get Diffie-Hellman certificate from KeyStore.");
+ ex.printStackTrace();
+ }*/
+ }
+
+ /**
+ * Returns the private key of a CA certificate.
+ *
+ * @param type {@link #RSA RSA} or {@link #DSA DSA} or {@link #ESDH ESDH}
+ */
+ public static PrivateKey getPrivateKey(int type, int size) {
+ try {
+ return keys[type][size];
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ throw new RuntimeException("Wrong type or size!");
+ }
+ }
+
+ /**
+ * Returns a demo user certificate.
+ *
+ * @param type {@link #RSA RSA} or {@link #DSA DSA} or {@link #ESDH ESDH}
+ */
+ public static X509Certificate[] getCertificateChain(int type, int size) {
+ try {
+ return (X509Certificate[])certificates[type][size];
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ throw new RuntimeException("Wrong type or size!");
+ }
+ }
+
+ /**
+ * Returns the private key of a CA certificate.
+ *
+ * @param type {@link #RSA RSA} or {@link #DSA DSA}
+ */
+ public static PrivateKey getCaPrivateKey(int type) {
+ try {
+ return ca_keys[type];
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ throw new RuntimeException("Wrong type or size!");
+ }
+ }
+
+ /**
+ * Returns a demo CA certificate.
+ *
+ * @param type {@link #RSA RSA} or {@link #DSA DSA}
+ */
+ public static X509Certificate getCaCertificate(int type) {
+ try {
+ return ca_certificates[type];
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ throw new RuntimeException("Wrong type or size!");
+ }
+ }
+}
diff --git a/spss.test/src/testgenerator/CMSKeyStoreConstants.java b/spss.test/src/testgenerator/CMSKeyStoreConstants.java
new file mode 100644
index 000000000..6e4892d64
--- /dev/null
+++ b/spss.test/src/testgenerator/CMSKeyStoreConstants.java
@@ -0,0 +1,51 @@
+// Copyright (C) 1997-2002 IAIK
+// email: jce-info@iaik.tu-graz.ac.at
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $Header$
+//
+
+package testgenerator;
+
+public interface CMSKeyStoreConstants {
+ public final static String CA_RSA = "CA.RSA";
+ public final static String CA_DSA = "CA.DSA";
+ public final static String RSA_512_SIGN = "RSA_SIGN.512";
+ public final static String RSA_512_CRYPT = "RSA_CRYPT.512";
+ public final static String RSA_1024_SIGN = "RSA_SIGN.1024";
+ public final static String RSA_1024_CRYPT = "RSA_CRYPT.1024";
+ public final static String RSA_1024_CRYPT_ = "RSA_CRYPT_.1024";
+ public final static String RSA_2048_SIGN = "RSA_SIGN.2048";
+ public final static String RSA_2048_CRYPT = "RSA_CRYPT.2048";
+ public final static String DSA_512 = "DSA.512";
+ public final static String DSA_1024 = "DSA.1024";
+ public final static String ESDH_512 = "ESDH.512";
+ public final static String ESDH_1024 = "ESDH.1024";
+ public final static String ESDH_1024_ = "ESDH_.1024";
+ public final static String ESDH_2048 = "ESDH.2048";
+ public final static String KS_FILENAME = "resources/cms.keystore";
+ public final static char[] KS_PASSWORD = "topSecret".toCharArray();
+}
+ \ No newline at end of file
diff --git a/spss.test/src/testgenerator/CreatePKCSSignature.java b/spss.test/src/testgenerator/CreatePKCSSignature.java
new file mode 100644
index 000000000..896daf6d1
--- /dev/null
+++ b/spss.test/src/testgenerator/CreatePKCSSignature.java
@@ -0,0 +1,874 @@
+package testgenerator;
+
+import iaik.ixsil.algorithms.CanonicalizationAlgorithm;
+import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML;
+import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXMLWithComments;
+import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXML;
+import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments;
+import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
+import iaik.ixsil.algorithms.SignatureAlgorithmImplECDSA;
+import iaik.ixsil.algorithms.SignatureAlgorithmImplRSA;
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.core.Position;
+import iaik.ixsil.core.Signer;
+import iaik.ixsil.core.SignerManifest;
+import iaik.ixsil.core.SignerReference;
+import iaik.ixsil.core.SignerSignature;
+import iaik.ixsil.core.SignerSignedInfo;
+import iaik.ixsil.core.URIResolverParameters;
+import iaik.ixsil.init.IXSILConstants;
+import iaik.ixsil.keyinfo.KeyManagerImpl;
+import iaik.ixsil.keyinfo.retrieval.KeyProviderImplRetrievalMethod;
+import iaik.ixsil.keyinfo.retrieval.RetrievalMethod;
+import iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data;
+import iaik.ixsil.keyinfo.x509.X509Data;
+import iaik.ixsil.util.URI;
+import iaik.pkcs.pkcs12.PKCS12;
+import iaik.security.ecc.interfaces.ECDSAPrivateKey;
+import iaik.utils.Base64OutputStream;
+import java.io.ByteArrayOutputStream;
+import java.security.cert.X509Certificate;
+import java.security.interfaces.RSAPrivateKey;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xml.serialize.DOMWriterImpl;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+
+/**
+ * @author Stevie (Admin)
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class CreatePKCSSignature extends TestCases{
+
+ private static final int canAlgCanXML = 1;
+ private static final int canAlgCanXMLwithCom = 2;
+ private static final int canAlgExcXML = 3;
+ private static final int canAlgExcXMLwithCom = 4;
+
+ private Document doc;
+ public Signer signer;
+ private SignerSignature signature;
+ private SignerSignedInfo signedInfo;
+ private PKCS12 pkcs12;
+ private String x509CertString;
+ public CreatePKCSSignature() throws Exception {
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ // Schritt 1
+
+ public void init() throws Exception{
+ pkcs12 = decryptPKCS12(
+ configuration_.getProperty("PKCS12file"),
+ configuration_.getProperty("PKCS12password"));
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ signature = signer.getSignature();
+ signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg =
+ new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey(pkcs12);
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ }
+ public void init(String iD) throws Exception{
+ pkcs12 = decryptPKCS12(
+ configuration_.getProperty("PKCS12file"),
+ configuration_.getProperty("PKCS12password"));
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ signature = signer.getSignature();
+ signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg =
+ new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey(pkcs12);
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+ signature.setId(iD);
+ }
+
+ public void init(Document doc, Position position) throws Exception{
+ pkcs12 = decryptPKCS12(
+ configuration_.getProperty("PKCS12file"),
+ configuration_.getProperty("PKCS12password"));
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ signer = new Signer(doc, baseURI, position);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ signature = signer.getSignature();
+ signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg =
+ new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey(pkcs12);
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ }
+
+ public void init(Document doc, Position position,String iD) throws Exception{
+ pkcs12 = decryptPKCS12(
+ configuration_.getProperty("PKCS12file"),
+ configuration_.getProperty("PKCS12password"));
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ signer = new Signer(doc, baseURI, position);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ signature = signer.getSignature();
+ signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg =
+ new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey(pkcs12);
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+ signature.setId(iD);
+
+ }
+
+
+ public void initECDSA() throws Exception{
+ pkcs12 = decryptPKCS12(
+ configuration_.getProperty("ECDSPKCS12file"),
+ configuration_.getProperty("ECDSPKCS12password"));
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ signature = signer.getSignature();
+ signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set signature algorithm
+ SignatureAlgorithmImplECDSA signatureAlg = new SignatureAlgorithmImplECDSA();
+
+ ECDSAPrivateKey privateKey = (ECDSAPrivateKey)pkcs12.getKeyBag().getPrivateKey();
+
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ SignerSignature signature = signer.getSignature();
+ SignerSignedInfo signedInfo = signature.getSignerSignedInfo();
+
+ }
+
+ // Schritt 2
+
+ public void setCanoncialization(int CanonicalizationMethodNumber) throws Exception
+ {
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithm calg = null;
+
+ switch (CanonicalizationMethodNumber)
+ {
+ case canAlgCanXML :
+ calg = new CanonicalizationAlgorithmImplCanonicalXML(); break;
+ case canAlgCanXMLwithCom :
+ calg = new CanonicalizationAlgorithmImplCanonicalXMLWithComments(); break;
+ case canAlgExcXML :
+ calg = new CanonicalizationAlgorithmImplExclusiveCanonicalXML(); break;
+ case canAlgExcXMLwithCom :
+ calg = new CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments(); break;
+ }
+
+ signedInfo.setCanonicalizationAlgorithm(calg);
+
+ }
+ /**
+ * Method createReference.
+ * @param booelan env: if set, the data-string will be enveloped, else an uri pointing to data will be created
+ * @param data
+ * @throws Exception
+ */
+ // Schritt 3.1
+
+ public void createEnvelopedDataObject(String iD, String data) throws Exception
+ {
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(data);
+ object.setId(iD);
+ signature.addObject(object);
+ }
+
+ public void createEnvelopedDataObject(String iD, Element doc) throws Exception
+ {
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(doc);
+ object.setId(iD);
+ signature.addObject(object);
+ }
+
+ public void createReference(URI uri, URI type) throws Exception
+ {
+ SignerReference reference = signedInfo.createReference();
+
+ reference.setURI(uri);
+ reference.setType(type);
+ DigestAlgorithmImplSHA1 digestAlg =
+ new DigestAlgorithmImplSHA1();
+
+ reference.setDigestAlgorithm(digestAlg);
+ signedInfo.addReference(reference);
+
+ }
+
+ public void createReference(boolean env, String data, String iD) throws Exception
+ {
+ SignerReference reference = signedInfo.createReference();
+
+ if (env) {
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(data);
+ object.setId("envelopedData");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg =
+ new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(
+ new URI("#xpointer(id('envelopedData')/node())"));
+ } else {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data);
+
+ reference.setURI(refURI);
+ if (iD!=null)
+ reference.setId(iD);
+ DigestAlgorithmImplSHA1 digestAlg =
+ new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+
+ signedInfo.addReference(reference);
+
+ }
+ public void createReference(boolean env, String data) throws Exception
+ {
+ createReference(env,data,null);
+ }
+
+ public void createETSIObjects(String data) throws Exception
+ {
+ SignerReference reference = signedInfo.createReference();
+
+ URI refURI = null;
+ refURI = new URI(data);
+
+ reference.setURI(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"));
+ reference.setType(new URI("http://uri.etsi.org/01903/v1.1.1#SignedProperties"));
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ signedInfo.addReference(reference);
+
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(getElement("TEST"));
+ object.setId("etsi-signed-1-1");
+ signature.addObject(object);
+ }
+
+ public Element getElement(String data) throws Exception
+ {
+ String etsinamespace = "http://uri.etsi.org/01903/v1.1.1#";
+
+ getX509Content();
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ //dbf.setNamespaceAware(true);
+ //dbf.setValidating(true);
+
+ Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+
+
+ Element qualprop = doc.createElementNS(etsinamespace,"etsi:QualifyingProperties");
+ qualprop.setAttributeNS(null,"Target","#signature-1-1");
+ qualprop.setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:etsi",etsinamespace);
+ //qualprop.setPrefix("etsi");*/
+ //qualprop.setAttributeNodeNS(doc.createAttributeNS(etsinamespace,"etsi"));
+ Element signprop = doc.createElementNS(etsinamespace,"etsi:SignedProperties");
+ Element signsigprop = doc.createElementNS(etsinamespace,"etsi:SignedSignatureProperties");
+ Element signdataobjectprop = doc.createElementNS(etsinamespace,"etsi:SignedDataObjectProperties");
+ Element signdate = doc.createElementNS(etsinamespace,"etsi:SigningTime");
+ Text datevalue = doc.createTextNode("2003-05-10T00:01:01");
+ Element signcert = doc.createElementNS(etsinamespace,"etsi:SigningCertificate");
+ Element cert = doc.createElementNS(etsinamespace,"etsi:Cert");
+ Element signpolyident = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyIdentifier");
+ Element signpolyimp = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyImplied");
+ Element certdig = doc.createElementNS(etsinamespace,"etsi:CertDigest");
+ Element digmeth = doc.createElementNS(etsinamespace,"etsi:DigestMethod");
+ digmeth.setAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#sha1");
+ Element digvalue = doc.createElementNS(etsinamespace,"etsi:DigestValue");
+
+ ByteArrayOutputStream fos = new ByteArrayOutputStream();
+ Base64OutputStream base64os = new Base64OutputStream(fos);
+ base64os.write(this.X509hash.getBytes());
+ base64os.flush();
+
+ Text dig_value = doc.createTextNode(fos.toString());
+ Element is = doc.createElementNS(etsinamespace,"etsi:IssuerSerial");
+ Element i = doc.createElement("dsig:X509IssuerName");
+ Text i_value = doc.createTextNode(this.X509name);
+ Element s = doc.createElement("dsig:X509SerialNumber");
+ Text s_value = doc.createTextNode(this.X509number.toString());
+ Element dataobjformat = doc.createElementNS(etsinamespace,"etsi:DataObjectFormat");
+ dataobjformat.setAttribute("ObjectReference","#reference-1-1");
+ Element mimetype = doc.createElementNS(etsinamespace,"etsi:MimeType");
+ //mimetype.setNodeValue("text/plain");
+ Text mimevalue = doc.createTextNode("text/html");
+
+ qualprop.appendChild(signprop);
+ signprop.appendChild(signsigprop);
+ signsigprop.appendChild(signdate);
+ signdate.appendChild(datevalue);
+ signsigprop.appendChild(signcert);
+ signcert.appendChild(cert);
+ cert.appendChild(certdig);
+ certdig.appendChild(digmeth);
+ certdig.appendChild(digvalue);
+ digvalue.appendChild(dig_value);
+ cert.appendChild(is);
+ is.appendChild(i);
+ i.appendChild(i_value);
+ is.appendChild(s);
+ s.appendChild(s_value);
+ signsigprop.appendChild(signpolyident);
+ signpolyident.appendChild(signpolyimp);
+ signprop.appendChild(signdataobjectprop);
+ signdataobjectprop.appendChild(dataobjformat);
+ dataobjformat.appendChild(mimetype);
+ mimetype.appendChild(mimevalue);
+
+
+
+ return qualprop;
+ }
+
+
+
+ public void createReferenceEnvElement(Element data) throws Exception
+ {
+ SignerReference reference = signedInfo.createReference();
+
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(data);
+ object.setId("envelopedData");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg =
+ new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(
+ new URI("#xpointer(Data/node())"));
+
+
+ signedInfo.addReference(reference);
+
+ }
+ public void createReferenceWithTransforms(URI uriToData, Transform[] transforms) throws Exception
+ {
+ createReferenceWithTransforms(uriToData, transforms,null);
+ }
+
+ public void createReferenceWithTransforms(URI uriToData, Transform[] transforms, String iD) throws Exception
+ {
+ SignerReference reference = signedInfo.createReference();
+
+ // Create and configure reference
+ URI refURI = null;
+ //String baseDir = configuration_.getProperty("baseDir");
+ refURI = uriToData;
+
+ reference.setURI(refURI);
+ if (iD!=null)
+ reference.setId(iD);
+
+ DigestAlgorithmImplSHA1 digestAlg =
+ new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ for (int trNr=0; trNr < transforms.length; trNr++)
+ {
+ reference.insertTransformAt(transforms[trNr],trNr);
+ //transforms[trNr].transform();
+ }
+
+ signedInfo.addReference(reference);
+
+
+ }
+ public Element createReferenceWithManifest(
+ URI uriToData1, String iD1) throws Exception
+ {
+ return createReferencesWithManifest(uriToData1,iD1,null);
+ }
+
+ public Element createReferenceWithManifest(
+ URI uriToData1, String iD1, String type) throws Exception
+ {
+ /*
+ public void createReferenceWithManifest(
+ URI uriToData1, String iD1,
+ URI uriToData2, String iD2
+ ) throws Exception
+ */
+ SignerReference reference = signedInfo.createReference();
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ manifestRef.setDigestAlgorithm(digestAlg);
+
+ manifestRef.setURI(uriToData1);
+ manifest.addReference(manifestRef);
+
+ manifest.setId(iD1);
+ iaik.ixsil.core.Object manifestObject =
+ signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(new URI("#xpointer(id('"+iD1+"'))"));
+ if (type==null)
+ reference.setType(
+ new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ else
+ reference.setType(new URI(type));
+
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+ return manifest.toElement();
+ }
+
+ public Element createReferencesWithManifest(
+ URI uriToData1, String iD1,
+ URI uriToData2
+ ) throws Exception
+ {
+ /*
+ public void createReferenceWithManifest(
+ URI uriToData1, String iD1,
+ URI uriToData2, String iD2
+ ) throws Exception
+ */
+ SignerReference reference = signedInfo.createReference();
+
+ SignerManifest manifest = signer.createManifest();
+
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+
+ SignerReference manifestRef = manifest.createReference();
+ manifestRef.setDigestAlgorithm(digestAlg);
+ manifestRef.setURI(uriToData1);
+ manifest.addReference(manifestRef);
+
+ if (uriToData2!=null)
+ {
+ SignerReference manifestRef2 = manifest.createReference();
+ manifestRef2.setDigestAlgorithm(digestAlg);
+ manifestRef2.setURI(uriToData2);
+ manifest.addReference(manifestRef2);
+ }
+ manifest.setId(iD1);
+ iaik.ixsil.core.Object manifestObject =
+ signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(new URI("#xpointer(id('"+iD1+"'))"));
+ reference.setType(
+ new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+ /*
+ if (iD2!=null)
+ {
+ SignerReference reference2 = signedInfo.createReference();
+ SignerManifest manifest2 = signer.createManifest();
+ SignerReference manifestRef2 = manifest.createReference();
+
+
+ manifestRef2.setDigestAlgorithm(digestAlg);
+
+ manifestRef2.setURI(uriToData2);
+
+ manifest2.addReference(manifestRef2);
+ manifest2.setId(iD2);
+ iaik.ixsil.core.Object manifestObject2 =
+ signature.createObject(manifest2);
+ signature.addObject(manifestObject2);
+ manifest2.computeDigestValues();
+
+ reference2 = signedInfo.createReference();
+ reference2.setURI(new URI("#xpointer(id('"+iD1+"'))"));
+ reference2.setType(
+ new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference2.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference2);
+
+ }
+ */
+ return manifest.toElement();
+ }
+
+public Element createReferencesWithManifest(
+ URI uriToData1, String iD1,
+ URI uriToData2, String type
+ ) throws Exception
+ {
+ SignerReference reference = signedInfo.createReference();
+
+ SignerManifest manifest = signer.createManifest();
+
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+
+ SignerReference manifestRef = manifest.createReference();
+ manifestRef.setDigestAlgorithm(digestAlg);
+ manifestRef.setURI(uriToData1);
+ manifest.addReference(manifestRef);
+
+ SignerReference manifestRef2 = manifest.createReference();
+ manifestRef2.setDigestAlgorithm(digestAlg);
+ manifestRef2.setURI(uriToData2);
+ manifest.addReference(manifestRef2);
+
+ manifest.setId(iD1);
+ iaik.ixsil.core.Object manifestObject =
+ signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(new URI("#xpointer(id('"+iD1+"'))"));
+ reference.setType(new URI(type));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+ return manifest.toElement();
+ }
+
+
+ public void setKeyInformation() throws Exception
+ {
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+
+ for (int i = 0; i < certs.length; i++) {
+ x509Data.insertHintAt(certs[i], i);
+ }
+
+ KeyProviderImplX509Data x509DataKeyProvider =
+ new KeyProviderImplX509Data(signer.toDocument());
+
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ Element e = (Element)keyManager.getKeyInfo();
+ NodeList nl = e.getChildNodes();
+ x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(1)));
+ if(x509CertString==null)
+ x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(0)));
+
+ signer.getSignature().setKeyManager(keyManager);
+
+
+
+ }
+ public void setKeyInformation(String retrievalMethod) throws Exception
+ { // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ KeyProviderImplRetrievalMethod x509RetrievalMethod =
+ new KeyProviderImplRetrievalMethod(signer.toDocument());
+
+ URI fileURI = null;
+
+ if (retrievalMethod == "XML")
+ fileURI =
+ new URI(
+ "file:"
+ + configuration_.getProperty("baseDir")
+ + configuration_.getProperty("RetrievalURIXML"));
+ else
+ fileURI =
+ new URI(
+ "file:"
+ + configuration_.getProperty("baseDir")
+ + configuration_.getProperty("RetrievalURIRaw"));
+
+ RetrievalMethod retMet =
+ new RetrievalMethod(
+ signer.toDocument(),
+ new URIResolverParameters(fileURI));
+
+ retMet.setURI(fileURI);
+
+ if (retrievalMethod == "XML")
+ retMet.setType(
+ new URI(configuration_.getProperty("RetrievalTypeXML")));
+ else
+ retMet.setType(
+ new URI(configuration_.getProperty("RetrievalTypeRaw")));
+
+ x509RetrievalMethod.insertRetrievalMethodAt(retMet, 0);
+ keyManager.addKeyProvider(x509RetrievalMethod);
+ Element e = (Element)keyManager.getKeyInfo();
+ NodeList nl = e.getChildNodes();
+ x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(0)));
+
+
+ signer.getSignature().setKeyManager(keyManager);
+ }
+
+ public void setKeyInformation(int pos) throws Exception
+ {
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+
+ x509Data.insertHintAt(certs[pos], 0);
+
+
+ KeyProviderImplX509Data x509DataKeyProvider =
+ new KeyProviderImplX509Data(signer.toDocument());
+
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+
+ Element e = (Element)keyManager.getKeyInfo();
+ NodeList nl = e.getChildNodes();
+ x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(0)));
+
+ //((Element)signer.getSignature().getSignatureDOMElement().getChildNodes().item(0)).setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:data","http://uri.data.org");
+
+ //display(signer.getSignature().getSignatureDOMElement());
+ }
+
+ private void display(Node base)
+ {
+ display(base,1);
+ }
+
+ private void display(Node base,int level)
+ {
+ String spacer = "";
+ for(int counter=0;counter<level;counter++)
+ {
+ spacer+=" ";
+ }
+
+ int att_size=0;
+ if(base.getAttributes()!=null)
+ {
+ att_size=base.getAttributes().getLength();
+ }
+ if(base.getNodeName().equals("#text"))
+ System.out.println(spacer+base.getNodeName()+base.getChildNodes().getLength()+":"+att_size+" ("+base.getNodeValue()+")");
+ else
+ System.out.println(spacer+base.getNodeName()+base.getChildNodes().getLength()+":"+att_size);
+
+ NamedNodeMap nnm = base.getAttributes();
+ if(nnm!=null)
+ {
+ int size = nnm.getLength();
+ for(int counter=0;counter<size;counter++)
+ {
+ display(nnm.item(counter),level+3);
+ }
+ }
+
+ NodeList children = base.getChildNodes();
+ int size = children.getLength();
+ for(int counter=0;counter<size;counter++)
+ {
+ display(children.item(counter),level+1);
+ }
+ }
+
+ public void setKeyInformation(boolean xpointer, URI fileURI, URI typeURI, Transform[] transforms) throws Exception
+ { // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ KeyProviderImplRetrievalMethod x509RetrievalMethod =
+ new KeyProviderImplRetrievalMethod(signer.toDocument());
+
+ RetrievalMethod retMet = null;
+
+ if (xpointer)
+ {
+ retMet = new RetrievalMethod(signer.toDocument(),null);
+ }
+ else
+ {
+ retMet = new RetrievalMethod(signer.toDocument(),new URIResolverParameters(fileURI));
+ }
+
+
+
+ retMet.setURI(fileURI);
+
+
+ retMet.setType(typeURI);
+
+ if (transforms!=null)
+ {for (int trNr=0; trNr < transforms.length; trNr++)
+ retMet.insertTransformAt(transforms[trNr],trNr);
+ }
+
+
+ x509RetrievalMethod.insertRetrievalMethodAt(retMet, 0);
+ keyManager.addKeyProvider(x509RetrievalMethod);
+
+ Element e = (Element)keyManager.getKeyInfo();
+ NodeList nl = e.getChildNodes();
+ x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(0)));
+
+
+ signer.getSignature().setKeyManager(keyManager);
+
+
+ }
+
+/* public Document createPKCS12Sig(
+ String TestNumber,
+ int CanonicalizationMethodNumber,
+ String data,
+ boolean env,
+ boolean mani,
+ String data2,
+ boolean env2,
+ String retrievalMethod)
+ throws Exception {
+
+
+
+ if (data2 != null) {
+ reference = signedInfo.createReference();
+ if (env2) {
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(data2);
+ object.setId("envelopedData2");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg =
+ new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(
+ new URI("#xpointer(id('envelopedData2')/node())"));
+ } else {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data2);
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg =
+ new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ signedInfo.addReference(reference);
+ }
+
+ // Add reference to signature
+
+
+
+ // Compute signature value
+ signer.getSignature().sign();
+
+ return signer.toDocument();
+ }
+*/
+ public Document returnSig() throws Exception {
+ //signature.getObjects();
+
+ signer.getSignature().sign();
+
+ //((Element)signer.getSignature().getSignatureDOMElement().getChildNodes().item(0)).removeAttribute("xmlns:data");
+ //display(((Element)signer.getSignature().getSignatureDOMElement().getChildNodes().item(0)));
+ //.removeAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:data");
+
+ return signer.toDocument();
+
+ }
+ public String getX509CertString() throws Exception{
+ TestCases tc = new TestCases();
+
+ if(x509CertString==null) return null;
+ String result = TestCases.replaceString(x509CertString,"<?xml version=\"1.0\"?>","");
+ if(x509CertString.indexOf("xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"")!=-1)
+ result = TestCases.replaceString(result,"xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
+
+ return result;
+ }
+}
diff --git a/spss.test/src/testgenerator/DataGenerator.java b/spss.test/src/testgenerator/DataGenerator.java
new file mode 100644
index 000000000..d0743612e
--- /dev/null
+++ b/spss.test/src/testgenerator/DataGenerator.java
@@ -0,0 +1,45 @@
+package testgenerator;
+
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class DataGenerator {
+
+ public static final String text_to_be_signed="Something to be Signed :) ";
+
+ public static void main(String[] args) throws Exception {
+ generateData("1kb.txt",1000);
+ generateData("10kb.txt",10000);
+ generateData("20kb.txt",20000);
+ generateData("50kb.txt",50000);
+ generateData("100kb.txt",100000);
+ generateData("500kb.txt",500000);
+ generateData("1mb.txt",1000000);
+ generateData("10mb.txt",10000000);
+ }
+
+ public static void generateData(String filename,int size) throws Exception
+ {
+ StringBuffer sb = new StringBuffer(size);
+ int max = size-text_to_be_signed.length();
+ while(sb.length()<(max))
+ {
+ sb.append(text_to_be_signed);
+ }
+
+ sb.append(text_to_be_signed.substring(0,(size-sb.length())));
+
+ BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
+ bw.write(sb.toString());
+ bw.flush();
+ bw.close();
+ }
+}
diff --git a/spss.test/src/testgenerator/EtsiProperties.java b/spss.test/src/testgenerator/EtsiProperties.java
new file mode 100644
index 000000000..c306ddeb6
--- /dev/null
+++ b/spss.test/src/testgenerator/EtsiProperties.java
@@ -0,0 +1,113 @@
+package testgenerator;
+
+import iaik.ixsil.init.IXSILConstants;
+
+import iaik.utils.Base64OutputStream;
+
+import java.io.ByteArrayOutputStream;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
+/**
+ * @author knirschs
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class EtsiProperties extends TestCases {
+
+ /**
+ * Constructor for EtsiProperties.
+ *
+ */
+ private Element qualprop;
+ private Element signdataobjectprop;
+ private static String etsinamespace = "http://uri.etsi.org/01903/v1.1.1#";
+ private Document doc;
+
+ public EtsiProperties() throws Exception{
+
+ getX509Content();
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ //dbf.setNamespaceAware(true);
+ //dbf.setValidating(true);
+
+ doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+
+
+ qualprop = doc.createElementNS(etsinamespace,"etsi:QualifyingProperties");
+ qualprop.setAttributeNS(null,"Target","#signature");
+ qualprop.setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:etsi",etsinamespace);
+ //qualprop.setPrefix("etsi");*/
+ //qualprop.setAttributeNodeNS(doc.createAttributeNS(etsinamespace,"etsi"));
+ Element signprop = doc.createElementNS(etsinamespace,"etsi:SignedProperties");
+ Element signsigprop = doc.createElementNS(etsinamespace,"etsi:SignedSignatureProperties");
+ signdataobjectprop = doc.createElementNS(etsinamespace,"etsi:SignedDataObjectProperties");
+ Element signdate = doc.createElementNS(etsinamespace,"etsi:SigningTime");
+ Text datevalue = doc.createTextNode("2003-03-01T00:01:01");
+ Element signcert = doc.createElementNS(etsinamespace,"etsi:SigningCertificate");
+ Element cert = doc.createElementNS(etsinamespace,"etsi:Cert");
+ Element signpolyident = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyIdentifier");
+ Element signpolyimp = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyImplied");
+ Element certdig = doc.createElementNS(etsinamespace,"etsi:CertDigest");
+ Element digmeth = doc.createElementNS(etsinamespace,"etsi:DigestMethod");
+ digmeth.setAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#sha1");
+ Element digvalue = doc.createElementNS(etsinamespace,"etsi:DigestValue");
+
+ ByteArrayOutputStream fos = new ByteArrayOutputStream();
+ Base64OutputStream base64os = new Base64OutputStream(fos);
+ base64os.write(this.X509hash.getBytes());
+ base64os.flush();
+
+ Text dig_value = doc.createTextNode(fos.toString());
+ Element is = doc.createElementNS(etsinamespace,"etsi:IssuerSerial");
+ Element i = doc.createElement("dsig:X509IssuerName");
+ Text i_value = doc.createTextNode(this.X509name);
+ Element s = doc.createElement("dsig:X509SerialNumber");
+ Text s_value = doc.createTextNode(this.X509number.toString());
+
+
+ qualprop.appendChild(signprop);
+ signprop.appendChild(signsigprop);
+ signsigprop.appendChild(signdate);
+ signdate.appendChild(datevalue);
+ signsigprop.appendChild(signcert);
+ signcert.appendChild(cert);
+ cert.appendChild(certdig);
+ certdig.appendChild(digmeth);
+ certdig.appendChild(digvalue);
+ digvalue.appendChild(dig_value);
+ cert.appendChild(is);
+ is.appendChild(i);
+ i.appendChild(i_value);
+ is.appendChild(s);
+ s.appendChild(s_value);
+ signsigprop.appendChild(signpolyident);
+ signpolyident.appendChild(signpolyimp);
+ signprop.appendChild(signdataobjectprop);
+
+
+ }
+ public Element getQualProp()
+ {
+ return qualprop;
+ }
+ public void addDataObjectFormat(String reference) throws Exception
+ {
+ Element dataobjformat = doc.createElementNS(etsinamespace,"etsi:DataObjectFormat");
+ dataobjformat.setAttribute("ObjectReference",reference);
+ Element mimetype = doc.createElementNS(etsinamespace,"etsi:MimeType");
+ //mimetype.setNodeValue("text/plain");
+ Text mimevalue = doc.createTextNode("text/html");
+ signdataobjectprop.appendChild(dataobjformat);
+ dataobjformat.appendChild(mimetype);
+ mimetype.appendChild(mimevalue);
+ }
+
+}
diff --git a/spss.test/src/testgenerator/LauchAll.java b/spss.test/src/testgenerator/LauchAll.java
new file mode 100644
index 000000000..70965ae09
--- /dev/null
+++ b/spss.test/src/testgenerator/LauchAll.java
@@ -0,0 +1,28 @@
+package testgenerator;
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class LauchAll {
+
+ public static void main(String[] args) {
+ try {
+ TestGeneratorCX0.main(null);
+ TestGeneratorCX1.main(null);
+ TestGeneratorCX2.main(null);
+ TestGeneratorVC0.main(null);
+ TestGeneratorVX.main(null);
+ TestGeneratorVX2.main(null);
+ TestGeneratorVXErrors.main(null);
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/spss.test/src/testgenerator/LaunchVX.java b/spss.test/src/testgenerator/LaunchVX.java
new file mode 100644
index 000000000..3c4191411
--- /dev/null
+++ b/spss.test/src/testgenerator/LaunchVX.java
@@ -0,0 +1,24 @@
+package testgenerator;
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class LaunchVX {
+
+ public static void main(String[] args) {
+ try {
+ TestGeneratorVX.main(null);
+ TestGeneratorVX2.main(null);
+ TestGeneratorVXErrors.main(null);
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/spss.test/src/testgenerator/Pass.java b/spss.test/src/testgenerator/Pass.java
new file mode 100644
index 000000000..b6fef9575
--- /dev/null
+++ b/spss.test/src/testgenerator/Pass.java
@@ -0,0 +1,22 @@
+package testgenerator;
+
+import iaik.apps.util.passphrase.PassphrasePrompt;
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class Pass implements PassphrasePrompt
+{
+ public Pass() {};
+ public void setCancelAllowed(boolean b) {};
+ public void setMessage(Object o) {};
+ public boolean isCancelAllowed() { return false; }
+ public char[] promptPassphrase() { return "1111".toCharArray(); };
+ public void setProtectedResourceInfo(Object o) {};
+
+}
diff --git a/spss.test/src/testgenerator/SetupCMSKeyStore.java b/spss.test/src/testgenerator/SetupCMSKeyStore.java
new file mode 100644
index 000000000..441e64236
--- /dev/null
+++ b/spss.test/src/testgenerator/SetupCMSKeyStore.java
@@ -0,0 +1,671 @@
+// Copyright (C) 1997-2002 IAIK
+// email: jce-info@iaik.tu-graz.ac.at
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $Header$
+//
+
+package testgenerator;
+
+import iaik.asn1.CodingException;
+import iaik.asn1.ObjectID;
+import iaik.asn1.structures.AlgorithmID;
+import iaik.asn1.structures.GeneralName;
+import iaik.asn1.structures.GeneralNames;
+import iaik.asn1.structures.Name;
+import iaik.asn1.structures.PolicyInformation;
+import iaik.asn1.structures.PolicyQualifierInfo;
+import iaik.security.provider.IAIK;
+import iaik.x509.SimpleChainVerifier;
+import iaik.x509.X509Certificate;
+import iaik.x509.X509ExtensionException;
+import iaik.x509.extensions.AuthorityKeyIdentifier;
+import iaik.x509.extensions.BasicConstraints;
+import iaik.x509.extensions.CertificatePolicies;
+import iaik.x509.extensions.KeyUsage;
+import iaik.x509.extensions.SubjectAltName;
+import iaik.x509.extensions.SubjectKeyIdentifier;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.math.BigInteger;
+import java.security.InvalidKeyException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.cert.CertificateException;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.Random;
+
+/**
+ * Creates a default KeyStore in the current working directory.
+ * These keys are used by many demos included in IAIK-JCE.
+ * The aliases and the password for accessing the keys and
+ * certificates can be found in {@link demo.keystore.CMSKeyStoreConstants CMSKeyStoreConstants}.
+ *
+ * @see CMSKeyStoreConstants
+ */
+public class SetupCMSKeyStore implements CMSKeyStoreConstants {
+
+ // the keylength of the CA certificate shall be 1024
+ private final static int CA_KEYLENGTH = 1024;
+
+ // the key store to create
+ KeyStore key_store;
+ // the file where the key store shall be saved
+ String keystore_file;
+ // takes the existing keys from the KeyStore and only creates new certificates
+ boolean create_only_certificates = true;
+
+ // the private keys
+ KeyPair ca_rsa = null;
+ // RSA for signing
+ KeyPair rsa512_sign = null;
+ KeyPair rsa1024_sign = null;
+ KeyPair rsa2048_sign = null;
+ // RSA for encrypting
+ KeyPair rsa512_crypt = null;
+ KeyPair rsa1024_crypt = null;
+ KeyPair rsa1024_crypt_ = null;
+ KeyPair rsa2048_crypt = null;
+
+ KeyPair ca_dsa = null;
+ KeyPair dsa512 = null;
+ KeyPair dsa1024 = null;
+ KeyPair esdh512 = null;
+ KeyPair esdh1024 = null;
+ KeyPair esdh1024_ = null;
+ KeyPair esdh2048 = null;
+
+ // create RSA keys and certificates
+ boolean create_rsa = true;
+ // create DSA keys and certificates
+ boolean create_dsa = true;
+ // create ESDH keys and certificates
+ boolean create_esdh = true;
+
+ /**
+ * Generate a KeyPair using the specified algorithm with the given size.
+ *
+ * @param algorithm the algorithm to use
+ * @param bits the length of the key (modulus) in bits
+ * @return the KeyPair
+ */
+ public static KeyPair generateKeyPair(String algorithm, int bits)
+ throws NoSuchAlgorithmException {
+
+ KeyPairGenerator generator = null;
+
+ try {
+ generator = KeyPairGenerator.getInstance(algorithm, "IAIK");
+
+ } catch (NoSuchProviderException ex) {
+ throw new NoSuchAlgorithmException("Provider IAIK not found!");
+ }
+
+ generator.initialize(bits);
+ KeyPair kp = generator.generateKeyPair();
+
+ return kp;
+ }
+
+ /**
+ * Creates a certificate from the given values.
+ *
+ * @param subject the subject of the certificate
+ * @param publicKey the public key to include
+ * @param issuer the issuer of the certificate
+ * @param privateKey the private key for signing the certificate
+ * @param algorithm the signature algorithm to use
+ */
+ public static X509Certificate createCertificate(Name subject, PublicKey publicKey,
+ Name issuer, PrivateKey privateKey, AlgorithmID algorithm, byte[] keyID, boolean forSigning) {
+
+ // create a new certificate
+ X509Certificate cert = new X509Certificate();
+
+ try {
+ // set the values
+ cert.setSerialNumber(new BigInteger(20, new Random()));
+ cert.setSubjectDN(subject);
+ cert.setPublicKey(publicKey);
+ cert.setIssuerDN(issuer);
+
+ GregorianCalendar date = new GregorianCalendar();
+ date.add(Calendar.DATE, -1);
+ // not before now
+ cert.setValidNotBefore(date.getTime());
+
+ if (issuer.equals(subject)) {
+ date.add(Calendar.MONTH, 12);
+ BasicConstraints basicConstraints = new BasicConstraints(true);
+ cert.addExtension(basicConstraints);
+ KeyUsage keyUsage = new KeyUsage(KeyUsage.keyCertSign | KeyUsage.cRLSign);
+ cert.addExtension(keyUsage);
+ } else {
+ date.add(Calendar.MONTH, 11);
+ KeyUsage keyUsage = null;
+ if (forSigning) {
+ keyUsage = new KeyUsage(KeyUsage.digitalSignature |
+ KeyUsage.nonRepudiation);
+ } else {
+ keyUsage = new KeyUsage(KeyUsage.keyEncipherment |
+ KeyUsage.dataEncipherment);
+ }
+ cert.addExtension(keyUsage);
+ AuthorityKeyIdentifier authID = new AuthorityKeyIdentifier();
+ authID.setKeyIdentifier(keyID);
+ cert.addExtension(authID);
+ GeneralNames generalNames = new GeneralNames();
+ generalNames.addName(new GeneralName(GeneralName.rfc822Name, "smimetest@iaik.at"));
+ generalNames.addName(new GeneralName(GeneralName.rfc822Name, "smimetest@iaik.tu-graz.ac.at"));
+ SubjectAltName subjectAltName = new SubjectAltName(generalNames);
+ cert.addExtension(subjectAltName);
+ }
+ String explicitText = "This certificate only may be used for test purposes";
+ PolicyQualifierInfo policyQualifier = new PolicyQualifierInfo(null, null, explicitText);
+ PolicyInformation[] policyInformations =
+ { new PolicyInformation(new ObjectID("1.3.6.1.4.1.2706.17.0.11.1.1"),
+ new PolicyQualifierInfo[] { policyQualifier }) };
+ CertificatePolicies certPolicies = new CertificatePolicies(policyInformations);
+
+ SubjectKeyIdentifier subjectKeyID = new SubjectKeyIdentifier(cert.getPublicKey());
+ cert.addExtension(subjectKeyID);
+
+ cert.addExtension(certPolicies);
+ cert.setValidNotAfter(date.getTime());
+ // and sign the certificate
+ cert.sign(algorithm ,privateKey);
+ } catch (CertificateException ex) {
+ throw new RuntimeException("Error creating the certificate: "+ex.getMessage());
+ } catch (InvalidKeyException ex) {
+ throw new RuntimeException("Error creating the certificate: "+ex.getMessage());
+ } catch (NoSuchAlgorithmException ex) {
+ throw new RuntimeException("Error creating the certificate: "+ex.getMessage());
+ } catch (X509ExtensionException ex) {
+ throw new RuntimeException("Error adding extension: "+ex.getMessage());
+ } catch (CodingException ex) {
+ throw new RuntimeException("Error adding SubjectKeyIdentifier extension: "+ex.getMessage());
+ }
+/*
+ System.out.println(cert.toString(true));
+ iaik.utils.Util.waitKey();
+*/
+
+ return cert;
+ }
+
+ /**
+ * Load or create a KeyStore and initialize it.
+ */
+ private void initializeKeyStore() {
+
+ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
+ String line;
+
+ try {
+ // default directory is the current user dir
+ String keystore_dir = System.getProperty("user.dir");
+ File ks = new File(keystore_dir, KS_FILENAME);
+
+ // KeyStore does already exist
+ if (ks.exists()) {
+ keystore_file = ks.getAbsolutePath();
+ if (create_only_certificates) {
+ System.out.println("Create only new certificates from already existing keys!");
+ }
+ else {
+ System.out.println("Existing KeyStore will be deleted!");
+ }
+ System.out.println("KeyStore: "+keystore_file);
+ }
+ else {
+ // there is no KeyStore -> create also new keys
+ create_only_certificates = false;
+
+ while (true) {
+ System.out.print("Create new KeyStore in directory: "+keystore_dir+" [y]");
+ line = reader.readLine();
+ if (line.length() == 0 || line.equals("y")) {
+ ks = new File(keystore_dir, KS_FILENAME);
+ keystore_file = ks.getAbsolutePath();
+ System.out.println("KeyStore will be saved to: "+keystore_file);
+ break;
+ }
+ System.out.print("Enter directory: ");
+ keystore_dir = reader.readLine();
+ }
+ }
+
+ // get a new KeyStore onject
+ key_store = KeyStore.getInstance("IAIKKeyStore");
+
+ if (create_only_certificates) {
+ // take private keys from existing KeyStore
+ key_store.load(new FileInputStream(ks), KS_PASSWORD);
+ }
+ else {
+ // create a new KeyStore
+ key_store.load(null, null);
+ }
+
+ } catch (Exception ex) {
+ System.out.println("Error creating new IAIK KeyStore!");
+ throw new RuntimeException("Error creating new KeyStore: "+ex.getMessage());
+ }
+ }
+
+ /**
+ * Save the KeyStore to disk.
+ */
+ private void saveKeyStore() {
+ try {
+ // write the KeyStore to disk
+ FileOutputStream os = new FileOutputStream(keystore_file);
+ key_store.store(os, KS_PASSWORD);
+ os.close();
+ } catch (Exception ex) {
+ System.out.println("Error saving KeyStore!");
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Add the private key and the certificate chain to the key store.
+ */
+ public void addToKeyStore(KeyPair keyPair, X509Certificate[] chain, String alias) throws KeyStoreException {
+ key_store.setKeyEntry(alias, keyPair.getPrivate(), KS_PASSWORD, chain);
+ }
+
+ /**
+ * Returns a KeyPair form the KeyStore.
+ */
+ private KeyPair getKeyPair(String type) throws Exception {
+ PrivateKey privKey = (PrivateKey)key_store.getKey(type, KS_PASSWORD);
+ PublicKey pubKey = key_store.getCertificateChain(type)[0].getPublicKey();
+ return new KeyPair(pubKey, privKey);
+ }
+
+ /**
+ * Get all private keys from the KeyStore.
+ */
+ private void getPrivateKeys() {
+ // RSA
+ try {
+ ca_rsa = getKeyPair(CA_RSA);
+ // for signing
+ rsa512_sign = getKeyPair(RSA_512_SIGN);
+ rsa1024_sign = getKeyPair(RSA_1024_SIGN);
+ rsa2048_sign = getKeyPair(RSA_2048_SIGN);
+ // for encrypting
+ rsa512_crypt = getKeyPair(RSA_512_CRYPT);
+ rsa1024_crypt = getKeyPair(RSA_1024_CRYPT);
+ rsa1024_crypt_ = getKeyPair(RSA_1024_CRYPT_);
+ rsa2048_crypt = getKeyPair(RSA_2048_CRYPT);
+ } catch (Exception ex) {
+ System.out.println("Unable to get RSA keys from KeyStore.");
+ ex.printStackTrace();
+ create_rsa = false;
+ }
+ // DSA
+ try {
+ ca_dsa = getKeyPair(CA_DSA);
+ dsa512 = getKeyPair(DSA_512);
+ dsa1024 = getKeyPair(DSA_1024);
+ } catch (Exception ex) {
+ System.out.println("Unable to get DSA keys from KeyStore.");
+ ex.printStackTrace();
+ create_dsa = false;
+ }
+ // ESDH
+ try {
+ esdh512 = getKeyPair(ESDH_512);
+ esdh1024 = getKeyPair(ESDH_1024);
+ esdh1024_ = getKeyPair(ESDH_1024_);
+ esdh2048 = getKeyPair(ESDH_2048);
+ } catch (Exception ex) {
+ System.out.println("Unable to get ESDH keys from KeyStore.");
+ ex.printStackTrace();
+ create_esdh = false;
+ }
+ }
+
+ /**
+ * Gernerate new prviate keys.
+ */
+ private void generatePrivateKeys() {
+ try {
+ // first create the KeyPairs
+ if (create_rsa) {
+ try {
+ System.out.println("generate RSA KeyPair for CA certificate ["+CA_KEYLENGTH+" bits]...");
+ ca_rsa = generateKeyPair("RSA", CA_KEYLENGTH);
+ System.out.println("Generate RSA signing keys...");
+ System.out.println("generate RSA KeyPair for a test certificate [512 bits]...");
+ rsa512_sign = generateKeyPair("RSA", 512);
+ System.out.println("generate RSA KeyPair for a test certificate [1024 bits]...");
+ rsa1024_sign = generateKeyPair("RSA", 1024);
+ System.out.println("generate RSA KeyPair for a test certificate [2048 bits]...");
+ rsa2048_sign = generateKeyPair("RSA", 2048);
+ System.out.println("Generate RSA encryption keys...");
+ System.out.println("generate RSA KeyPair for a test certificate [512 bits]...");
+ rsa512_crypt = generateKeyPair("RSA", 512);
+ System.out.println("generate RSA KeyPair for a test certificate [1024 bits]...");
+ rsa1024_crypt = generateKeyPair("RSA", 1024);
+ System.out.println("generate second RSA KeyPair for a test certificate [1024 bits]...");
+ rsa1024_crypt_ = generateKeyPair("RSA", 1024);
+ System.out.println("generate RSA KeyPair for a test certificate [2048 bits]...");
+ rsa2048_crypt = generateKeyPair("RSA", 2048);
+ } catch (NoSuchAlgorithmException ex) {
+ create_rsa = false;
+ System.out.println("No implementation for RSA! RSA certificates are not created!\n");
+ }
+ }
+ if (create_dsa) {
+ try {
+ System.out.println("generate DSA KeyPair for CA certificate ["+CA_KEYLENGTH+" bits]...");
+ ca_dsa = generateKeyPair("DSA", CA_KEYLENGTH);
+ System.out.println("generate DSA KeyPair for a test certificate [512 bits]...");
+ dsa512 = generateKeyPair("DSA", 512);
+ System.out.println("generate DSA KeyPair for a test certificate [1024 bits]...");
+ dsa1024 = generateKeyPair("DSA", 1024);
+ } catch (NoSuchAlgorithmException ex) {
+ create_dsa = false;
+ System.out.println("No implementation for DSA! DSA certificates are not created!\n");
+ }
+ }
+
+ if (create_esdh) {
+ try {
+ System.out.println("generate ESDH KeyPair for a test certificate [512 bits]...");
+ esdh512 = generateKeyPair("ESDH", 512);
+ System.out.println("generate ESDH KeyPair for a test certificate [1024 bits]...");
+ esdh1024 = generateKeyPair("ESDH", 1024);
+ System.out.println("generate ESDH KeyPair for a test certificate [1024 bits]...");
+ esdh1024_ = generateKeyPair("ESDH", 1024);
+ System.out.println("generate ESDH KeyPair for a test certificate [2048 bits]...");
+ esdh2048 = generateKeyPair("ESDH", 2048);
+ } catch (NoSuchAlgorithmException ex) {
+ create_esdh = false;
+ System.out.println("No implementation for ESDH! ESDH certificates are not created!\n");
+ }
+ }
+ } catch (Exception ex) {
+ System.out.println("Exception: "+ex);
+ }
+ }
+
+ public void generateCertificates() {
+
+ try {
+
+ // Now create the certificates
+ Name issuer = new Name();
+ issuer.addRDN(ObjectID.country, "AT");
+ issuer.addRDN(ObjectID.organization ,"IAIK");
+ issuer.addRDN(ObjectID.organizationalUnit ,"JavaSecurity");
+
+ Name subject = new Name();
+ subject.addRDN(ObjectID.country, "AT");
+ subject.addRDN(ObjectID.organization ,"IAIK");
+ subject.addRDN(ObjectID.organizationalUnit ,"JavaSecurity");
+
+ //
+ // create self signed CA certs
+ //
+ X509Certificate caRSA = null;
+ X509Certificate caDSA = null;
+ X509Certificate[] chain = new X509Certificate[1];
+ // for verifying the created certificates
+ SimpleChainVerifier verifier = new SimpleChainVerifier();
+
+ if (create_rsa) {
+ issuer.addRDN(ObjectID.commonName ,"IAIK RSA Test CA");
+ System.out.println("create self signed RSA CA certificate...");
+ caRSA = createCertificate(issuer, ca_rsa.getPublic(),
+ issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, null, true);
+ // verify the self signed certificate
+ caRSA.verify();
+ // set the CA cert as trusted root
+ verifier.addTrustedCertificate(caRSA);
+ chain[0] = caRSA;
+ addToKeyStore(ca_rsa, chain, CA_RSA);
+ issuer.removeRDN(ObjectID.commonName);
+ }
+
+ if (create_dsa) {
+ issuer.addRDN(ObjectID.commonName ,"IAIK DSA Test CA");
+ System.out.println("create self signed DSA CA certificate...");
+ caDSA = createCertificate(issuer, ca_dsa.getPublic(),
+ issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, null, true);
+ // verify the self signed certificate
+ caDSA.verify();
+ // set the CA cert as trusted root
+ verifier.addTrustedCertificate(caDSA);
+ chain[0] = caDSA;
+ addToKeyStore(ca_dsa, chain, CA_DSA);
+ issuer.removeRDN(ObjectID.commonName);
+ }
+
+ //
+ // create certificates
+ //
+ chain = new X509Certificate[2];
+
+ // create a RSA certificate
+ if (create_rsa) {
+ issuer.addRDN(ObjectID.commonName ,"IAIK RSA Test CA");
+ SubjectKeyIdentifier subjectKeyID = (SubjectKeyIdentifier)caRSA.getExtension(SubjectKeyIdentifier.oid);
+ // 512
+ // for signing
+ System.out.println("Create RSA demo certificates to be used for signing...");
+
+ // 512
+ subject.addRDN(ObjectID.commonName, "RSA 512 bit Demo Signing Certificate");
+ System.out.println("create 512 bit RSA demo certificate...");
+ chain[0] = createCertificate(subject, rsa512_sign.getPublic(),
+ issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), true);
+ chain[1] = caRSA;
+ // and verify the chain
+ verifier.verifyChain(chain);
+ addToKeyStore(rsa512_sign, chain, RSA_512_SIGN);
+ subject.removeRDN(ObjectID.commonName);
+
+ // 1024
+
+ subject.addRDN(ObjectID.commonName ,"RSA 1024 bit Demo Signing Certificate");
+ System.out.println("create 1024 bit RSA demo certificate...");
+ chain[0] = createCertificate(subject, rsa1024_sign.getPublic(),
+ issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), true);
+ chain[1] = caRSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(rsa1024_sign, chain, RSA_1024_SIGN);
+ subject.removeRDN(ObjectID.commonName);
+
+ // 2048
+
+ subject.addRDN(ObjectID.commonName ,"RSA 2048 bit Demo Signing Certificate");
+ System.out.println("create 2048 bit RSA demo certificate...");
+ chain[0] = createCertificate(subject, rsa2048_sign.getPublic(),
+ issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), true);
+ chain[1] = caRSA;
+ verifier.verifyChain(chain);
+
+ addToKeyStore(rsa2048_sign, chain, RSA_2048_SIGN);
+ subject.removeRDN(ObjectID.commonName);
+
+ // for encrypting
+ System.out.println("Create RSA demo certificates to be used for encryption...");
+ // 512
+ subject.addRDN(ObjectID.commonName, "RSA 512 bit Demo Encryption Certificate");
+ System.out.println("create 512 bit RSA demo certificate...");
+ chain[0] = createCertificate(subject, rsa512_crypt.getPublic(),
+ issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), false);
+ chain[1] = caRSA;
+ // and verify the chain
+ verifier.verifyChain(chain);
+ addToKeyStore(rsa512_crypt, chain, RSA_512_CRYPT);
+ subject.removeRDN(ObjectID.commonName);
+
+ // 1024
+
+ subject.addRDN(ObjectID.commonName ,"RSA 1024 bit Demo Encryption Certificate");
+ System.out.println("create 1024 bit RSA demo certificate...");
+ chain[0] = createCertificate(subject, rsa1024_crypt.getPublic(),
+ issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), false);
+ chain[1] = caRSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(rsa1024_crypt, chain, RSA_1024_CRYPT);
+
+ System.out.println("create second 1024 bit RSA demo Encryption certificate...");
+ chain[0] = createCertificate(subject, rsa1024_crypt_.getPublic(),
+ issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), false);
+ chain[1] = caRSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(rsa1024_crypt_, chain, RSA_1024_CRYPT_);
+ subject.removeRDN(ObjectID.commonName);
+
+ // 2048
+
+ subject.addRDN(ObjectID.commonName ,"RSA 2048 bit Demo Encryption Certificate");
+ System.out.println("create 2048 bit RSA demo certificate...");
+ chain[0] = createCertificate(subject, rsa2048_crypt.getPublic(),
+ issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), false);
+ chain[1] = caRSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(rsa2048_crypt, chain, RSA_2048_CRYPT);
+ subject.removeRDN(ObjectID.commonName);
+ issuer.removeRDN(ObjectID.commonName);
+ }
+
+ // create a DSA test certificate
+ if (create_dsa) {
+ issuer.addRDN(ObjectID.commonName ,"IAIK DSA Test CA");
+ // 512
+ subject.addRDN(ObjectID.commonName ,"DSA 512 bit Demo Certificate");
+ System.out.println("create 512 bit DSA demo certificate...");
+ SubjectKeyIdentifier subjectKeyID = (SubjectKeyIdentifier)caDSA.getExtension(SubjectKeyIdentifier.oid);
+ chain[0] = createCertificate(subject, dsa512.getPublic(),
+ issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), true);
+ subject.removeRDN(ObjectID.commonName);
+ chain[1] = caDSA;
+ verifier.verifyChain(chain);
+
+ addToKeyStore(dsa512, chain, DSA_512);
+ // 1024
+ subject.addRDN(ObjectID.commonName ,"DSA 1024 bit Demo Certificate");
+ System.out.println("create 1024 bit DSA demo certificate...");
+ chain[0] = createCertificate(subject, dsa1024.getPublic(),
+ issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), true);
+ subject.removeRDN(ObjectID.commonName);
+ chain[1] = caDSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(dsa1024, chain, DSA_1024);
+ issuer.removeRDN(ObjectID.commonName);
+ }
+
+ // create a ESDH test certificate
+ if (create_esdh) {
+ issuer.addRDN(ObjectID.commonName ,"IAIK DSA Test CA");
+ // 512
+ subject.addRDN(ObjectID.commonName ,"ESDH 512 bit Demo Certificate");
+ System.out.println("create 512 bit ESDH demo certificate...");
+ SubjectKeyIdentifier subjectKeyID = (SubjectKeyIdentifier)caDSA.getExtension(SubjectKeyIdentifier.oid);
+ chain[0] = createCertificate(subject, esdh512.getPublic(),
+ issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), false);
+ subject.removeRDN(ObjectID.commonName);
+ chain[1] = caDSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(esdh512, chain, ESDH_512);
+ // 1024
+ subject.addRDN(ObjectID.commonName ,"ESDH 1024 bit Demo Certificate 1");
+ System.out.println("create 1024 bit ESDH demo certificate...");
+ chain[0] = createCertificate(subject, esdh1024.getPublic(),
+ issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), false);
+ subject.removeRDN(ObjectID.commonName);
+ chain[1] = caDSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(esdh1024, chain, ESDH_1024);
+ // 1024
+ subject.addRDN(ObjectID.commonName ,"ESDH 1024 bit Demo Certificate 2");
+ System.out.println("create second 1024 bit ESDH demo certificate...");
+ chain[0] = createCertificate(subject, esdh1024_.getPublic(),
+ issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), false);
+ subject.removeRDN(ObjectID.commonName);
+ chain[1] = caDSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(esdh1024_, chain, ESDH_1024_);
+ // 2048
+ subject.addRDN(ObjectID.commonName ,"ESDH 2048 bit Demo Certificate");
+ System.out.println("create 2048 bit ESDH demo certificate...");
+ chain[0] = createCertificate(subject, esdh2048.getPublic(),
+ issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), false);
+ subject.removeRDN(ObjectID.commonName);
+ chain[1] = caDSA;
+ verifier.verifyChain(chain);
+ addToKeyStore(esdh2048, chain, ESDH_2048);
+ issuer.removeRDN(ObjectID.commonName);
+ }
+
+ System.out.println("\nCertificates created!");
+
+ } catch (Exception ex) {
+ System.out.println("Exception: "+ex);
+ }
+ }
+
+ public static void start() {
+ SetupCMSKeyStore suks = new SetupCMSKeyStore();
+ suks.initializeKeyStore();
+ if (suks.create_only_certificates) {
+ suks.getPrivateKeys();
+ }
+ else {
+ suks.generatePrivateKeys();
+ }
+ suks.generateCertificates();
+ suks.saveKeyStore();
+ }
+
+ /**
+ * Creates the test certificates.
+ */
+ public static void main(String arg[]) throws IOException {
+
+ IAIK.addAsProvider(true);
+ start();
+ System.in.read();
+ }
+} \ No newline at end of file
diff --git a/spss.test/src/testgenerator/SignatureManifestCheckParams.java b/spss.test/src/testgenerator/SignatureManifestCheckParams.java
new file mode 100644
index 000000000..b1505418d
--- /dev/null
+++ b/spss.test/src/testgenerator/SignatureManifestCheckParams.java
@@ -0,0 +1,176 @@
+package testgenerator;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xml.serialize.DOMWriterImpl;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+
+/**
+ * @author knirschs
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class SignatureManifestCheckParams {
+/* So solls mal aussehen :-)
+
+ <SignatureManifestCheckParams ReturnReferenceInputData="true">
+ <ReferenceInfo>
+ <VerifyTransformsInfoProfile>
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
+ </dsig:Transform>
+ </dsig:Transforms>
+ <TransformParameter URI="validURI">
+ <Base64Content>validBase64Data</Base64Content>
+ </TransformParameter>
+ </VerifyTransformsInfoProfile>
+ <VerifyTransformsInfoProfileID>validID</VerifyTransformsInfoProfileID>
+ </ReferenceInfo>
+ </SignatureManifestCheckParams>
+*/
+ private Document document;
+ private Element refInfo;
+ private Element verifyTrans;
+ private Element transPara;
+ private Element dsigTrans;
+
+ public SignatureManifestCheckParams(String returnReferenceInputData) throws Exception{
+
+ // Find the implementation
+ DocumentBuilderFactory factory
+ = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ DOMImplementation impl = builder.getDOMImplementation();
+
+ // Create the document
+ document = impl.createDocument(null, "SignatureManifestCheckParams", null);
+
+ //document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); // Create from whole cloth
+ Element root = document.getDocumentElement();
+ if (returnReferenceInputData!=null)
+ root.setAttribute("ReturnReferenceInputData",returnReferenceInputData);
+
+ refInfo = (Element) document.createElement("ReferenceInfo");
+ root.appendChild(refInfo);
+
+ verifyTrans = (Element) document.createElement("VerifyTransformsInfoProfile");
+
+
+ }
+
+ public void addTransPara(String URI)
+ {
+ transPara = document.createElement("TransformParameter");
+ transPara.setAttribute("URI",URI);
+ verifyTrans.appendChild(transPara);
+
+ }
+
+
+ /**
+ * Method addDsigTransform: To add an dsig:Tranform element with a special algorithm
+ * @param algName
+ */
+ public void addDsigTransform(String algName, Element el)
+ {
+ if (dsigTrans==null)
+ {
+ dsigTrans = (Element) document.createElementNS("http://www.w3.org/2000/09/xmldsig#","Transforms");
+ dsigTrans.setPrefix("dsig");
+ verifyTrans.appendChild(dsigTrans);
+
+ refInfo.appendChild(verifyTrans);
+ }
+
+
+ Element trans = document.createElementNS("http://www.w3.org/2000/09/xmldsig#","Transform");
+ trans.setPrefix("dsig");
+ trans.setAttribute("Algorithm",algName);
+ if (el!=null) trans.appendChild(el);
+ dsigTrans.appendChild(trans);
+ }
+
+ public void addDisgTransform(Element transformElement)
+ {
+ if (dsigTrans==null)
+ {
+ dsigTrans = (Element) document.createElementNS("http://www.w3.org/2000/09/xmldsig#","Transforms");
+ dsigTrans.setPrefix("dsig");
+ verifyTrans.appendChild(dsigTrans);
+
+ refInfo.appendChild(verifyTrans);
+ }
+
+ dsigTrans.appendChild(transformElement);
+ }
+
+ /**
+ * Method addTransformsProfileID.
+ * @param id
+ */
+ public void addTransformsProfileID(String id)
+ {
+ Element profID = (Element) document.createElement("VerifyTransformsInfoProfileID");
+ profID.appendChild(document.createTextNode(id));
+ refInfo.appendChild(profID);
+ }
+
+ public void addTransParaElement(String elemName, String content)
+ {
+ if (elemName!="Hash") {
+
+ Element eleName = document.createElement(elemName);
+ eleName.appendChild(document.createTextNode(content));
+ transPara.appendChild(eleName);
+
+ } else {
+
+ Element eleName = document.createElement(elemName);
+ Element digMethod = document.createElementNS("http://www.w3.org/2000/09/xmldsig#","DigestMethod");
+ digMethod.setPrefix("dsig");
+ digMethod.setAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#sha1");
+ eleName.appendChild(digMethod);
+ Element hash = document.createElementNS("http://www.w3.org/2000/09/xmldsig#","DigestValue");
+ hash.setPrefix("dsig");
+ hash.appendChild(document.createTextNode(content));
+ eleName.appendChild(hash);
+
+ transPara.appendChild(eleName);
+
+
+ }
+
+ }
+
+public String returnDoc() throws Exception
+ {
+ String result =(new DOMWriterImpl(true)).writeToString(document.getDocumentElement());
+
+ TestCases tc = new TestCases();
+
+ result = TestCases.replaceString(result,"<?xml version=\"1.0\"?>","");
+ try {
+ result = TestCases.replaceString(result," xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
+ result = TestCases.replaceString(result," xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
+ result = TestCases.replaceString(result," xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
+ } catch (Exception e) {
+ }
+
+
+ return result;
+ }
+
+ public Document getDoc() throws Exception
+ {
+ return document;
+ }
+}
diff --git a/spss.test/src/testgenerator/Supplement.java b/spss.test/src/testgenerator/Supplement.java
new file mode 100644
index 000000000..41edd4118
--- /dev/null
+++ b/spss.test/src/testgenerator/Supplement.java
@@ -0,0 +1,62 @@
+package testgenerator;
+
+/**
+ * @author Stevie (Admin)
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class Supplement {
+
+ private String supplement;
+ /**
+ * Constructor for Supplement.
+ */
+ public Supplement() {
+ supplement = " <SupplementProfile>\n";
+
+ }
+
+ public void addMetaInfo(String mimeType, String description)
+ {
+ supplement += " <MetaInfo>\n" +
+ " <MimeType>" + mimeType + "</MimeType>";
+ if (!(description==null))
+ {
+ supplement+= " <Description>" + description + "</Description>";
+ }
+
+ supplement+= " </MetaInfo>";
+ }
+
+ public void addBase64Content(String fileName, String data)
+ {
+ supplement+= " <Content Reference=\"" + fileName + "\">\n"+
+ " <Base64Content>"+data+"</Base64Content>\n" +
+ " </Content>\n";
+
+ }
+
+ public void addXMLContent(String fileName, String data)
+ {
+ supplement+= " <Content Reference=\"" + fileName + "\">\n"+
+ " <XMLContent xml:space=\"preserve\">"+data+"</XMLContent>\n" +
+ " </Content>\n";
+
+ }
+
+
+ public void closeSupplement()
+ {
+ supplement+= " </SupplementProfile>\n";
+ }
+
+ public String getSupplement()
+ {
+ return supplement;
+ }
+
+
+}
diff --git a/spss.test/src/testgenerator/TestCMS.java b/spss.test/src/testgenerator/TestCMS.java
new file mode 100644
index 000000000..e4d022383
--- /dev/null
+++ b/spss.test/src/testgenerator/TestCMS.java
@@ -0,0 +1,118 @@
+package testgenerator;
+
+import iaik.asn1.CodingException;
+import iaik.asn1.ObjectID;
+import iaik.asn1.structures.AlgorithmID;
+import iaik.asn1.structures.Attribute;
+import iaik.asn1.structures.ChoiceOfTime;
+import iaik.cms.CMSException;
+import iaik.cms.ContentInfoStream;
+import iaik.cms.SignedDataStream;
+import iaik.cms.SignerInfo;
+import iaik.utils.StreamCopier;
+import iaik.x509.X509Certificate;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyStore;
+import java.security.Provider;
+import java.security.Security;
+import java.security.SignatureException;
+
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestCMS {
+
+ public static void main(String[] args)
+ {
+ try {
+ iaik.security.provider.IAIK.addAsProvider(true);
+
+ Provider [] list = Security.getProviders();
+ for(int counter=0;counter<list.length;counter++)
+ {
+ System.out.println(list[counter].getName());
+ }
+
+ KeyStore.getInstance("IAIKKeyStore");
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public static String getSignedDataStream(byte[] signedData, byte[] message,boolean two_users) throws CMSException, IOException {
+
+ // we are testing the stream interface
+ ByteArrayInputStream is = new ByteArrayInputStream(signedData);
+ // create the ContentInfo object
+ ContentInfoStream cis = new ContentInfoStream(is);
+ System.out.println("This ContentInfo holds content of type " + cis.getContentType().getName());
+ SignedDataStream signed_data = null;
+
+ if (message == null) {
+ // implicitly signed; get the content
+ signed_data = (SignedDataStream)cis.getContent();
+ }
+ else {
+ // explicitly signed; set the data stream for digesting the message
+ AlgorithmID[] algIDs = { AlgorithmID.sha1, AlgorithmID.md5 };
+ signed_data = new SignedDataStream(new ByteArrayInputStream(message), algIDs);
+
+ }
+
+ // get an InputStream for reading the signed content
+ InputStream data = signed_data.getInputStream();
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ StreamCopier sc = new StreamCopier(data, os);
+ sc.copyStream();
+
+
+ if (message != null) {
+ // if explicitly signed read now the DER encoded object
+ // an explicit S/MIME signed message also consits of message|signature
+ signed_data.decode(cis.getContentInputStream());
+ }
+
+ System.out.println("SignedData contains the following signer information:");
+ SignerInfo[] signer_infos = signed_data.getSignerInfos();
+
+ for (int i=0; i<signer_infos.length; i++) {
+ try {
+ // verify the signed data using the SignerInfo at index i
+ X509Certificate signer_cert = signed_data.verify(i);
+ // if the signature is OK the certificate of the signer is returned
+ System.out.println("Signature OK from signer: "+signer_cert.getSubjectDN());
+ Attribute signingTime = signer_infos[i].getSignedAttribute(ObjectID.signingTime);
+ if (signingTime != null) {
+ ChoiceOfTime cot = new ChoiceOfTime(signingTime.getValue()[0]);
+ System.out.println("This message has been signed at " + cot.getDate());
+ }
+ Attribute contentType = signer_infos[i].getSignedAttribute(ObjectID.contentType);
+ if (contentType != null) {
+ System.out.println("The content has CMS content type " + contentType.getValue()[0]);
+ }
+
+ } catch (SignatureException ex) {
+ // if the signature is not OK a SignatureException is thrown
+ System.out.println("Signature ERROR from signer: "+signed_data.getCertificate((signer_infos[i].getSignerIdentifier())).getSubjectDN());
+ ex.printStackTrace();
+ } catch (CodingException ex) {
+ System.out.println("Attribute decoding error: " + ex.getMessage());
+ ex.printStackTrace();
+ }
+ }
+
+ return os.toString();
+ }
+
+}
diff --git a/spss.test/src/testgenerator/TestCases.java b/spss.test/src/testgenerator/TestCases.java
new file mode 100644
index 000000000..db61af297
--- /dev/null
+++ b/spss.test/src/testgenerator/TestCases.java
@@ -0,0 +1,611 @@
+package testgenerator;
+import iaik.ixsil.init.IXSILInit;
+import iaik.ixsil.util.DOMUtilsImpl;
+import iaik.ixsil.util.URI;
+
+import iaik.asn1.ASN1Object;
+import iaik.asn1.ObjectID;
+import iaik.asn1.structures.AlgorithmID;
+import iaik.asn1.structures.Attribute;
+import iaik.asn1.structures.ChoiceOfTime;
+import iaik.asn1.structures.Name;
+import iaik.cms.CMSException;
+import iaik.cms.ContentInfo;
+import iaik.cms.IssuerAndSerialNumber;
+import iaik.cms.SignedData;
+import iaik.cms.SignerInfo;
+import iaik.pkcs.pkcs12.CertificateBag;
+import iaik.pkcs.pkcs12.KeyBag;
+import iaik.pkcs.pkcs12.PKCS12;
+import iaik.security.ecc.interfaces.ECDSAPrivateKey;
+import iaik.security.provider.IAIK;
+import iaik.utils.Base64OutputStream;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.BufferedWriter;
+import java.io.ByteArrayOutputStream;
+import java.io.CharArrayWriter;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.math.BigInteger;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.X509Certificate;
+import java.security.interfaces.RSAPrivateKey;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Properties;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Base class for all tutorial units.
+ * Provides some basic functionality, such as properties and signature
+ * serialization.
+ */
+public class TestCases
+{
+ public String Node2String(Node outputNode)
+ throws
+ TransformerFactoryConfigurationError,
+ TransformerConfigurationException,
+ TransformerException {
+ CharArrayWriter caw = new CharArrayWriter();
+ TransformerFactory transformerFactory =
+ TransformerFactory.newInstance();
+ Transformer transformer = transformerFactory.newTransformer();
+ transformer.setOutputProperty(OutputKeys.METHOD, "xml");
+ transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
+ transformer.transform(new DOMSource(outputNode), new StreamResult(caw));
+
+ String erg = caw.toString();
+ return erg;
+ }
+
+ public void findNode(Node base,String name,ArrayList foundNodes)
+ {
+ findNode(base,name,foundNodes,-1);
+ }
+
+
+ public void findNode(Node base,String name,ArrayList foundNodes, int max_level)
+ {
+ findNode(base,name,foundNodes,max_level,0);
+ }
+
+
+ public void findNode(Node base,String name,ArrayList foundNodes, int max_level, int level)
+ {
+ if(max_level!=-1 && max_level<=level) return;
+ //System.out.println("FINDNODE "+name);
+ //System.out.println("CHECKING "+base.getNodeName());
+ if(base.getNodeName().equals(name))
+ {
+ //System.out.println("ADD BASE !"+name);
+ foundNodes.add(base);
+ }
+
+ NodeList children = base.getChildNodes();
+ int size = children.getLength();
+ for(int counter=0;counter<size;counter++)
+ {
+ findNode(children.item(counter),name,foundNodes,max_level,level+1);
+ }
+ }
+
+ Properties configuration_;
+ boolean[] variations_;
+
+ /* ==================================================================================================== */
+
+ public TestCases() throws Exception
+ {
+ // Set some basic configuration properties
+ configuration_ = new Properties();
+
+ String baseDir = "e:/cio/projekte/basismodule/wartung/projekt/spss.test/";
+ String webBaseDir = "http://localhost:8080/moa-spss-testdata/";
+
+ configuration_.setProperty("baseDir", baseDir);
+ configuration_.setProperty("webbaseDir", webBaseDir);
+
+ configuration_.setProperty("PKCS12file", (baseDir + "/resources/test-ee2003_normal(buergerkarte).p12"));
+ configuration_.setProperty("PKCS12password", "buergerkarte");
+
+ configuration_.setProperty("ECDSPKCS12file", baseDir + "/resources/ecc(ego).p12");
+ configuration_.setProperty("ECDSPKCS12password", "ego");
+
+ configuration_.setProperty("IXSILInitPropertiesURI", "file:/" + baseDir + "resources/init.properties");
+
+ configuration_.setProperty("CERT", baseDir + "resources/test-ee2003_normal_extract.cer");
+
+ // Initialize IXSIL
+ IXSILInit.init(new URI(configuration_.getProperty("IXSILInitPropertiesURI")));
+
+ // Switch on debug information
+ IXSILInit.setPrintDebugLog(true);
+
+ // Add IAIK JCE provider
+ IAIK.addAsProvider();
+ }
+
+ public String X509name = null;
+ public BigInteger X509number = null;
+ public String X509hash = null;
+ public String X509sub = null;
+ public iaik.x509.X509Certificate user1_sign = null;
+
+ public void getX509Content() throws Exception
+ {
+ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty("CERT")));
+ iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
+ X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
+ X509number = cert.getSerialNumber();
+ X509hash = new String(cert.getFingerprintSHA());
+ X509sub = ((Name)(cert.getSubjectDN())).getRFC2253String();
+ }
+
+ /* ==================================================================================================== */
+
+ public void serialize2File(Document signature, String fileName) throws Exception
+ {
+ FileOutputStream signatureFIS = new FileOutputStream(fileName);
+ DOMUtilsImpl.serializeDocument(signature, signatureFIS);
+ }
+
+ /* ==================================================================================================== */
+
+ public static HashMap pkcs12cache = new HashMap();
+
+ public PKCS12 decryptPKCS12( String pkcs12file, String password ) throws Exception
+ {
+ if(pkcs12cache.containsKey(pkcs12file)) return (PKCS12) pkcs12cache.get(pkcs12file);
+ PKCS12 pkcs12 = new PKCS12(new FileInputStream(pkcs12file));
+
+// if (!pkcs12.verify(password.toCharArray())) {
+// System.out.println("could not verify pkcs12 " + pkcs12.toString() + " with password " + password);
+// } else {
+// System.out.println("verified pkcs12 " + pkcs12.toString() + " with password " + password);
+// }
+
+ pkcs12.decrypt(password.toCharArray());
+ System.out.println("decrypted pkcs12 " + pkcs12.toString() + " with password " + password);
+ pkcs12cache.put(pkcs12file,pkcs12);
+ return pkcs12;
+ }
+
+ /* ==================================================================================================== */
+
+ public static HashMap privkeycache = new HashMap();
+
+ public RSAPrivateKey getPrivateKey( PKCS12 pkcs12 ) throws Exception
+ {
+ if(privkeycache.containsKey(pkcs12)) return (RSAPrivateKey)privkeycache.get(pkcs12);
+ KeyBag[] keyBags = pkcs12.getKeyBags();
+ System.out.println("PKCS12.getKeyBags(): " + keyBags.length + " KeyBags found");
+ privkeycache.put(pkcs12,keyBags[0].getPrivateKey());
+ return (RSAPrivateKey) keyBags[0].getPrivateKey();
+ }
+
+ public static HashMap ecdsaprivkeycache = new HashMap();
+
+ public ECDSAPrivateKey getPrivateKeyECDS( PKCS12 pkcs12 ) throws Exception
+ {
+ if(ecdsaprivkeycache.containsKey(pkcs12)) return (ECDSAPrivateKey)ecdsaprivkeycache.get(pkcs12);
+ KeyBag[] keyBags = pkcs12.getKeyBags();
+ System.out.println("PKCS12.getKeyBags(): " + keyBags.length + " KeyBags found");
+ ecdsaprivkeycache.put(pkcs12,keyBags[0].getPrivateKey());
+ return (ECDSAPrivateKey) keyBags[0].getPrivateKey();
+ }
+
+ /* ==================================================================================================== */
+
+ public static HashMap x509cache = new HashMap();
+
+ public X509Certificate[] getCertificates( PKCS12 pkcs12 ) throws Exception
+ {
+ if(x509cache.containsKey(pkcs12)) return (X509Certificate[])x509cache.get(pkcs12);
+ X509Certificate[] ret = CertificateBag.getCertificates(pkcs12.getCertificateBags());
+ x509cache.put(pkcs12,ret);
+ return ret;
+ }
+
+ /* ==================================================================================================== */
+ /* ==================Created and or changed Methods by Stefan Knirsch================================== */
+ /* ==================================================================================================== */
+
+ public String vxReqFile(String testNumber)
+ {
+ return configuration_.getProperty("baseDir") +
+ "/data/VX0/"+
+ configuration_.getProperty("TestClass") +
+ "." +
+ testNumber +
+ ".Req.xml";
+ }
+
+ public String vxResFile(String testNumber)
+ {
+ return configuration_.getProperty("baseDir") +
+ "/data/VX0/"+
+ configuration_.getProperty("TestClass") +
+ "." +
+ testNumber +
+ ".Res.xml";
+ }
+
+ public String vxReqFileL(String testNumber,String filename)
+ {
+ return configuration_.getProperty("baseDir") +
+ "/data/LVX"+filename+"/"+
+ configuration_.getProperty("TestClass") +
+ "." +
+ testNumber +
+ ".Req.xml";
+ }
+
+ public String vxResFileL(String testNumber,String filename)
+ {
+ return configuration_.getProperty("baseDir") +
+ "/data/LVX"+filename+"/"+
+ configuration_.getProperty("TestClass") +
+ "." +
+ testNumber +
+ ".Res.xml";
+ }
+
+ public void createVXConfig() throws Exception {
+
+ String file =
+ configuration_.getProperty("baseDir")
+ + "resources/"
+ + configuration_.getProperty("TestClass")
+ + ".Config.xml";
+ String config =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
+ "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"
+ + "<TrustProfile id=\"TrustProfile1\" uri=\"file://SERVER_WORKING_DIRECTORY/TrustProfile1\"/>"
+ + "<SupplementProfile id=\"SupplementProfile1\" uri=\"file://SERVER_WORKING_DIRECTORY/SupplementProfile1\"/>"
+ + "<SupplementProfile id=\"SupplementProfile2\" uri=\"file://SERVER_WORKING_DIRECTORY/SupplementProfile2\"/>"
+ + "</MOAConfiguration>";
+
+ FileOutputStream fos = new FileOutputStream(file);
+ fos.write(config.getBytes());
+ }
+
+ /**
+ * Method replaceString.
+ * @param input: String to be changed
+ * @param oldPart: subString in input to be changed
+ * @param newPart: new subString instead of the oldPart
+ * @return String
+ * @throws Exception
+ */
+ public static String replaceString(
+ String input,
+ String oldPart,
+ String newPart)
+ throws Exception {
+ String erg = null;
+
+ //First Part
+ erg = input.substring(0, input.indexOf(oldPart));
+ //Insert new Part
+ erg += newPart;
+
+ //insert REST
+ erg
+ += input.substring(
+ input.indexOf(oldPart) + oldPart.length(),
+ input.length());
+
+ return erg;
+ }
+
+ public static String replaceStringAll(
+ String input,
+ String oldPart,
+ String newPart)
+ throws Exception {
+
+ String erg = input;
+
+ while(true)
+ {
+
+ //First Part
+ int pos = input.indexOf(oldPart);
+ if(pos==-1) break;
+ erg = input.substring(0, pos);
+
+ //Insert new Part
+ erg += newPart;
+
+ //insert REST
+ erg
+ += input.substring(
+ input.indexOf(oldPart) + oldPart.length(),
+ input.length());
+
+ input = erg;
+ }
+ return erg;
+ }
+
+ /**
+ * Method readFile.
+ * @param filename
+ * @return String
+ * @throws Exception
+ */
+
+ public String readFile(String filename) throws Exception {
+
+ /*StringBuffer data = new StringBuffer();
+ String line = null;
+ BufferedReader br = new BufferedReader(new FileReader(filename));
+ while ((line = br.readLine()) != null) {
+ data.append(line);
+ data.append("\n");
+ }
+ */
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+
+ byte[] result = new byte[(int) raf.length()];
+
+ raf.read(result);
+
+ return new String(result);
+
+ }
+ /**
+ * Method readBinaryFileAsBase64.
+ * @param filename
+ * @return Stringrepresentation as Base64 of the inputfile and saves that file
+ * @throws Exception
+ */
+ public String readBinaryFileAsBase64_new(String filename) throws Exception {
+
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+ byte[] result = new byte[(int) raf.length()];
+ //READ the original binary Data
+ raf.read(result);
+
+ //Convert the data to bas64 and store it in a new file
+
+ ByteArrayOutputStream fos = new ByteArrayOutputStream();
+ Base64OutputStream base64os = new Base64OutputStream(fos);
+ base64os.write(result);
+ base64os.flush();
+
+ return fos.toString();
+
+ }
+ public String readBinaryFileAsBase64(String filename) throws Exception {
+
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+ byte[] result = new byte[(int) raf.length()];
+ //READ the original binary Data
+ raf.read(result);
+
+ //Convert the data to bas64 and store it in a new file
+ FileOutputStream fos = new FileOutputStream(filename + "base64.enc");
+ Base64OutputStream base64os = new Base64OutputStream(fos);
+ base64os.write(result);
+ base64os.flush();
+ base64os.close();
+
+ //read the converted data und return it
+ raf = new RandomAccessFile(filename + "base64.enc", "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("Converted base64 file too big to fit in byte array.");
+ result = new byte[(int) raf.length()];
+ //READ the original binary Data
+ raf.read(result);
+
+ return new String(result);
+
+ }
+
+ /**
+ * Method writeFile.
+ * @param filename
+ * @param data
+ * @throws Exception
+ */
+ public void writeFile(String filename, String data) throws Exception {
+ BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
+ bw.write(data);
+ bw.close();
+ }
+
+ /**
+ * Method writeFileBinary
+ * @param filename
+ * @param data
+ * @throws Exception
+ */
+ public void writeFileBinary(String filename, byte[] data) throws Exception {
+ BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream(filename));
+ bw.write(data);
+ bw.close();
+ }
+ /**
+ * Method getDate.
+ * @param changeHours to change the time into the past or future
+ * @return String
+ */
+
+ public String getDate(long changeHours) {
+
+ //Use the XML-Format for the Time
+ SimpleDateFormat formatter =
+ new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'+01:00");
+ //get the current Time
+ Date currentTime = new Date();
+ //add or substract a few hours
+ currentTime.setTime(
+ (currentTime.getTime() + changeHours * 1000 * 60 * 60));
+
+ return formatter.format(currentTime);
+ }
+
+ public ASN1Object createSignedCMSData(byte[] message, int mode,boolean two_users) throws Exception {
+
+ System.out.println("Create a new message signed by user 1:");
+
+ // create a new SignedData object which includes the data
+ SignedData signed_data = new SignedData(message, mode);
+ // SignedData shall include the certificate chain for verifying
+
+ PKCS12 pkcs12 = decryptPKCS12(
+ configuration_.getProperty("PKCS12file"),
+ configuration_.getProperty("PKCS12password"));
+
+ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty("CERT")));
+ iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
+ user1_sign = cert;
+ X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
+ X509number = cert.getSerialNumber();
+ X509hash = new String(cert.getFingerprintSHA());
+ X509sub = ((Name)cert.getSubjectDN()).getRFC2253String();
+
+ iaik.x509.X509Certificate[] certarray = new iaik.x509.X509Certificate[1];
+ certarray[0] = cert;
+
+ signed_data.setCertificates(certarray);
+
+
+ RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
+
+ // cert at index 0 is the user certificate
+ IssuerAndSerialNumber issuer = new IssuerAndSerialNumber((Name)cert.getIssuerDN(),X509number);
+
+ // create a new SignerInfo
+ SignerInfo signer_info = new SignerInfo(issuer, AlgorithmID.sha1, privateKey);
+ // create some authenticated attributes
+ // the message digest attribute is automatically added
+ Attribute[] attributes = new Attribute[2];
+ // content type is data
+ attributes[0] = new Attribute(ObjectID.contentType, new ASN1Object[] {ObjectID.cms_data});
+ // signing time is now
+ attributes[1] = new Attribute(ObjectID.signingTime, new ASN1Object[] {new ChoiceOfTime().toASN1Object()});
+ // set the attributes
+ signer_info.setSignedAttributes(attributes);
+ // finish the creation of SignerInfo by calling method addSigner
+ try {
+ signed_data.addSignerInfo(signer_info);
+
+ if(two_users)
+ {
+ // another SignerInfo without authenticated attributes and MD5 as hash algorithm
+ signer_info = new SignerInfo(new IssuerAndSerialNumber((Name)cert.getIssuerDN(),X509number),
+ AlgorithmID.md5, privateKey);
+ // the message digest itself is protected
+ signed_data.addSignerInfo(signer_info);
+ }
+
+ } catch (NoSuchAlgorithmException ex) {
+ ex.printStackTrace();
+ throw new CMSException("No implementation for signature algorithm: "+ex.getMessage());
+ }
+
+ ContentInfo ci = new ContentInfo(signed_data);
+ return ci.toASN1Object();
+ }
+
+ public ASN1Object createSignedCMSData(byte[] message, int mode,boolean two_users,String pkcs12file,String pkcs12password,String certname) throws Exception {
+
+ System.out.println("Create a new message signed by user 1:");
+
+ // create a new SignedData object which includes the data
+ SignedData signed_data = new SignedData(message, mode);
+ // SignedData shall include the certificate chain for verifying
+
+ PKCS12 pkcs12 = decryptPKCS12(
+ configuration_.getProperty(pkcs12file),
+ configuration_.getProperty(pkcs12password));
+
+ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty(certname)));
+ iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
+ X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
+ X509number = cert.getSerialNumber();
+ X509hash = new String(cert.getFingerprintSHA());
+ X509sub = ((Name)cert.getSubjectDN()).getRFC2253String();
+
+ iaik.x509.X509Certificate[] certarray = new iaik.x509.X509Certificate[1];
+ certarray[0] = cert;
+
+ signed_data.setCertificates(certarray);
+
+
+ RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
+
+ // cert at index 0 is the user certificate
+ IssuerAndSerialNumber issuer = new IssuerAndSerialNumber((Name)cert.getIssuerDN(),X509number);
+
+ // create a new SignerInfo
+ SignerInfo signer_info = new SignerInfo(issuer, AlgorithmID.sha1, privateKey);
+ // create some authenticated attributes
+ // the message digest attribute is automatically added
+ Attribute[] attributes = new Attribute[2];
+ // content type is data
+ attributes[0] = new Attribute(ObjectID.contentType, new ASN1Object[] {ObjectID.cms_data});
+ // signing time is now
+ attributes[1] = new Attribute(ObjectID.signingTime, new ASN1Object[] {new ChoiceOfTime().toASN1Object()});
+ // set the attributes
+ signer_info.setSignedAttributes(attributes);
+ // finish the creation of SignerInfo by calling method addSigner
+ try {
+ signed_data.addSignerInfo(signer_info);
+
+ if(two_users)
+ {
+ // another SignerInfo without authenticated attributes and MD5 as hash algorithm
+ signer_info = new SignerInfo(new IssuerAndSerialNumber((Name)cert.getIssuerDN(),X509number),
+ AlgorithmID.md5, privateKey);
+ // the message digest itself is protected
+ signed_data.addSignerInfo(signer_info);
+ }
+
+ } catch (NoSuchAlgorithmException ex) {
+ throw new CMSException("No implementation for signature algorithm: "+ex.getMessage());
+ }
+
+ ContentInfo ci = new ContentInfo(signed_data);
+ return ci.toASN1Object();
+ }
+
+public String cutXML(String input)
+ {
+ int pos = input.indexOf(">");
+ if(pos!=-1)
+ return input.substring(pos+1);
+ else
+ return input;
+ }
+
+
+}
diff --git a/spss.test/src/testgenerator/TestGeneratorCX0.java b/spss.test/src/testgenerator/TestGeneratorCX0.java
new file mode 100644
index 000000000..31778c6a2
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorCX0.java
@@ -0,0 +1,2940 @@
+
+package testgenerator;
+import iaik.apps.util.passphrase.PassphrasePrompt;
+import iaik.asn1.structures.Name;
+import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML;
+import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
+import iaik.ixsil.algorithms.SignatureAlgorithmImplECDSA;
+import iaik.ixsil.algorithms.SignatureAlgorithmImplRSA;
+import iaik.ixsil.algorithms.TransformImplBase64Decode;
+import iaik.ixsil.core.Signer;
+import iaik.ixsil.core.SignerManifest;
+import iaik.ixsil.core.SignerReference;
+import iaik.ixsil.core.SignerSignature;
+import iaik.ixsil.core.SignerSignedInfo;
+import iaik.ixsil.init.IXSILConstants;
+import iaik.ixsil.init.IXSILInit;
+import iaik.ixsil.keyinfo.KeyManagerImpl;
+import iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data;
+import iaik.ixsil.keyinfo.x509.X509Data;
+import iaik.ixsil.util.URI;
+import iaik.pkcs.pkcs11.objects.Certificate;
+import iaik.pkcs.pkcs11.objects.PrivateKey;
+import iaik.pkcs.pkcs11.objects.PublicKey;
+import iaik.pkcs.pkcs11.provider.IAIKPkcs11;
+import iaik.pkcs.pkcs11.provider.keys.IAIKPKCS11RsaPrivateKey;
+import iaik.pkcs.pkcs11.provider.keys.IAIKPKCS11RsaPublicKey;
+import iaik.pkcs.pkcs12.CertificateBag;
+import iaik.pkcs.pkcs12.PKCS12;
+import iaik.security.ecc.interfaces.ECDSAPrivateKey;
+import iaik.security.provider.IAIK;
+import iaik.utils.Base64OutputStream;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.RandomAccessFile;
+import java.net.URL;
+import java.security.Key;
+import java.security.KeyStore;
+import java.security.Security;
+import java.security.Signature;
+import java.security.cert.X509Certificate;
+import java.security.interfaces.RSAPrivateKey;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Properties;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xerces.dom.DocumentFragmentImpl;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.Text;
+
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.DOMUtils;
+
+import sun.misc.BASE64Encoder;
+
+/**
+ * @author stephan
+ */
+public class TestGeneratorCX0 extends TestCases {
+
+ String datadirectory = "data/CX0/";
+ String datadirectory_3 = "data/CX3/";
+ String datadirectory_4 = "data/CX4/";
+ String datadirectory_l = "data/LCX";
+
+ public String defaultblock = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\">\n"+
+ " <!-- Hint -->\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ public static void main(String[] args) throws Exception {
+ TestGeneratorCX0 testcase = new TestGeneratorCX0();
+
+ testcase.createConfig();
+ testcase.create001();
+ testcase.create002();
+ testcase.create003();
+ //testcase.create004();
+ testcase.create005();
+ //testcase.create006();
+ testcase.create007();
+ testcase.create008();
+ testcase.create009();
+ testcase.create010();
+ testcase.create011();
+ testcase.create012();
+ testcase.create013();
+ testcase.create014();
+ testcase.create015();
+ testcase.create016();
+ testcase.create017();
+ testcase.create018();
+ testcase.create019();
+
+ testcase.create051();
+ testcase.create052();
+ testcase.create053();
+ testcase.create054();
+ testcase.create055();
+ testcase.create056();
+ testcase.create057();
+ testcase.create058();
+ testcase.create059();
+ testcase.create060();
+ //testcase.create061();
+ testcase.create062();
+ //testcase.create063();
+ testcase.create064();
+ testcase.create065();
+
+ //testcase.createL00();*/
+
+ }
+
+ /* ==================================================================================================== */
+
+ public TestGeneratorCX0() throws Exception {
+
+ super();
+
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorCX0");
+// configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
+// configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
+// configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
+
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.provider.IAIK.addAsJDK14Provider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ //iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ /* ==================================================================================================== */
+
+ public Document createECDSPKCS12Sig(String tn,String fileref) throws Exception
+ {
+ String TestNumber = tn;
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ // String res = "emtpy";
+ // FileOutputStream resFOS = new FileOutputStream(resFile);
+ // resFOS.write(res.getBytes());
+
+ PKCS12 pkcs12 = decryptPKCS12(
+ configuration_.getProperty("ECDSPKCS12file"),
+ configuration_.getProperty("ECDSPKCS12password" ) );
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ Signer signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
+ new CanonicalizationAlgorithmImplCanonicalXML();
+ signedInfo.setCanonicalizationAlgorithm(c14nAlg);
+
+ CertificateBag cb[] = pkcs12.getCertificateBags();
+ System.out.println("LEN:"+cb.length);
+ iaik.x509.X509Certificate cert[] = cb[0].getCertificates(cb);
+ System.out.println("LEN2:"+cert.length);
+ System.out.println("CERT:"+(((Name)(cert[0].getIssuerDN())).getRFC2253String()));
+
+
+ // Set signature algorithm
+ /* TODO: Change to ECDS Impl */
+ SignatureAlgorithmImplECDSA signatureAlg = new SignatureAlgorithmImplECDSA();
+ ECDSAPrivateKey privateKey = getPrivateKeyECDS( pkcs12 );
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(fileref);
+
+ SignerReference reference = signedInfo.createReference();
+ reference.setURI(refURI);
+ reference.setId("reference-1-1");
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+ for (int i = 0; i < certs.length; i++)
+ {
+ x509Data.insertHintAt(certs[i], i);
+ }
+
+ KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+ signer.getSignature().setId("signature-1-1");
+ // Compute signature value
+ signer.getSignature().sign();
+ Document doc = signer.toDocument();
+ System.out.println(doc.getDocumentElement().getNodeName());
+
+ return doc;
+ }
+
+ public Document createPKCS12Sig(String tn,String fileref) throws Exception
+ {
+ return createPKCS12Sig(tn,fileref,false,false,null,false);
+ }
+
+ public Document createPKCS12Sig(String tn,String fileref,String id1,String id2) throws Exception
+ {
+ return createPKCS12Sig(tn,fileref,false,false,null,false,id1,id2);
+ }
+
+ public Document createPKCS12SigWithEnveloping(String TestNumber,String data) throws Exception
+ {
+ return createPKCS12Sig(TestNumber,data,true,false,null,false);
+ }
+
+ public Document createPKCS12Sig(String TestNumber,String data,boolean env,boolean mani) throws Exception
+ {
+ return createPKCS12Sig(TestNumber,data,env,mani,null,false);
+ }
+
+ public Document createPKCS12Sig(String TestNumber,String data,boolean env,boolean mani,String data2,boolean env2) throws Exception
+ {
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ PKCS12 pkcs12 = decryptPKCS12(
+ configuration_.getProperty("PKCS12file"),
+ configuration_.getProperty("PKCS12password" ) );
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ Signer signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ SignerSignature signature = signer.getSignature();
+ SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
+ new CanonicalizationAlgorithmImplCanonicalXML();
+ signedInfo.setCanonicalizationAlgorithm(c14nAlg);
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ if(!mani)
+ {
+ SignerReference reference = signedInfo.createReference();
+ if(env)
+ {
+ iaik.ixsil.core.Object object = null;
+ //object = signature.createObject(data);
+ if(data.startsWith("<xml"))
+ {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if(data.startsWith("<Testdaten"))
+ {
+
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+data).getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if(data.startsWith("b64:"))
+ {
+ data = data.substring(4);
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.newDocument();
+ Element root = doc.createElement("root");
+ doc.appendChild(root);
+ //String encoded = Base64Utils.encode(data.getBytes());
+ String encoded = Base64Utils.encode(data.getBytes());
+ /*encoded = replaceStringAll(encoded,"\n","");
+ encoded = replaceStringAll(encoded,"\r","");*/
+ Text textnode = doc.createTextNode(encoded);
+
+ System.out.println("Encoded:"+encoded);
+ //root.appendChild(textnode);
+
+ DocumentFragment df = doc.createDocumentFragment();
+
+ df.appendChild(textnode);
+
+ object = signature.createObject(df);
+
+ TransformImplBase64Decode trans = new TransformImplBase64Decode();
+ InputStream s = new ByteArrayInputStream(encoded.getBytes());
+ trans.setInput(s,null);
+
+ reference.insertTransformAt(trans,0);
+ }
+ else
+ {
+ object = signature.createObject(data);
+ }
+
+ object.setId("signed-data-1-1-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(new URI("#xpointer(id('signed-data-1-1-1')/node())"));
+
+
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data);
+
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-1-1");
+ signedInfo.addReference(reference);
+ }
+
+ if(data2!=null)
+ {
+ SignerReference reference = signedInfo.createReference();
+ reference = signedInfo.createReference();
+ if(env2)
+ {
+ iaik.ixsil.core.Object object = null;
+ if(data2.startsWith("<xml"))
+ {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if(data2.startsWith("<Testdaten"))
+ {
+
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+data).getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else
+ object = signature.createObject(data2);
+
+ if(!env)
+ object.setId("signed-data-1-2-1");
+ else
+ object.setId("signed-data-1-2-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ if(!env)
+ reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
+ else
+ reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data2);
+
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-1-2");
+ signedInfo.addReference(reference);
+ }
+
+ // Add reference to signature
+
+
+
+ if(mani)
+ {
+
+ /*iaik.ixsil.core.Object object = null;
+ if(env)
+ object = signature.createObject(readFile(data));
+ else
+ object = signature.createObject(data);
+
+ object.setId("envelopedData");
+ signature.addObject(object);*/
+ SignerReference reference = signedInfo.createReference();
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ manifestRef.setDigestAlgorithm(digestAlg);
+
+ manifestRef.setURI(new URI(data));
+ manifestRef.setId("reference-1-1");
+
+ manifest.addReference(manifestRef);
+ manifest.setId("dsig-manifest-1-1");
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI("#dsig-manifest-1-1"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+
+
+ /*Element envelopedDataElem =
+ signer.toDocument().createElement("EnvelopedDataElement");
+
+ if(env)
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(readFile(data)));
+ }
+ else
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(data));
+ }
+
+ iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
+ signature.addObject(object);
+
+ // Create Manifest with a single reference pointing to the enveloped data
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+ manifestRef.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
+ manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+ manifest.addReference(manifestRef);
+
+ // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ // Create and configure reference to manifest
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);*/
+ }
+
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+ x509Data.insertHintAt(certs[1], 0);
+ /*for (int i = 0; i < certs.length; i++)
+ {
+
+ }*/
+
+ KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+ signer.getSignature().setId("signature-1-1");
+ // Compute signature value
+ signer.getSignature().sign();
+
+ return signer.toDocument();
+ }
+
+ public Document createPKCS12Sig(String TestNumber,String data,boolean env,boolean mani,String data2,boolean env2,String id1,String id2) throws Exception
+ {
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ PKCS12 pkcs12 = decryptPKCS12(
+ configuration_.getProperty("PKCS12file"),
+ configuration_.getProperty("PKCS12password" ) );
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ Signer signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ SignerSignature signature = signer.getSignature();
+ SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
+ new CanonicalizationAlgorithmImplCanonicalXML();
+ signedInfo.setCanonicalizationAlgorithm(c14nAlg);
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ if(!mani)
+ {
+ SignerReference reference = signedInfo.createReference();
+ if(env)
+ {
+ iaik.ixsil.core.Object object = null;
+ //object = signature.createObject(data);
+ if(data.startsWith("<xml"))
+ {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if(data.startsWith("<Testdaten"))
+ {
+
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+data).getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if(data.startsWith("b64:"))
+ {
+ data = data.substring(4);
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.newDocument();
+ Element root = doc.createElement("root");
+ doc.appendChild(root);
+ //String encoded = Base64Utils.encode(data.getBytes());
+ String encoded = Base64Utils.encode(data.getBytes());
+ /*encoded = replaceStringAll(encoded,"\n","");
+ encoded = replaceStringAll(encoded,"\r","");*/
+ Text textnode = doc.createTextNode(encoded);
+
+ System.out.println("Encoded:"+encoded);
+ //root.appendChild(textnode);
+
+ DocumentFragment df = doc.createDocumentFragment();
+
+ df.appendChild(textnode);
+
+ object = signature.createObject(df);
+
+ TransformImplBase64Decode trans = new TransformImplBase64Decode();
+ InputStream s = new ByteArrayInputStream(encoded.getBytes());
+ trans.setInput(s,null);
+
+ reference.insertTransformAt(trans,0);
+ }
+ else
+ {
+ object = signature.createObject(data);
+ }
+
+ object.setId("signed-data-1-1-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(new URI("#xpointer(id('signed-data-1-1-1')/node())"));
+
+
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data);
+
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-2-1");
+ signedInfo.addReference(reference);
+ }
+
+ if(data2!=null)
+ {
+ SignerReference reference = signedInfo.createReference();
+ reference = signedInfo.createReference();
+ if(env2)
+ {
+ iaik.ixsil.core.Object object = null;
+ if(data2.startsWith("<xml"))
+ {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if(data2.startsWith("<Testdaten"))
+ {
+
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+data).getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else
+ object = signature.createObject(data2);
+
+ if(!env)
+ object.setId("signed-data-1-2-1");
+ else
+ object.setId("signed-data-1-2-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ if(!env)
+ reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
+ else
+ reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data2);
+
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-1-2");
+ signedInfo.addReference(reference);
+ }
+
+ // Add reference to signature
+
+
+
+ if(mani)
+ {
+
+ /*iaik.ixsil.core.Object object = null;
+ if(env)
+ object = signature.createObject(readFile(data));
+ else
+ object = signature.createObject(data);
+
+ object.setId("envelopedData");
+ signature.addObject(object);*/
+ SignerReference reference = signedInfo.createReference();
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ manifestRef.setDigestAlgorithm(digestAlg);
+
+ manifestRef.setURI(new URI(data));
+ manifestRef.setId("reference-1-1");
+
+ manifest.addReference(manifestRef);
+ manifest.setId("dsig-manifest-1-1");
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI("#dsig-manifest-1-1"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+
+
+ /*Element envelopedDataElem =
+ signer.toDocument().createElement("EnvelopedDataElement");
+
+ if(env)
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(readFile(data)));
+ }
+ else
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(data));
+ }
+
+ iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
+ signature.addObject(object);
+
+ // Create Manifest with a single reference pointing to the enveloped data
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+ manifestRef.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
+ manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+ manifest.addReference(manifestRef);
+
+ // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ // Create and configure reference to manifest
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);*/
+ }
+
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+ x509Data.insertHintAt(certs[1], 0);
+ /*for (int i = 0; i < certs.length; i++)
+ {
+
+ }*/
+
+ KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+ signer.getSignature().setId("signature-2-1");
+ // Compute signature value
+ signer.getSignature().sign();
+
+ return signer.toDocument();
+ }
+
+ public Document createHSMSig(String TestNumber,String data,boolean env,boolean mani,String data2,boolean env2) throws Exception
+ {
+ String keyId = null;
+ String certId = null;
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ Signer signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ SignerSignature signature = signer.getSignature();
+ SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
+ new CanonicalizationAlgorithmImplCanonicalXML();
+ signedInfo.setCanonicalizationAlgorithm(c14nAlg);
+
+ Properties config = new Properties();
+ config.put("PKCS11_NATIVE_MODULE","cryptoki.dll");
+ config.put("SLOT_ID","0");
+ config.put("DEFAULT_PROMPT_DIALOG","testgenerator.Pass");
+
+ Security.addProvider(new IAIK());
+ IAIKPkcs11 pkcs11Provider_ = new IAIKPkcs11(config);
+ Security.addProvider(pkcs11Provider_);
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
+ signatureAlg.setJCEProviderName(pkcs11Provider_.getName());
+
+ // HSM Action start
+
+ // load the keystore of the PKCS#11 provider given via input stream
+ KeyStore tokenKeyStore = pkcs11Provider_.getTokenManager().getKeyStore();
+ tokenKeyStore.load(null,"1111".toCharArray());
+
+ Enumeration enum = tokenKeyStore.aliases();
+
+ String ali = null;
+ while(enum.hasMoreElements())
+ {
+ //enum.nextElement();
+ ali = (String)enum.nextElement();
+ //ali = (String)enum.nextElement();
+ System.out.println("Alias:"+ali);
+ if(tokenKeyStore.containsAlias(ali)) System.out.println("ALIAS vorhanden");
+ if(tokenKeyStore.isKeyEntry(ali)) System.out.println("KEYENTRY vorhanden");
+ }
+
+ Enumeration enum2 = tokenKeyStore.aliases();
+
+ while (enum2.hasMoreElements()) {
+ String alias = enum2.nextElement().toString();
+
+ if (tokenKeyStore.isKeyEntry(alias)) {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("Key entry with alias: " + alias);
+ Key key = tokenKeyStore.getKey(alias, null);
+ System.out.println(key);
+ java.security.cert.Certificate[] certificateChain2 = tokenKeyStore.getCertificateChain(alias);
+ if (certificateChain2 != null) {
+ System.out.println("Certificate chain of length: " + certificateChain2.length);
+ for (int i = 0; i < certificateChain2.length; i++) {
+ System.out.println("--------------------------------------------------------------------------------");
+ System.out.println(certificateChain2[i]);
+ }
+ } else {
+ System.out.println("Certificate chain is null!");
+ }
+ System.out.println("________________________________________________________________________________");
+ } else if (tokenKeyStore.isCertificateEntry(alias)) {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("Certificate entry with alias: " + alias);
+ java.security.cert.Certificate certificate = tokenKeyStore.getCertificate(alias);
+ System.out.println(certificate);
+ System.out.println("________________________________________________________________________________");
+ } else {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("ERROR! Unknown entry type with alias: " + alias);
+ System.out.println("________________________________________________________________________________");
+ }
+ }
+
+
+ IAIKPKCS11RsaPrivateKey privateKey = (IAIKPKCS11RsaPrivateKey)tokenKeyStore.getKey("MOAHSMRSAKEY_cert", null);
+ keyId = new String(privateKey.getKeyID());
+
+ System.out.println(new String(privateKey.getKeyID()));
+ //System.out.println("got:"+signatureKey+" : "+signatureKey.getClass().getName());
+
+ Signature signatureEngine = Signature.getInstance("ExternalSHA1WithRSA", pkcs11Provider_.getName());
+ signatureEngine.initSign(privateKey);
+ /*signatureEngine.update("This is some data to be signed.".getBytes());
+ byte[] bytesig = signatureEngine.sign();
+ System.out.println("SIG:"+new String(bytesig));
+
+ System.out.println("KEY:\n"+privateKey);*/
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ SignerReference reference = signedInfo.createReference();
+
+ if(!mani)
+ {
+ if(env)
+ {
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(data);
+ object.setId("signed-data-0-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(new URI("#xpointer(id('signed-data-0-1')/node())"));
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data);
+
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-1-1");
+ signedInfo.addReference(reference);
+ }
+
+ if(data2!=null)
+ {
+ reference = signedInfo.createReference();
+ if(env2)
+ {
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(data2);
+ object.setId("signed-data-0-2");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(new URI("#xpointer(id('signed-data-0-2')/node())"));
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data2);
+
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ signedInfo.addReference(reference);
+ }
+
+ // Add reference to signature
+
+
+
+ if(mani)
+ {
+
+ /*iaik.ixsil.core.Object object = null;
+ if(env)
+ object = signature.createObject(readFile(data));
+ else
+ object = signature.createObject(data);
+
+ object.setId("envelopedData");
+ signature.addObject(object);*/
+
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ manifestRef.setDigestAlgorithm(digestAlg);
+
+ manifestRef.setURI(new URI(data));
+
+ manifest.addReference(manifestRef);
+ manifest.setId("manifest-1");
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI("#xpointer(id('manifest-1'))"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+
+
+ /*Element envelopedDataElem =
+ signer.toDocument().createElement("EnvelopedDataElement");
+
+ if(env)
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(readFile(data)));
+ }
+ else
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(data));
+ }
+
+ iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
+ signature.addObject(object);
+
+ // Create Manifest with a single reference pointing to the enveloped data
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+ manifestRef.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
+ manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+ manifest.addReference(manifestRef);
+
+ // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ // Create and configure reference to manifest
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);*/
+ }
+
+ enum2 = tokenKeyStore.aliases();
+
+ while(enum2.hasMoreElements())
+ {
+ System.out.println(enum2.nextElement());
+ }
+
+ enum2 = tokenKeyStore.aliases();
+
+ while (enum2.hasMoreElements()) {
+ String alias = enum2.nextElement().toString();
+
+ if (tokenKeyStore.isKeyEntry(alias)) {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("Key entry with alias: " + alias);
+ Key key = tokenKeyStore.getKey(alias, null);
+ System.out.println(key);
+ java.security.cert.Certificate[] certificateChain2 = tokenKeyStore.getCertificateChain(alias);
+ if (certificateChain2 != null) {
+ System.out.println("Certificate chain of length: " + certificateChain2.length);
+ for (int i = 0; i < certificateChain2.length; i++) {
+ System.out.println("--------------------------------------------------------------------------------");
+ System.out.println(certificateChain2[i]);
+ }
+ } else {
+ System.out.println("Certificate chain is null!");
+ }
+ System.out.println("________________________________________________________________________________");
+ } else if (tokenKeyStore.isCertificateEntry(alias)) {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("Certificate entry with alias: " + alias);
+ java.security.cert.Certificate certificate = tokenKeyStore.getCertificate(alias);
+ System.out.println(certificate);
+ System.out.println("________________________________________________________________________________");
+ } else {
+ System.out.println("________________________________________________________________________________");
+ System.out.println("ERROR! Unknown entry type with alias: " + alias);
+ System.out.println("________________________________________________________________________________");
+ }
+ }
+
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ //DOMUtils.serializeNode(keyManager.getKeyInfo());
+
+ java.security.cert.Certificate[] certificateChain = tokenKeyStore.getCertificateChain("MOAHSMRSAKEY_cert");
+
+ System.out.println("CERTLEN:"+certificateChain.length);
+
+ X509Data x509Data = new X509Data();
+ for (int i = 0; i < certificateChain.length; i++)
+ {
+ System.out.println("CERT:"+((Name)(((X509Certificate)certificateChain[i]).getIssuerDN())).getRFC2253String());
+ x509Data.insertHintAt((X509Certificate)certificateChain[i], i);
+ }
+
+ KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+ signer.getSignature().setId("signature-1-1");
+
+ // Compute signature value
+ signer.getSignature().sign();
+
+ return signer.toDocument();
+ }
+
+ public Document createPKCS12SigSL(String TestNumber,String data) throws Exception
+ {
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ PKCS12 pkcs12 = decryptPKCS12(
+ configuration_.getProperty("PKCS12file"),
+ configuration_.getProperty("PKCS12password" ) );
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ Signer signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ SignerSignature signature = signer.getSignature();
+ SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
+ new CanonicalizationAlgorithmImplCanonicalXML();
+ signedInfo.setCanonicalizationAlgorithm(c14nAlg);
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ SignerReference reference = signedInfo.createReference();
+
+ // env
+ /*iaik.ixsil.core.Object object = null;
+ object = signature.createObject(data);
+ object.setId("envelopedData");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(new URI("#xpointer(id('envelopedData')/node())"));*/
+
+ // detached
+ // Create and configure reference
+ URI refURI = null;
+ refURI = new URI(data);
+
+ reference.setURI(refURI);
+ reference.setId("reference-1-1");
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ signedInfo.addReference(reference);
+
+ reference = signedInfo.createReference();
+
+ refURI = null;
+ refURI = new URI(data);
+
+ //reference.setURI(new URI("#xpointer(id('ETSIProperties'))/*/*"));
+ reference.setURI(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"));
+ reference.setType(new URI("http://uri.etsi.org/01903/v1.1.1#SignedProperties"));
+ digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ signedInfo.addReference(reference);
+
+ /*iaik.ixsil.core.Object object = null;
+ object = signature.createObject(data);
+ object.setId("SLManifestObject");
+
+ signature.addObject(object);*/
+
+
+ /*SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+
+ digestAlg = new DigestAlgorithmImplSHA1();
+ manifestRef.setDigestAlgorithm(digestAlg);
+
+ manifestRef.setURI(new URI(data));
+
+ manifest.addReference(manifestRef);
+ manifest.setId("SLManifestObject");
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = manifest.createReference();
+ reference.setType(new URI("http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest"));
+ reference.setURI(new URI("#SLManifestObject"));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);*/
+
+ iaik.ixsil.core.Object object = null;
+ object = signature.createObject(getElement("TEST"));
+ object.setId("etsi-signed-1-1");
+ signature.addObject(object);
+
+
+
+ /*if(mani)
+ {
+
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ manifestRef.setDigestAlgorithm(digestAlg);
+
+ manifestRef.setURI(new URI(data));
+
+ manifest.addReference(manifestRef);
+ manifest.setId("manifestObject");
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI("#xpointer(id('manifestObject'))"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+
+ }*/
+
+ signature.setId("signature-1-1");
+
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+ x509Data.insertHintAt(certs[1], 0);
+
+ KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+
+ // Compute signature value
+ signer.getSignature().sign();
+
+ return signer.toDocument();
+ }
+
+ public Element getElement(String data) throws Exception
+ {
+ String etsinamespace = "http://uri.etsi.org/01903/v1.1.1#";
+
+ getX509Content();
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ //dbf.setNamespaceAware(true);
+ //dbf.setValidating(true);
+
+ Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+
+
+ Element qualprop = doc.createElementNS(etsinamespace,"etsi:QualifyingProperties");
+ qualprop.setAttributeNS(null,"Target","#signature-1-1");
+ qualprop.setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:etsi",etsinamespace);
+ //qualprop.setPrefix("etsi");*/
+ //qualprop.setAttributeNodeNS(doc.createAttributeNS(etsinamespace,"etsi"));
+ Element signprop = doc.createElementNS(etsinamespace,"etsi:SignedProperties");
+ Element signsigprop = doc.createElementNS(etsinamespace,"etsi:SignedSignatureProperties");
+ Element signdataobjectprop = doc.createElementNS(etsinamespace,"etsi:SignedDataObjectProperties");
+ Element signdate = doc.createElementNS(etsinamespace,"etsi:SigningTime");
+ Text datevalue = doc.createTextNode("2003-05-10T00:01:01");
+ Element signcert = doc.createElementNS(etsinamespace,"etsi:SigningCertificate");
+ Element cert = doc.createElementNS(etsinamespace,"etsi:Cert");
+ Element signpolyident = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyIdentifier");
+ Element signpolyimp = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyImplied");
+ Element certdig = doc.createElementNS(etsinamespace,"etsi:CertDigest");
+ Element digmeth = doc.createElementNS(etsinamespace,"etsi:DigestMethod");
+ digmeth.setAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#sha1");
+ Element digvalue = doc.createElementNS(etsinamespace,"etsi:DigestValue");
+
+ ByteArrayOutputStream fos = new ByteArrayOutputStream();
+ Base64OutputStream base64os = new Base64OutputStream(fos);
+ base64os.write(this.X509hash.getBytes());
+ base64os.flush();
+
+ Text dig_value = doc.createTextNode(fos.toString());
+ Element is = doc.createElementNS(etsinamespace,"etsi:IssuerSerial");
+ Element i = doc.createElement("dsig:X509IssuerName");
+ Text i_value = doc.createTextNode(this.X509name);
+ Element s = doc.createElement("dsig:X509SerialNumber");
+ Text s_value = doc.createTextNode(this.X509number.toString());
+ Element dataobjformat = doc.createElementNS(etsinamespace,"etsi:DataObjectFormat");
+ dataobjformat.setAttribute("ObjectReference","#reference-1-1");
+ Element mimetype = doc.createElementNS(etsinamespace,"etsi:MimeType");
+ //mimetype.setNodeValue("text/plain");
+ Text mimevalue = doc.createTextNode("text/plain");
+
+ qualprop.appendChild(signprop);
+ signprop.appendChild(signsigprop);
+ signsigprop.appendChild(signdate);
+ signdate.appendChild(datevalue);
+ signsigprop.appendChild(signcert);
+ signcert.appendChild(cert);
+ cert.appendChild(certdig);
+ certdig.appendChild(digmeth);
+ certdig.appendChild(digvalue);
+ digvalue.appendChild(dig_value);
+ cert.appendChild(is);
+ is.appendChild(i);
+ i.appendChild(i_value);
+ is.appendChild(s);
+ s.appendChild(s_value);
+ signsigprop.appendChild(signpolyident);
+ signpolyident.appendChild(signpolyimp);
+ signprop.appendChild(signdataobjectprop);
+ signdataobjectprop.appendChild(dataobjformat);
+ dataobjformat.appendChild(mimetype);
+ mimetype.appendChild(mimevalue);
+
+
+
+ return qualprop;
+ }
+
+
+ public void createConfig() throws Exception {
+
+ String file = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ ".Config.xml";
+ String config =
+
+"<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
+" <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
+" <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
+" <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
+" <KeyGroup id=\"DSAinPKCS12\"> <Key id=\"DSA.512.p12\"/> </KeyGroup> "+
+" <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+" <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+" <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
+" <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
+" <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
+"</MOAConfiguration>";
+
+
+ /*"<MOAConfiguration>\n"+
+ " <KeyGroup id=\"PKCS12RSAKey1\"/> <!-- mapped auf \"test(1234).p12\" -->\n"+
+ "</MOAConfiguration>\n"+
+ "<!-- CanonicalizationMethod = http://www.w3.org/TR/2001/REC-xml-c14n-20010315 -->" +
+ "<!-- SignatureMethod = http://www.w3.org/2000/09/xmldsig#rsa-sha1 -->";*/
+
+ FileOutputStream fos = new FileOutputStream(file);
+ fos.write(config.getBytes());
+ fos.flush();
+ fos.close();
+
+ String file_3 = configuration_.getProperty("baseDir") + datadirectory_3 +
+ "TestGeneratorCX3" +
+ ".Config.xml";
+
+ fos = new FileOutputStream(file_3);
+ fos.write(config.getBytes());
+ fos.flush();
+ fos.close();
+
+ String file_4 = configuration_.getProperty("baseDir") + datadirectory_4 +
+ "TestGeneratorCX4" +
+ ".Config.xml";
+
+ fos = new FileOutputStream(file_4);
+ fos.write(config.getBytes());
+ fos.flush();
+ fos.close();
+
+ }
+
+ public void createL00() throws Exception {
+ createL001("1kb");
+ createL001("10kb");
+ createL001("20kb");
+ createL001("50kb");
+ createL001("100kb");
+ createL001("500kb");
+ createL001("1mb");
+ createL001("10mb");
+ }
+
+ public void createL001(String filename) throws Exception {
+ String TestNumber = "001";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory_l+filename+"/" +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/"+filename+".txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory_l+filename+"/" +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/"+filename+".txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+ }
+
+ /* ==================================================================================================== */
+
+ public void create001() throws Exception {
+
+ String TestNumber = "001";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+
+ // CX3 wird gleich mit generiert
+
+ String reqFile_3 = configuration_.getProperty("baseDir") + datadirectory_3 +
+ "TestGeneratorCX3" +
+ ".";
+ String reqFile_4 = configuration_.getProperty("baseDir") + datadirectory_4 +
+ "TestGeneratorCX4" +
+ ".";
+
+ writeFile(reqFile_3+"001" + ".Req.xml",req);
+ writeFile(reqFile_4+"051" + ".Req.xml",req);
+
+ req = replaceString(req,"PKCS12RSAKey1","PKCS12RSAKeyNotAllowed");
+
+ writeFile(reqFile_3+"052" + ".Req.xml",req);
+
+ String resFile_3 = configuration_.getProperty("baseDir") + datadirectory_3 +
+ "TestGeneratorCX3" +
+ "." ;
+ String resFile_4 = configuration_.getProperty("baseDir") + datadirectory_4 +
+ "TestGeneratorCX4" +
+ "." ;
+
+ writeFile(resFile_3+ "001" + ".Res.xml",erg);
+ writeFile(resFile_4+ "051" + ".ErrRes.xml","0000");
+ writeFile(resFile_3+ "052" + ".ErrRes.xml","2231");
+
+ }
+
+ public void writeFile(String filename,String data) throws Exception
+ {
+ BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
+ bw.write(data);
+ bw.close();
+ }
+
+
+ public void create002() throws Exception {
+
+ String TestNumber = "002";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create003() throws Exception {
+
+ String TestNumber = "003";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" ?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create004() throws Exception {
+
+ /*Properties config = new Properties();
+ config.put("PKCS11_NATIVE_MODULE","cryptoki.dll");
+ config.put("SLOT_ID","0");
+
+ Security.addProvider(new IAIK());
+ IAIKPkcs11 pkcs11Provider_ = new IAIKPkcs11(config);
+ Security.addProvider(pkcs11Provider_);
+
+ // load the keystore of the PKCS#11 provider given via input stream
+ KeyStore tokenKeyStore = pkcs11Provider_.getTokenManager().getKeyStore();
+
+ Object signatureKey = tokenKeyStore.getKey("HSMRSAKEY", null);
+ //System.out.println("got:"+signatureKey+" : "+signatureKey.getClass().getName());
+ if(signatureKey instanceof IAIKPKCS11RsaPrivateKey)
+ {
+ System.out.println("GOT PRIVATE KEY:"+(IAIKPKCS11RsaPrivateKey)signatureKey);
+ java.security.cert.Certificate[] certificateChain = tokenKeyStore.getCertificateChain("HSMRSAKEY");
+ X509Certificate signerCertificate = (X509Certificate) certificateChain[0];
+
+ }
+ if(signatureKey instanceof IAIKPKCS11RsaPublicKey)
+ {
+ System.out.println("GOT PUBLIC KEY:"+(IAIKPKCS11RsaPublicKey)signatureKey);
+ }*/
+
+ String TestNumber = "004";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" ?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>MOAHSMRSAKEY</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createHSMSig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",false,false,null,false);
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create005() throws Exception {
+
+ String TestNumber = "005";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" ?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12ECDSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createECDSPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+
+ public void create006() throws Exception {
+
+ String TestNumber = "006";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+
+ writeFile(reqFile,"");
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ writeFile(resFile,"0000");
+ }
+
+ public void create007() throws Exception {
+
+ String TestNumber = "007";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\">\n"+
+ " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create008() throws Exception {
+
+ String TestNumber = "008";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\">\n"+
+ " <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+
+ /* ==================================================================================================== */
+
+ public void create009() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "009";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"b64:Dies sind Testdaten");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create010() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "010";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
+ " <DataObject>\n"+
+ " <XMLContent xml:space=\"preserve\"><Testdaten>Dies sind Testdaten</Testdaten></XMLContent>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"<Testdaten>Dies sind Testdaten</Testdaten>");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create011() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "011";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
+ " <DataObject>\n"+
+ " <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"b64:Dies sind Testdaten");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create012() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "012";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" >\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\">\n"+
+ " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+
+ public void create013() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "013";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"true\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\" />\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",false,true);
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create014() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "014";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"true\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testUTF8.txt\" />\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12SigSL(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testUTF8.txt");
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create015() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "015";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " <DataObjectInfo Structure=\"detached\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",false,false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt",false);
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create016() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "016";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"enveloping\">\n"+
+ " <DataObject>\n"+
+ " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " <DataObjectInfo Structure=\"enveloping\">\n"+
+ " <DataObject>\n"+
+ " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,"Dies sind Testdaten",true,false,"Dies sind Testdaten",true);
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create017() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "017";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " <DataObjectInfo Structure=\"enveloping\">\n"+
+ " <DataObject>\n"+
+ " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",false,false,"Dies sind Testdaten",true);
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create018() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "018";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ Document signatureDoc2 = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt","id","id");
+
+ String erg = makeOutputFile(signatureDoc,signatureDoc2);
+
+ writeFile(resFile,erg);
+
+ }
+
+ public void create019() throws Exception {
+
+ String TestNumber = "019";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testXML.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/xml</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Res.xml";
+
+ Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"b64:"+readFile(configuration_.getProperty("baseDir")+"resources/testXML.txt"));
+
+ String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,erg);
+ }
+
+ public void create064() throws Exception {
+
+ // based on create000()
+
+ String TestNumber = "064";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"testDatenFalsch.txt\">\n"+
+ " <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ //Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"Dies sind Testdaten");
+
+ //String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,"1110");
+
+ }
+
+
+ public void create051() throws Exception {
+
+ String TestNumber = "051";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " <SuperExtraElementThatShouldNotBeValidWithTheSchema/>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"1100");
+
+ }
+
+ public void create052() throws Exception {
+
+ String TestNumber = "052";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"version=\"1.0\"","");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"0000");
+
+ }
+
+ public void create053() throws Exception {
+
+ String TestNumber = "053";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"version=\"1.0\"","version=\"5.0alpha3\"");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"0000");
+
+ }
+
+ public void create054() throws Exception {
+
+ String TestNumber = "054";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"ISO-8859-1","SuperSvenEncoding:)");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"0000");
+
+ }
+
+ public void create055() throws Exception {
+
+ String TestNumber = "055";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"","xmlns=\"http://www.w3.org/2000/09/svens_schema#\"");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"1100");
+
+ }
+
+ public void create056() throws Exception {
+
+ String TestNumber = "056";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"PKCS12RSAKey1","wrong_value_KeyIdentifier");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"2231");
+
+ }
+
+ public void create057() throws Exception {
+
+ String TestNumber = "057";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"PKCS12RSAKey1","PKCS12RSAKeyExpired");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"2220");
+
+ }
+
+ public void create058() throws Exception {
+
+ String TestNumber = "058";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"PKCS12RSAKey1","DSAinPKCS12");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"2220");
+
+ }
+
+ public void create059() throws Exception {
+
+ String TestNumber = "059";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",configuration_.getProperty("webbaseDir")+"not_here.txt");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"2208");
+
+ }
+
+ /*
+
+ public String defaultblock = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\">\n"+
+ " <!-- Hint -->\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ */
+
+ public void create060() throws Exception {
+
+ String TestNumber = "060";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"","");
+ /*req = this.replaceString(req,"<CreateTransformsInfoProfile>","");
+ req = this.replaceString(req,"<CreateTransformsInfo>","");
+ req = this.replaceString(req,"<FinalDataMetaInfo>","");
+ req = this.replaceString(req,"<MimeType>text/plain</MimeType>","");
+ req = this.replaceString(req,"</FinalDataMetaInfo>","");
+ req = this.replaceString(req,"</CreateTransformsInfo>","");
+ req = this.replaceString(req,"</CreateTransformsInfoProfile>","");*/
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"1102");
+
+ }
+
+ public void create061() throws Exception {
+
+ String TestNumber = "061";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"","");
+ req = this.replaceString(req,"<!-- Hint -->","<XMLContent xml:space=\"preserve\"><DieserTagIstNichtZu></XMLContent>");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"0000");
+
+ }
+
+ public void create062() throws Exception {
+
+ String TestNumber = "062";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"","");
+ req = this.replaceString(req,"<!-- Hint -->","<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg=</Base64Content>");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"1100");
+
+ }
+
+ public void create063() throws Exception {
+
+ String TestNumber = "063";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req = this.replaceString(defaultblock,"<MimeType>text/plain</MimeType>","<MimeType>something/some thing/something</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ writeFile(resFile,"1100");
+
+ }
+
+ public void create065() throws Exception {
+
+ String TestNumber = "065";
+ String reqFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".Req.xml";
+ String req =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+ "<CreateXMLSignatureRequest\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
+ " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
+ " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
+ " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
+ " <DataObject>\n"+
+ " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
+ " </DataObject>\n"+
+ " <CreateTransformsInfoProfile>\n"+
+ " <CreateTransformsInfo>\n"+
+ " <FinalDataMetaInfo>\n"+
+ " <MimeType>text/plain</MimeType>\n"+
+ " </FinalDataMetaInfo>\n"+
+ " </CreateTransformsInfo>\n"+
+ " </CreateTransformsInfoProfile>\n"+
+ " </DataObjectInfo>\n"+
+ " </SingleSignatureInfo>\n"+
+ "</CreateXMLSignatureRequest>";
+
+ writeFile(reqFile,req);
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ String resFile = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ "." + TestNumber + ".ErrRes.xml";
+
+ //Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+
+ //String erg = makeOutputFile(signatureDoc);
+
+ writeFile(resFile,"1102");
+
+ }
+
+
+
+
+ public String makeOutputFile(Document signatureDoc) throws Exception
+ {
+ ArrayList foundNodes = new ArrayList();
+ findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
+
+ Node outputNode = null;
+
+ if(foundNodes.size()>0)
+ {
+ outputNode = (Node)foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
+ "<CreateXMLSignatureResponse\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " >"+
+ //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">\n"+
+ "<SignatureEnvironment>" +
+ erg + "</SignatureEnvironment></CreateXMLSignatureResponse>";
+
+ return erg;
+ }
+
+ public String makeOutputFile(Document signatureDoc,Document signatureDoc2) throws Exception
+ {
+ ArrayList foundNodes = new ArrayList();
+ findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
+
+ Node outputNode = null;
+
+ if(foundNodes.size()>0)
+ {
+ outputNode = (Node)foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ foundNodes.clear();
+ findNode(signatureDoc2.getDocumentElement(),"dsig:Signature",foundNodes);
+
+ outputNode = null;
+
+ if(foundNodes.size()>0)
+ {
+ outputNode = (Node)foundNodes.get(0);
+ }
+
+ String erg2 = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ pos = erg2.indexOf("<dsig");
+ erg2 = erg2.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
+ "<CreateXMLSignatureResponse\n" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
+ " >"+
+ "<SignatureEnvironment>" +
+ erg +"</SignatureEnvironment><SignatureEnvironment>"+erg2+"</SignatureEnvironment> </CreateXMLSignatureResponse>";
+
+ //erg = replaceString(erg,"Id=\"signature-1-1\"","Id=\"signature-2-1\"");
+ //erg = replaceString(erg,"Id=\"reference-1-1\"","Id=\"reference-2-1\"");
+
+
+ return erg;
+ }
+
+ public String readFile(String filename) throws Exception
+ {
+ /*StringBuffer data = new StringBuffer();
+ String line = null;
+ BufferedReader br = new BufferedReader(new FileReader(filename));
+ while((line = br.readLine())!=null)
+ {
+ data.append(line);
+ data.append("\n");
+ }
+ return data.toString();*/
+
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+
+ byte[] result = new byte[(int) raf.length()];
+
+ raf.read(result);
+
+ return new String(result);
+
+ }
+
+}
+
diff --git a/spss.test/src/testgenerator/TestGeneratorCX1.java b/spss.test/src/testgenerator/TestGeneratorCX1.java
new file mode 100644
index 000000000..44670742b
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorCX1.java
@@ -0,0 +1,1054 @@
+package testgenerator;
+
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.algorithms.TransformImplBase64Decode;
+import iaik.ixsil.algorithms.TransformImplCanonicalXML;
+import iaik.ixsil.algorithms.TransformImplCanonicalXMLWithComments;
+import iaik.ixsil.algorithms.TransformImplEnvelopedSignature;
+import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML;
+import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXMLWithComments;
+import iaik.ixsil.algorithms.TransformImplXPath;
+import iaik.ixsil.algorithms.TransformImplXPath2;
+import iaik.ixsil.algorithms.TransformImplXSLT;
+import iaik.ixsil.core.Position;
+import iaik.ixsil.util.URI;
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.DOMUtils;
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestGeneratorCX1 extends TestCases {
+
+ String datadirectory = "data/CX1/";
+
+ String base64content = "RGllcyBzaW5kIFRlc3RkYXRlbg==";
+
+ String defaultblock =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
+ "<CreateXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >"+
+ "<KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>"+
+ "<SingleSignatureInfo SecurityLayerConformity=\"false\">"+
+ "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
+ "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
+ "<data:first-name>Ellipse</data:first-name>"+
+ "<data:last-name>Kurvenreich</data:last-name>"+
+ "<data:birth-date>1951-04-16</data:birth-date>"+
+ "<data:birth-location>Hinterm Berg</data:birth-location>"+
+ "<data:register-number>6-930-21512-12</data:register-number>"+
+ "</data:book>"+
+ "</XMLContent>"+
+ "</DataObject>"+
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<!-- insert transform -->"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/html</MimeType>"+
+ "<Description>http://www.description.com</Description>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "<!-- insert supp -->"+
+ "</CreateTransformsInfoProfile>"+
+ "</DataObjectInfo>"+
+ "<!-- insert data2 -->"+
+ "</SingleSignatureInfo>"+
+ "</CreateXMLSignatureRequest>";
+
+ private static final int canAlgCanXML = 1;
+ private static final int canAlgCanXMLwithCom = 2;
+ private static final int canAlgExcXML = 3;
+ private static final int canAlgExcXMLwithCom = 4;
+
+
+ public String fileprefix = null;
+ public String filesuffix = null;
+
+ public TestGeneratorCX1() throws Exception {
+
+ super();
+
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorCX1");
+// configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
+// configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
+// configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
+
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ public static void main(String[] args) throws Exception {
+ TestGeneratorCX1 testcase = new TestGeneratorCX1();
+
+ testcase.createConfig();
+ testcase.create001();
+ testcase.create002();
+ testcase.create003();
+ testcase.create004();
+ testcase.create005();
+ testcase.create006();
+ testcase.create007();
+ testcase.create008();
+ testcase.create009();
+ testcase.create010();
+ testcase.create011();
+ testcase.create012();
+ testcase.create013();
+ testcase.create014();
+
+ testcase.create051();
+ testcase.create052();
+ testcase.create053();
+ testcase.create054();
+ testcase.create055();
+
+ }
+
+ public void createConfig() throws Exception {
+
+ String file = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ ".Config.xml";
+ String config =
+
+ "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
+ " <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
+ " <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
+
+ " <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
+ " <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+ " <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+ " <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
+ " <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
+ " <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
+ " <CreateTransformsInfoProfile id=\"CreateTransformsInfoProfile1\" filename=\""+"file:/"+configuration_.getProperty("webbaseDir")+"CX1_bookprofile.xsl\"/>"+
+ "</MOAConfiguration>";
+
+
+ /*"<MOAConfiguration>"+
+ " <KeyGroup id=\"PKCS12RSAKey1\"/> <!-- mapped auf \"test(1234).p12\" -->"+
+ "</MOAConfiguration>"+
+ "<!-- CanonicalizationMethod = http://www.w3.org/TR/2001/REC-xml-c14n-20010315 -->" +
+ "<!-- SignatureMethod = http://www.w3.org/2000/09/xmldsig#rsa-sha1 -->";*/
+
+ FileOutputStream fos = new FileOutputStream(file);
+ fos.write(config.getBytes());
+ fos.flush();
+ fos.close();
+
+ fileprefix = configuration_.getProperty("baseDir")+ datadirectory + configuration_.getProperty("TestClass") + ".";
+ filesuffix = ".xml";
+ }
+
+ public void create001() throws Exception {
+
+ String TestNumber = "001";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\"><xsl:output method=\"html\" indent=\"no\"/><xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\"><HTML><BODY><H1>Buch: <xsl:value-of select=\"data:title\"/></H1></BODY></HTML></xsl:template></xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setStyleSheet(s,null);
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create002() throws Exception {
+
+ String TestNumber = "002";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setStyleSheet(s,null);
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
+ cpkcs.createETSIObjects("file:/"+configuration_.getProperty("webbaseDir")+"resources/BookData.xml");
+ cpkcs.setKeyInformation(1);
+
+ cpkcs.signer.getSignature().setId("signature-1-1");
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create003() throws Exception {
+
+ String TestNumber = "003";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
+ "<dsig:XPath xmlns:data=\"http://uri.data.org\">//data:book/data:first-name</dsig:XPath>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/plain</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXPath trans = new TransformImplXPath();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/BookData.xml");
+ trans.setInput(s,null);
+ trans.addNSDeclaration("data",new URI("http://uri.data.org"));
+ trans.setXPath("//data:book/data:first-name");
+ //trans.setXPath("ancestor-or-self::data:first-name");
+
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ output = replaceString(output,"<dsig:XPath xmlns:data=\"http://uri.data.org\">","<dsig:XPath>"); // workaround
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create004() throws Exception {
+
+ String TestNumber = "004";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
+ "<xf2:XPath Filter=\"subtract\" xmlns:xf2=\"http://www.w3.org/2002/06/xmldsig-filter2\" xmlns:data=\"http://uri.data.org\">//data:book/data:first-name</xf2:XPath>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXPath2 trans = new TransformImplXPath2();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/BookData.xml");
+ trans.setInput(s,null);
+ //trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ //trans.setXPath("/data:book/data:first-name/node()");
+ HashMap temp = new HashMap();
+ temp.put("data",new URI("http://uri.data.org"));
+ trans.addXPathFilter("//data:book/data:first-name",TransformImplXPath2.FILTER_MODE_SUBTRACT_,temp);
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ output = replaceString(output,"<xf2:XPath Filter=\"subtract\" xmlns:data=\"http://uri.data.org\"","<xf2:XPath Filter=\"subtract\" ");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create005() throws Exception {
+
+ String TestNumber = "005";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplCanonicalXML trans = new TransformImplCanonicalXML();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create006() throws Exception {
+
+ String TestNumber = "006";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"/>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplCanonicalXMLWithComments trans = new TransformImplCanonicalXMLWithComments();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create007() throws Exception {
+
+ String TestNumber = "007";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"><ec:InclusiveNamespaces PrefixList=\"dsig\" xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></dsig:Transform>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplExclusiveCanonicalXML trans = new TransformImplExclusiveCanonicalXML();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setInclusiveNamespacePrefixes("dsig");
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create008() throws Exception {
+
+ String TestNumber = "008";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#WithComments\"><ec:InclusiveNamespaces PrefixList=\"dsig\" xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></dsig:Transform>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplExclusiveCanonicalXMLWithComments trans = new TransformImplExclusiveCanonicalXMLWithComments();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setInclusiveNamespacePrefixes("dsig");
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create009() throws Exception {
+
+ String TestNumber = "009";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>");
+
+ req = replaceString(req,"<XMLContent xml:space=\"preserve\">"+
+ "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
+ "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
+ "<data:first-name>Ellipse</data:first-name>"+
+ "<data:last-name>Kurvenreich</data:last-name>"+
+ "<data:birth-date>1951-04-16</data:birth-date>"+
+ "<data:birth-location>Hinterm Berg</data:birth-location>"+
+ "<data:register-number>6-930-21512-12</data:register-number>"+
+ "</data:book>"+
+ "</XMLContent>","");
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">",
+ "<DataObject Reference=\"\">");
+
+ //req = replaceString(req,"Structure=\"detached\"","Structure=\"enveloping\"");
+
+
+ req = replaceString(req,"<!-- insert data2 -->",
+ "<CreateSignatureInfo><CreateSignatureEnvironment><XMLContent xml:space=\"preserve\"><env:Document xmlns:env=\"http://uri.env.org\">Text</env:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation xmlns:env=\"http://uri.env.org\" Index=\"1\">//env:Document</CreateSignatureLocation></CreateSignatureEnvironmentProfile></CreateSignatureInfo>");
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ InputStream bis = new ByteArrayInputStream(("<env:Document xmlns:env=\"http://uri.env.org\">Text</env:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/node()";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "env xmlns:env=\"http://uri.env.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(""),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ output = replaceString(output,"<dsig:Signature","<env:Document xmlns:env=\"http://uri.env.org\">Text<dsig:Signature");
+ output = replaceString(output,"</dsig:Signature>","</dsig:Signature></env:Document>");
+
+
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create010() throws Exception {
+
+ String TestNumber = "010";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[2];
+ TransformImplCanonicalXML trans = new TransformImplCanonicalXML();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ TransformImplXSLT tr2 = new TransformImplXSLT();
+ InputStream s2 = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ tr2.setInput(s2,null);
+ tr2.setStyleSheet(s2,null);
+ tr[1] = tr2;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create011() throws Exception {
+
+ String TestNumber = "011";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\"/>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"<!-- insert supp -->",
+ "<Supplement>"+
+ "<Content Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\">"+
+ "<Base64Content>"+
+ Base64Utils.encode(("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>").getBytes())+
+ "</Base64Content>"+
+ "</Content>"+
+ "</Supplement>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ URL u = new URL(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl");
+ URLConnection hu = u.openConnection();
+ //trans.setInput(s,null);
+ trans.setStyleSheet(hu.getInputStream(),new URI(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl"));
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+ }
+
+ public void create012() throws Exception {
+
+ String TestNumber = "012";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\"/>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"<!-- insert data2 -->",
+ "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
+ "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
+ "<data:first-name>Ellipse</data:first-name>"+
+ "<data:last-name>Kurvenreich</data:last-name>"+
+ "<data:birth-date>1951-04-16</data:birth-date>"+
+ "<data:birth-location>Hinterm Berg</data:birth-location>"+
+ "<data:register-number>6-930-21512-12</data:register-number>"+
+ "</data:book>"+
+ "</XMLContent>"+
+ "</DataObject>"+
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl\"/>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/html</MimeType>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "<Supplement>"+
+ "<Content Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\">"+
+ "<Base64Content>"+
+ Base64Utils.encode(("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>").getBytes())+
+ "</Base64Content>"+
+ "</Content>"+
+ "</Supplement>"+
+ "</CreateTransformsInfoProfile>"+
+ "</DataObjectInfo>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ URL u = new URL(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl");
+ URLConnection hu = u.openConnection();
+ //trans.setInput(s,null);
+ trans.setStyleSheet(hu.getInputStream(),new URI(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl"));
+
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-2");
+ //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create013() throws Exception {
+
+ String TestNumber = "013";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<!-- insert transform -->"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/html</MimeType>"+
+ "<Description>http://www.description.com</Description>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "<!-- insert supp -->"+
+ "</CreateTransformsInfoProfile>",
+ "<CreateTransformsInfoProfileID>CreateTransformsInfoProfile1</CreateTransformsInfoProfileID>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setStyleSheet(s,null);
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create014() throws Exception {
+
+ String TestNumber = "014";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#base64\"/>");
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">",
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testBase64.txt"+"\">");
+
+ req = replaceString(req,
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
+ "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
+ "<data:first-name>Ellipse</data:first-name>"+
+ "<data:last-name>Kurvenreich</data:last-name>"+
+ "<data:birth-date>1951-04-16</data:birth-date>"+
+ "<data:birth-location>Hinterm Berg</data:birth-location>"+
+ "<data:register-number>6-930-21512-12</data:register-number>"+
+ "</data:book>"+
+ "</XMLContent>",
+ /*"<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>"*/"");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/plain</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplBase64Decode trans = new TransformImplBase64Decode();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/testBase64.txt");
+ trans.setInput(s,null);
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/testBase64.txt"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create051() throws Exception {
+
+ String TestNumber = "051";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2202");
+ }
+
+ public void create052() throws Exception {
+
+ String TestNumber = "052";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<XPath>/data:book/data:first-name/node()</XPath>"+
+ "</dsig:Transform>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2215");
+
+
+ }
+
+ public void create053() throws Exception {
+
+ String TestNumber = "053";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ " <dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ " <xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ " <xsl:include href=\"file:/transform.xsl\"/>"+
+ " </xsl:stylesheet>"+
+ " </dsig:Transform>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2220");
+
+ }
+
+ public void create054() throws Exception {
+
+ String TestNumber = "054";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<!-- insert transform -->"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/html</MimeType>"+
+ "<Description>http://www.description.com</Description>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "<!-- insert supp -->"+
+ "</CreateTransformsInfoProfile>",
+ "<CreateTransformsInfoProfileID>CreateTransformsInfoProfileNonValid</CreateTransformsInfoProfileID>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2234");
+
+ }
+
+ public void create055() throws Exception {
+
+ String TestNumber = "055";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2216");
+ }
+
+ public void writeFile(String filename,String data) throws Exception
+ {
+ BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
+ bw.write(data);
+ bw.close();
+ }
+
+ public String makeOutputFile(Document signatureDoc) throws Exception
+ {
+ ArrayList foundNodes = new ArrayList();
+ findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
+
+ Node outputNode = null;
+
+ if(foundNodes.size()>0)
+ {
+ outputNode = (Node)foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
+ "<CreateXMLSignatureResponse" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\""+
+ ">"+
+ //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
+ "<SignatureEnvironment>" +
+ erg + "</SignatureEnvironment> </CreateXMLSignatureResponse>";
+
+ return erg;
+ }
+}
diff --git a/spss.test/src/testgenerator/TestGeneratorCX2.java b/spss.test/src/testgenerator/TestGeneratorCX2.java
new file mode 100644
index 000000000..ed5c5194a
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorCX2.java
@@ -0,0 +1,1050 @@
+package testgenerator;
+
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.algorithms.TransformImplEnvelopedSignature;
+import iaik.ixsil.core.Position;
+import iaik.ixsil.util.URI;
+
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.EntityResolverChain;
+import at.gv.egovernment.moa.util.MOAEntityResolver;
+import at.gv.egovernment.moa.util.MOAErrorHandler;
+import at.gv.egovernment.moa.util.StreamEntityResolver;
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestGeneratorCX2 extends TestCases {
+
+ String datadirectory = "data/CX2/";
+
+ String defaultblock =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
+ "<CreateXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
+ "<KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>"+
+ "<SingleSignatureInfo SecurityLayerConformity=\"false\">"+
+ "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
+ "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
+ "</DataObject>"+
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "</CreateTransformsInfoProfile>"+
+ "</DataObjectInfo>"+
+ "<CreateSignatureInfo xmlns:data=\"http://uri.data.org\">"+
+ "<!-- insert create -->"+
+ "<CreateSignatureEnvironmentProfile>"+
+ "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>"+
+ "<!-- insert supp -->"+
+ "</CreateSignatureEnvironmentProfile>"+
+ "</CreateSignatureInfo>"+
+ "</SingleSignatureInfo>"+
+ "</CreateXMLSignatureRequest>";
+
+ public String fileprefix = null;
+ public String filesuffix = null;
+
+ private static final int canAlgCanXML = 1;
+ private static final int canAlgCanXMLwithCom = 2;
+ private static final int canAlgExcXML = 3;
+ private static final int canAlgExcXMLwithCom = 4;
+
+ public TestGeneratorCX2() throws Exception {
+
+ super();
+
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorCX2");
+// configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
+// configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
+// configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
+
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ public static void main(String[] args) throws Exception {
+ TestGeneratorCX2 testcase = new TestGeneratorCX2();
+
+ testcase.createConfig();
+ testcase.create001();
+ testcase.create002();
+ testcase.create003();
+ testcase.create004();
+ testcase.create005();
+ testcase.create006();
+ testcase.create007();
+ testcase.create008();
+ testcase.create009();
+
+ testcase.create051();
+ testcase.create052();
+ testcase.create053();
+ testcase.create054();
+ testcase.create055();
+ testcase.create056();
+ testcase.create057();
+
+ }
+
+ public void createConfig() throws Exception {
+
+ String file = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ ".Config.xml";
+ String config =
+
+ "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
+ " <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
+ " <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
+ " <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
+ " <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+ " <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+ " <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
+ " <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
+ " <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
+ " <CreateSignatureEnvironmentProfile id=\"CreateSignatureEnvironmentProfile1\" filename=\""+"file:/"+configuration_.getProperty("webbaseDir")+"resources/CSEP.xml\"/>"+
+ "</MOAConfiguration>";
+
+ FileOutputStream fos = new FileOutputStream(file);
+ fos.write(config.getBytes());
+ fos.flush();
+ fos.close();
+
+ fileprefix = configuration_.getProperty("baseDir")+ datadirectory + configuration_.getProperty("TestClass") + ".";
+ filesuffix = ".xml";
+ }
+
+ public void create001() throws Exception {
+
+ String TestNumber = "001";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>"+
+ //readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ writeFile(reqFile,req);
+
+ InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/node()";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create002() throws Exception {
+
+ String TestNumber = "002";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDocument.xml"+"\"/>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/node()";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create003() throws Exception {
+
+ String TestNumber = "003";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<Base64Content>"+readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/testDocument.xml")+"</Base64Content>"+
+ "</CreateSignatureEnvironment>");
+
+ //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//Hugo");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/node()";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",cutXML(readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"))+"</data:Document>");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create004() throws Exception {
+
+ String TestNumber = "004";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>"+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/node()";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
+
+ writeFile(resFile, output);
+ }
+
+ public void create005() throws Exception {
+
+ String TestNumber = "005";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>"+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,"<!-- insert supp -->",
+ "<Supplement>"+
+ "<Content Reference=\"http://tollesSchema.org/test.xsd\">"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
+ "<xsd:element name=\"Document\">"+
+ "<xsd:complexType mixed=\"true\">"+
+ "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
+ "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
+ "</xsd:sequence>"+
+ "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
+ "</xsd:complexType>"+
+ "</xsd:element>"+
+ "</xsd:schema>"+
+ "</XMLContent>"+
+ "</Content>"+
+ "</Supplement>");
+
+ req = replaceString(req,"<FinalDataMetaInfo>",
+ "<dsig:Transforms><dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></dsig:Transforms>"+
+ "<FinalDataMetaInfo>");
+
+
+
+ //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//data:Document");
+ System.out.println("!!!");
+ System.out.println(req);
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
+ "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
+ "</DataObject>",
+ "<DataObject Reference=\"#document\">"+
+ "</DataObject>"
+ );
+
+ System.out.println(req);
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ //InputStream bis = new ByteArrayInputStream(("<data:Document attr=\"document\" xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org\">Dies sind Testdaten</data:Document>").getBytes());
+ InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ Map m = new HashMap();
+ m.put("http://tollesSchema.org/test.xsd",new ByteArrayInputStream((
+ "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
+ "<xsd:element name=\"Document\">"+
+ "<xsd:complexType mixed=\"true\">"+
+ "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
+ "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
+ "</xsd:sequence>"+
+ "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
+ "</xsd:complexType>"+
+ "</xsd:element></xsd:schema>").getBytes()));
+
+ EntityResolverChain chain = new EntityResolverChain();
+ chain.addEntityResolver(new StreamEntityResolver(m));
+ chain.addEntityResolver(new MOAEntityResolver());
+ builder.setEntityResolver(chain);
+
+ //Dokument Parsen
+ Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ //String xPath_Pos = "/node()";
+ String xPath_Pos = "//data:Document";
+ //XPAth-Prefixe deklarieren
+ //String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ String xPath_Prefix = "data http://uri.data.org";
+
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ //Enveloped Transformation
+ cpkcs.createReferenceWithTransforms(new URI("#document"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create006() throws Exception {
+
+ String TestNumber = "006";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document xmlns:data=\"http://uri.data.org\">Dies sind Testdaten</data:Document>"+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,
+ "<CreateSignatureEnvironmentProfile>"+
+ "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>"+
+ "<!-- insert supp -->"+
+ "</CreateSignatureEnvironmentProfile>",
+ "<CreateSignatureEnvironmentProfileID>CreateSignatureEnvironmentProfile1</CreateSignatureEnvironmentProfileID>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+
+
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/node()";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create007() throws Exception {
+
+ String TestNumber = "007";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<Base64Content>"+
+ ""+Base64Utils.encode(("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE Document SYSTEM \"http://dtd.org/tollesDTD.dtd\"><Document attr=\"document\">Dies sind Testdaten</Document>").getBytes())+""+
+ "</Base64Content>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
+ "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
+ "</DataObject>",
+ "<DataObject Reference=\"#document\">"+
+ "</DataObject>"
+ );
+
+ req = replaceString(req,"<!-- insert supp -->",
+ "<Supplement>"+
+ "<Content Reference=\"http://dtd.org/tollesDTD.dtd\">"+
+ "<Base64Content>"+
+ ""+Base64Utils.encode(("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!ELEMENT Document (#PCDATA | ANY)*><!ATTLIST Document attr ID #REQUIRED>").getBytes())+""+
+ "</Base64Content>"+
+ "</Content>"+
+ "</Supplement>");
+
+ req = replaceString(req," xmlns:data=\"http://uri.data.org\"","");
+ req = replaceString(req,"//data:Document","//Document");
+
+
+ req = replaceString(req,"<FinalDataMetaInfo>",
+ "<dsig:Transforms><dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></dsig:Transforms>"+
+ "<FinalDataMetaInfo>");
+
+ //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//Hugo");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ InputStream bis = new ByteArrayInputStream(("<!DOCTYPE Document SYSTEM \"http://dtd.org/tollesDTD.dtd\"><Document attr=\"document\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Map m = new HashMap();
+ m.put("http://dtd.org/tollesDTD.dtd",new ByteArrayInputStream((
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!ELEMENT Document (#PCDATA | ANY)*><!ATTLIST Document attr ID #REQUIRED>").getBytes()));
+
+ EntityResolverChain chain = new EntityResolverChain();
+ chain.addEntityResolver(new StreamEntityResolver(m));
+ chain.addEntityResolver(new MOAEntityResolver());
+ builder.setEntityResolver(chain);
+
+ Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/Document";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ //Enveloped Transformation
+ cpkcs.createReferenceWithTransforms(new URI("#document"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<Document attr=\"document\" xmlns=\"\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</Document>");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create008() throws Exception {
+
+ String TestNumber = "008";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>"+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,"<!-- insert supp -->",
+ "<Supplement>"+
+ "<Content Reference=\"http://tollesSchema.org/test.xsd\">"+
+ "<Base64Content>"+
+
+ Base64Utils.encode(("<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
+ "<xsd:element name=\"Document\">"+
+ "<xsd:complexType mixed=\"true\">"+
+ "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
+ "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
+ "</xsd:sequence>"+
+ "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
+ "</xsd:complexType>"+
+ "</xsd:element>"+
+ "</xsd:schema>").getBytes())+
+
+ "</Base64Content>"+
+ "</Content>"+
+ "</Supplement>");
+
+ req = replaceString(req,"<FinalDataMetaInfo>",
+ "<dsig:Transforms><dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></dsig:Transforms>"+
+ "<FinalDataMetaInfo>");
+
+
+ //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//data:Document");
+ System.out.println("!!!");
+ System.out.println(req);
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
+ "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
+ "</DataObject>",
+ "<DataObject Reference=\"#document\">"+
+ "</DataObject>"
+ );
+
+ System.out.println(req);
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>").getBytes());
+ //Document-Builder holen
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ Map m = new HashMap();
+ m.put("http://tollesSchema.org/test.xsd",new ByteArrayInputStream((
+ "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
+ "<xsd:element name=\"Document\">"+
+ "<xsd:complexType mixed=\"true\">"+
+ "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
+ "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
+ "</xsd:sequence>"+
+ "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
+ "</xsd:complexType>"+
+ "</xsd:element>"+
+ "</xsd:schema>").getBytes()));
+
+ EntityResolverChain chain = new EntityResolverChain();
+ chain.addEntityResolver(new StreamEntityResolver(m));
+ chain.addEntityResolver(new MOAEntityResolver());
+ builder.setEntityResolver(chain);
+
+ //Dokument Parsen
+ Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "//data:Document";
+ //XPAth-Prefixe deklarieren
+ //String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ String xPath_Prefix = "data http://uri.data.org";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ //Enveloped Transformation
+ cpkcs.createReferenceWithTransforms(new URI("#document"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document attr=\"document\" xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create009() throws Exception {
+
+ String TestNumber = "009";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>"+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,"<!-- insert supp -->",
+ "<Supplement>"+
+ "<Content Reference=\"http://tollesSchema.org/test.xsd\">"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
+ "<xsd:element name=\"Document\">"+
+ "<xsd:complexType mixed=\"true\">"+
+ "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
+ "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
+ "</xsd:sequence>"+
+ "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
+ "</xsd:complexType>"+
+ "</xsd:element>"+
+ "</xsd:schema>"+
+ "</XMLContent>"+
+ "</Content>"+
+ "</Supplement>");
+
+ req = replaceString(req,"<FinalDataMetaInfo>",
+ "<dsig:Transforms><dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></dsig:Transforms>"+
+ "<FinalDataMetaInfo>");
+
+
+
+ //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//data:Document");
+ System.out.println("!!!");
+ System.out.println(req);
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
+ "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
+ "</DataObject>",
+ "<DataObject Reference=\"#xpointer(id(document))\">"+
+ "</DataObject>"
+ );
+
+ System.out.println(req);
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ //InputStream bis = new ByteArrayInputStream(("<data:Document attr=\"document\" xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org\">Dies sind Testdaten</data:Document>").getBytes());
+ InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ Map m = new HashMap();
+ m.put("http://tollesSchema.org/test.xsd",new ByteArrayInputStream((
+ "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
+ "<xsd:element name=\"Document\">"+
+ "<xsd:complexType mixed=\"true\">"+
+ "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
+ "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
+ "</xsd:sequence>"+
+ "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
+ "</xsd:complexType>"+
+ "</xsd:element></xsd:schema>").getBytes()));
+
+ EntityResolverChain chain = new EntityResolverChain();
+ chain.addEntityResolver(new StreamEntityResolver(m));
+ chain.addEntityResolver(new MOAEntityResolver());
+ builder.setEntityResolver(chain);
+
+ //Dokument Parsen
+ Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ //String xPath_Pos = "/node()";
+ String xPath_Pos = "//data:Document";
+ //XPAth-Prefixe deklarieren
+ //String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ String xPath_Prefix = "data http://uri.data.org";
+
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ //Enveloped Transformation
+ cpkcs.createReferenceWithTransforms(new URI("#xpointer(id(document))"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create051() throws Exception {
+
+ String TestNumber = "051";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<CreateSignatureInfo xmlns:data=\"http://uri.data.org\">","<CreateSignatureInfo>");
+
+ req = replaceString(req,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document xmlns:data=\"http://uri.data.org\">daten</data:Document><Text>toller Text</Text>"+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,"<CreateSignatureLocation Index=\"0\">","<CreateSignatureLocation Index=\"0\" xmlns:data=\"http://uri.data.org\">");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"1109");
+
+ }
+
+ public void create052() throws Exception {
+
+ String TestNumber = "052";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<Base64Content>PFRhZzE+PC9UYWcxPjxUYWcyPjwvVGFnMj4NCg0K</Base64Content><!-- Inhalt: <Tag1></Tag1><Tag2></Tag2> -->"+
+ "</CreateSignatureEnvironment>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2218");
+
+ }
+
+ public void create053() throws Exception {
+
+ String TestNumber = "053";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment/>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"1110");
+
+ }
+
+ public void create054() throws Exception {
+
+ String TestNumber = "054";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\"><data:Document xmlns:data=\"http://uri.data.org\">Dies sind Testdaten</data:Document></XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,
+ "<CreateTransformsInfo>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>",
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
+ "<dsig:XPath>/data:book/data:first-name/node()</dsig:XPath>"+
+ "</dsig:Transform>"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/xml</MimeType>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>");
+
+ req = replaceString(req,
+ "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>",
+ "<CreateSignatureLocation Index=\"0\">//data:Document1</CreateSignatureLocation>");
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
+ "<XMLContent xml:space=\"preserve\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</XMLContent>"+
+ "</DataObject>",
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\"/>");
+
+ //req = replaceString(req,"/data:Document","/data:nonExistingElement");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2212");
+
+ }
+
+ public void create056() throws Exception {
+
+ String TestNumber = "056";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document>andereDaten als in "+configuration_.getProperty("webbaseDir")+"resources/CSEP.xml</data:Document>"+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,
+ "<CreateSignatureEnvironmentProfile>"+
+ "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>"+
+ "<!-- insert supp -->"+
+ "</CreateSignatureEnvironmentProfile>",
+ "<CreateSignatureEnvironmentProfileID>wrongCreateSignatureEnvironmentProfile</CreateSignatureEnvironmentProfileID>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2236");
+
+ }
+
+ public void create057() throws Exception {
+
+ String TestNumber = "057";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\"><data:Document xmlns:data=\"http://uri.data.org\">Dies sind Testdaten</data:Document></XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ req = replaceString(req,
+ "<CreateTransformsInfo>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>",
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
+ "<dsig:XPath>/data:book/data:first-name/node()</dsig:XPath>"+
+ "</dsig:Transform>"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/xml</MimeType>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>");
+
+ req = replaceString(req,
+ "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>",
+ "<CreateSignatureLocation Index=\"0\">]]'_'[[//data:Document</CreateSignatureLocation>");
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
+ "<XMLContent xml:space=\"preserve\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</XMLContent>"+
+ "</DataObject>",
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\"/>");
+
+ //req = replaceString(req,"/data:Document","/data:nonExistingElement");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2212");
+
+ }
+
+ public void create055() throws Exception {
+
+ String TestNumber = "055";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert create -->",
+ "<CreateSignatureEnvironment Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CSEP.xml\">"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:Document>andereDaten als in "+configuration_.getProperty("webbaseDir")+"resources/CSEP.xml</data:Document>"+
+ "</XMLContent>"+
+ "</CreateSignatureEnvironment>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"1110");
+
+ }
+
+
+ public void writeFile(String filename,String data) throws Exception
+ {
+ BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
+ bw.write(data);
+ bw.close();
+ }
+
+ public String makeOutputFile(Document signatureDoc,String prefix,String suffix) throws Exception
+ {
+ ArrayList foundNodes = new ArrayList();
+ findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
+
+ Node outputNode = null;
+
+ if(foundNodes.size()>0)
+ {
+ outputNode = (Node)foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
+ "<CreateXMLSignatureResponse" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\""+
+ " >"+
+ //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
+ "<SignatureEnvironment>" +prefix+
+ erg +suffix+ "</SignatureEnvironment> </CreateXMLSignatureResponse>";
+
+ return erg;
+ }
+
+ public String makeOutputFile(Document signatureDoc) throws Exception
+ {
+ return this.makeOutputFile(signatureDoc,"","");
+ }
+}
diff --git a/spss.test/src/testgenerator/TestGeneratorFeature41.java b/spss.test/src/testgenerator/TestGeneratorFeature41.java
new file mode 100644
index 000000000..7ecb28449
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorFeature41.java
@@ -0,0 +1,1167 @@
+package testgenerator;
+
+import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML;
+import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
+import iaik.ixsil.algorithms.SignatureAlgorithmImplRSA;
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.algorithms.TransformImplBase64Decode;
+import iaik.ixsil.algorithms.TransformImplEnvelopedSignature;
+import iaik.ixsil.algorithms.TransformImplXSLT;
+import iaik.ixsil.core.Position;
+import iaik.ixsil.core.Signer;
+import iaik.ixsil.core.SignerManifest;
+import iaik.ixsil.core.SignerReference;
+import iaik.ixsil.core.SignerSignature;
+import iaik.ixsil.core.SignerSignedInfo;
+import iaik.ixsil.init.IXSILConstants;
+import iaik.ixsil.keyinfo.KeyManagerImpl;
+import iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data;
+import iaik.ixsil.keyinfo.x509.X509Data;
+import iaik.ixsil.util.URI;
+
+import iaik.pkcs.pkcs12.PKCS12;
+import iaik.utils.Base64OutputStream;
+
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.FileWriter;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.security.cert.X509Certificate;
+import java.security.interfaces.RSAPrivateKey;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.Text;
+
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.EntityResolverChain;
+import at.gv.egovernment.moa.util.MOAEntityResolver;
+import at.gv.egovernment.moa.util.MOAErrorHandler;
+import at.gv.egovernment.moa.util.StreamEntityResolver;
+
+/**
+ * @author Gregor Karlinger
+ */
+public class TestGeneratorFeature41 extends TestCases
+{
+
+ String datadirectory = "data/feature41/";
+
+ public static void main(String[] args) throws Exception
+ {
+ TestGeneratorFeature41 testcase = new TestGeneratorFeature41();
+
+ testcase.create001();
+ testcase.create002();
+ testcase.create003();
+ testcase.create004();
+ testcase.create005();
+ }
+
+ /* ==================================================================================================== */
+
+ public TestGeneratorFeature41() throws Exception
+ {
+
+ super();
+
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorFeature41");
+
+ iaik.security.provider.IAIK.addAsJDK14Provider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public Document createPKCS12Sig(
+ String TestNumber,
+ String data,
+ boolean env,
+ boolean mani,
+ String data2,
+ boolean env2)
+ throws Exception
+ {
+ String resFile =
+ configuration_.getProperty("baseDir")
+ + datadirectory
+ + configuration_.getProperty("TestClass")
+ + "."
+ + TestNumber
+ + ".Res.xml";
+
+ PKCS12 pkcs12 =
+ decryptPKCS12(configuration_.getProperty("PKCS12file"), configuration_.getProperty("PKCS12password"));
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ Signer signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ SignerSignature signature = signer.getSignature();
+ SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithmImplCanonicalXML c14nAlg = new CanonicalizationAlgorithmImplCanonicalXML();
+ signedInfo.setCanonicalizationAlgorithm(c14nAlg);
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey(pkcs12);
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ if (!mani)
+ {
+ SignerReference reference = signedInfo.createReference();
+ if (env)
+ {
+ iaik.ixsil.core.Object object = null;
+ //object = signature.createObject(data);
+ if (data.startsWith("<xml"))
+ {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if (data.startsWith("<Testdaten"))
+ {
+
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc =
+ db.parse(
+ new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + data).getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if (data.startsWith("b64:"))
+ {
+ data = data.substring(4);
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.newDocument();
+ Element root = doc.createElement("root");
+ doc.appendChild(root);
+ //String encoded = Base64Utils.encode(data.getBytes());
+ String encoded = Base64Utils.encode(data.getBytes());
+ /*encoded = replaceStringAll(encoded,"\n","");
+ encoded = replaceStringAll(encoded,"\r","");*/
+ Text textnode = doc.createTextNode(encoded);
+
+ System.out.println("Encoded:" + encoded);
+ //root.appendChild(textnode);
+
+ DocumentFragment df = doc.createDocumentFragment();
+
+ df.appendChild(textnode);
+
+ object = signature.createObject(df);
+
+ TransformImplBase64Decode trans = new TransformImplBase64Decode();
+ InputStream s = new ByteArrayInputStream(encoded.getBytes());
+ trans.setInput(s, null);
+
+ reference.insertTransformAt(trans, 0);
+ }
+ else
+ {
+ object = signature.createObject(data);
+ }
+
+ object.setId("signed-data-1-1-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(new URI("#xpointer(id('signed-data-1-1-1')/node())"));
+
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data);
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-1-1");
+ signedInfo.addReference(reference);
+ }
+
+ if (data2 != null)
+ {
+ SignerReference reference = signedInfo.createReference();
+ reference = signedInfo.createReference();
+ if (env2)
+ {
+ iaik.ixsil.core.Object object = null;
+ if (data2.startsWith("<xml"))
+ {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if (data2.startsWith("<Testdaten"))
+ {
+
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc =
+ db.parse(
+ new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + data).getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else
+ object = signature.createObject(data2);
+
+ if (!env)
+ object.setId("signed-data-1-2-1");
+ else
+ object.setId("signed-data-1-2-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ if (!env)
+ reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
+ else
+ reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data2);
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-1-2");
+ signedInfo.addReference(reference);
+ }
+
+ // Add reference to signature
+
+ if (mani)
+ {
+
+ /*iaik.ixsil.core.Object object = null;
+ if(env)
+ object = signature.createObject(readFile(data));
+ else
+ object = signature.createObject(data);
+
+ object.setId("envelopedData");
+ signature.addObject(object);*/
+ SignerReference reference = signedInfo.createReference();
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ manifestRef.setDigestAlgorithm(digestAlg);
+
+ manifestRef.setURI(new URI(data));
+ manifestRef.setId("reference-1-1");
+
+ manifest.addReference(manifestRef);
+ manifest.setId("dsig-manifest-1-1");
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(new URI("#dsig-manifest-1-1"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+
+ /*Element envelopedDataElem =
+ signer.toDocument().createElement("EnvelopedDataElement");
+
+ if(env)
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(readFile(data)));
+ }
+ else
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(data));
+ }
+
+ iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
+ signature.addObject(object);
+
+ // Create Manifest with a single reference pointing to the enveloped data
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+ manifestRef.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
+ manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+ manifest.addReference(manifestRef);
+
+ // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ // Create and configure reference to manifest
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);*/
+ }
+
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+ x509Data.insertHintAt(certs[1], 0);
+ /*for (int i = 0; i < certs.length; i++)
+ {
+
+ }*/
+
+ KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+ signer.getSignature().setId("signature-1-1");
+ // Compute signature value
+ signer.getSignature().sign();
+
+ return signer.toDocument();
+ }
+
+ public Document createPKCS12Sig(
+ String TestNumber,
+ String data,
+ boolean env,
+ boolean mani,
+ String data2,
+ boolean env2,
+ String id1,
+ String id2)
+ throws Exception
+ {
+ String resFile =
+ configuration_.getProperty("baseDir")
+ + datadirectory
+ + configuration_.getProperty("TestClass")
+ + "."
+ + TestNumber
+ + ".Res.xml";
+
+ PKCS12 pkcs12 =
+ decryptPKCS12(configuration_.getProperty("PKCS12file"), configuration_.getProperty("PKCS12password"));
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ Signer signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ SignerSignature signature = signer.getSignature();
+ SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithmImplCanonicalXML c14nAlg = new CanonicalizationAlgorithmImplCanonicalXML();
+ signedInfo.setCanonicalizationAlgorithm(c14nAlg);
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey(pkcs12);
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ if (!mani)
+ {
+ SignerReference reference = signedInfo.createReference();
+ if (env)
+ {
+ iaik.ixsil.core.Object object = null;
+ //object = signature.createObject(data);
+ if (data.startsWith("<xml"))
+ {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if (data.startsWith("<Testdaten"))
+ {
+
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc =
+ db.parse(
+ new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + data).getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if (data.startsWith("b64:"))
+ {
+ data = data.substring(4);
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.newDocument();
+ Element root = doc.createElement("root");
+ doc.appendChild(root);
+ //String encoded = Base64Utils.encode(data.getBytes());
+ String encoded = Base64Utils.encode(data.getBytes());
+ /*encoded = replaceStringAll(encoded,"\n","");
+ encoded = replaceStringAll(encoded,"\r","");*/
+ Text textnode = doc.createTextNode(encoded);
+
+ System.out.println("Encoded:" + encoded);
+ //root.appendChild(textnode);
+
+ DocumentFragment df = doc.createDocumentFragment();
+
+ df.appendChild(textnode);
+
+ object = signature.createObject(df);
+
+ TransformImplBase64Decode trans = new TransformImplBase64Decode();
+ InputStream s = new ByteArrayInputStream(encoded.getBytes());
+ trans.setInput(s, null);
+
+ reference.insertTransformAt(trans, 0);
+ }
+ else
+ {
+ object = signature.createObject(data);
+ }
+
+ object.setId("signed-data-1-1-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ reference.setURI(new URI("#xpointer(id('signed-data-1-1-1')/node())"));
+
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data);
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-2-1");
+ signedInfo.addReference(reference);
+ }
+
+ if (data2 != null)
+ {
+ SignerReference reference = signedInfo.createReference();
+ reference = signedInfo.createReference();
+ if (env2)
+ {
+ iaik.ixsil.core.Object object = null;
+ if (data2.startsWith("<xml"))
+ {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else if (data2.startsWith("<Testdaten"))
+ {
+
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc =
+ db.parse(
+ new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + data).getBytes()));
+
+ object = signature.createObject(doc.getDocumentElement());
+ }
+ else
+ object = signature.createObject(data2);
+
+ if (!env)
+ object.setId("signed-data-1-2-1");
+ else
+ object.setId("signed-data-1-2-1");
+ signature.addObject(object);
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+
+ if (!env)
+ reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
+ else
+ reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
+ }
+ else
+ {
+ // Create and configure reference
+ URI refURI = null;
+ String baseDir = configuration_.getProperty("baseDir");
+ refURI = new URI(data2);
+
+ reference.setURI(refURI);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ }
+ reference.setId("reference-1-2");
+ signedInfo.addReference(reference);
+ }
+
+ // Add reference to signature
+
+ if (mani)
+ {
+
+ /*iaik.ixsil.core.Object object = null;
+ if(env)
+ object = signature.createObject(readFile(data));
+ else
+ object = signature.createObject(data);
+
+ object.setId("envelopedData");
+ signature.addObject(object);*/
+ SignerReference reference = signedInfo.createReference();
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ manifestRef.setDigestAlgorithm(digestAlg);
+
+ manifestRef.setURI(new URI(data));
+ manifestRef.setId("reference-1-1");
+
+ manifest.addReference(manifestRef);
+ manifest.setId("dsig-manifest-1-1");
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ reference = signedInfo.createReference();
+ reference.setURI(new URI("#dsig-manifest-1-1"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);
+
+ /*Element envelopedDataElem =
+ signer.toDocument().createElement("EnvelopedDataElement");
+
+ if(env)
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(readFile(data)));
+ }
+ else
+ {
+ envelopedDataElem.appendChild(
+ signer.toDocument().createTextNode(data));
+ }
+
+ iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
+ signature.addObject(object);
+
+ // Create Manifest with a single reference pointing to the enveloped data
+ SignerManifest manifest = signer.createManifest();
+ SignerReference manifestRef = manifest.createReference();
+ manifestRef.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
+ manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+ manifest.addReference(manifestRef);
+
+ // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
+ iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
+ signature.addObject(manifestObject);
+ manifest.computeDigestValues();
+
+ // Create and configure reference to manifest
+ reference = signedInfo.createReference();
+ reference.setURI(
+ new URI(
+ null,
+ null,
+ null,
+ null,
+ "xmlns(dsig="
+ + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
+ + ") "
+ + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
+ reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
+ reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
+
+ // Add reference to signature
+ signedInfo.addReference(reference);*/
+ }
+
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+ x509Data.insertHintAt(certs[1], 0);
+ /*for (int i = 0; i < certs.length; i++)
+ {
+
+ }*/
+
+ KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+ signer.getSignature().setId("signature-2-1");
+ // Compute signature value
+ signer.getSignature().sign();
+
+ return signer.toDocument();
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public Element getElement(String data) throws Exception
+ {
+ String etsinamespace = "http://uri.etsi.org/01903/v1.1.1#";
+
+ getX509Content();
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ //dbf.setNamespaceAware(true);
+ //dbf.setValidating(true);
+
+ Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+
+ Element qualprop = doc.createElementNS(etsinamespace, "etsi:QualifyingProperties");
+ qualprop.setAttributeNS(null, "Target", "#signature-1-1");
+ qualprop.setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_, "xmlns:etsi", etsinamespace);
+ //qualprop.setPrefix("etsi");*/
+ //qualprop.setAttributeNodeNS(doc.createAttributeNS(etsinamespace,"etsi"));
+ Element signprop = doc.createElementNS(etsinamespace, "etsi:SignedProperties");
+ Element signsigprop = doc.createElementNS(etsinamespace, "etsi:SignedSignatureProperties");
+ Element signdataobjectprop = doc.createElementNS(etsinamespace, "etsi:SignedDataObjectProperties");
+ Element signdate = doc.createElementNS(etsinamespace, "etsi:SigningTime");
+ Text datevalue = doc.createTextNode("2003-05-10T00:01:01");
+ Element signcert = doc.createElementNS(etsinamespace, "etsi:SigningCertificate");
+ Element cert = doc.createElementNS(etsinamespace, "etsi:Cert");
+ Element signpolyident = doc.createElementNS(etsinamespace, "etsi:SignaturePolicyIdentifier");
+ Element signpolyimp = doc.createElementNS(etsinamespace, "etsi:SignaturePolicyImplied");
+ Element certdig = doc.createElementNS(etsinamespace, "etsi:CertDigest");
+ Element digmeth = doc.createElementNS(etsinamespace, "etsi:DigestMethod");
+ digmeth.setAttribute("Algorithm", "http://www.w3.org/2000/09/xmldsig#sha1");
+ Element digvalue = doc.createElementNS(etsinamespace, "etsi:DigestValue");
+
+ ByteArrayOutputStream fos = new ByteArrayOutputStream();
+ Base64OutputStream base64os = new Base64OutputStream(fos);
+ base64os.write(this.X509hash.getBytes());
+ base64os.flush();
+
+ Text dig_value = doc.createTextNode(fos.toString());
+ Element is = doc.createElementNS(etsinamespace, "etsi:IssuerSerial");
+ Element i = doc.createElement("dsig:X509IssuerName");
+ Text i_value = doc.createTextNode(this.X509name);
+ Element s = doc.createElement("dsig:X509SerialNumber");
+ Text s_value = doc.createTextNode(this.X509number.toString());
+ Element dataobjformat = doc.createElementNS(etsinamespace, "etsi:DataObjectFormat");
+ dataobjformat.setAttribute("ObjectReference", "#reference-1-1");
+ Element mimetype = doc.createElementNS(etsinamespace, "etsi:MimeType");
+ //mimetype.setNodeValue("text/plain");
+ Text mimevalue = doc.createTextNode("text/plain");
+
+ qualprop.appendChild(signprop);
+ signprop.appendChild(signsigprop);
+ signsigprop.appendChild(signdate);
+ signdate.appendChild(datevalue);
+ signsigprop.appendChild(signcert);
+ signcert.appendChild(cert);
+ cert.appendChild(certdig);
+ certdig.appendChild(digmeth);
+ certdig.appendChild(digvalue);
+ digvalue.appendChild(dig_value);
+ cert.appendChild(is);
+ is.appendChild(i);
+ i.appendChild(i_value);
+ is.appendChild(s);
+ s.appendChild(s_value);
+ signsigprop.appendChild(signpolyident);
+ signpolyident.appendChild(signpolyimp);
+ signprop.appendChild(signdataobjectprop);
+ signdataobjectprop.appendChild(dataobjformat);
+ dataobjformat.appendChild(mimetype);
+ mimetype.appendChild(mimevalue);
+
+ return qualprop;
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public void create001() throws Exception
+ {
+
+ String testNumber = "001";
+
+ String resFile =
+ configuration_.getProperty("baseDir")
+ + datadirectory
+ + configuration_.getProperty("TestClass")
+ + "."
+ + testNumber
+ + ".Res.xml";
+
+ PKCS12 pkcs12 =
+ decryptPKCS12(configuration_.getProperty("PKCS12file"), configuration_.getProperty("PKCS12password"));
+
+ // Create signature generator
+ URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
+ Signer signer = new Signer(baseURI);
+
+ // Configure signed information
+
+ // Get interface for signed information
+ SignerSignature signature = signer.getSignature();
+ SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
+
+ // Set canonicalization algorithm
+ CanonicalizationAlgorithmImplCanonicalXML c14nAlg = new CanonicalizationAlgorithmImplCanonicalXML();
+ signedInfo.setCanonicalizationAlgorithm(c14nAlg);
+
+ // Set signature algorithm
+ SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
+ RSAPrivateKey privateKey = getPrivateKey(pkcs12);
+ signatureAlg.setSignerKey(privateKey);
+ signedInfo.setSignatureAlgorithm(signatureAlg);
+
+ // Create and configure reference
+ String baseDir = configuration_.getProperty("baseDir");
+ InputStream dataIS = new FileInputStream(baseDir + "resources/documents/testDaten.txt");
+
+ SignerReference reference = signedInfo.createReference();
+ reference.setURI(new URI("testDaten.txt"));
+ reference.setExplicitData(dataIS, SignerReference.EXPLICITDATATYPE_RAW_);
+ DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
+ reference.setDigestAlgorithm(digestAlg);
+ reference.setId("reference-1-1");
+ signedInfo.addReference(reference);
+
+ // Create key information
+ KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
+
+ X509Certificate[] certs = getCertificates(pkcs12);
+ X509Data x509Data = new X509Data();
+ x509Data.insertHintAt(certs[1], 0);
+ KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
+ x509DataKeyProvider.insertX509DataAt(x509Data, 0);
+
+ // X509Data key information (certificate chain)
+ keyManager.addKeyProvider(x509DataKeyProvider);
+
+ signer.getSignature().setKeyManager(keyManager);
+ signer.getSignature().setId("signature-1-1");
+ // Compute signature value
+ signer.getSignature().sign();
+
+ String erg = makeOutputFile(signer.toDocument());
+ writeFile(resFile, erg);
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public void create002() throws Exception
+ {
+
+ String testNumber = "002";
+
+ String resFile =
+ configuration_.getProperty("baseDir")
+ + datadirectory
+ + configuration_.getProperty("TestClass")
+ + "."
+ + testNumber
+ + ".Res.xml";
+
+ Document signatureDoc = createPKCS12Sig(testNumber, "b64:Dies sind Testdaten", true, false, null, false);
+ String erg = makeOutputFile(signatureDoc);
+ writeFile(resFile, erg);
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public void create003() throws Exception
+ {
+
+ String testNumber = "003";
+
+ String resFile =
+ configuration_.getProperty("baseDir")
+ + datadirectory
+ + configuration_.getProperty("TestClass")
+ + "."
+ + testNumber
+ + ".Res.xml";
+
+ InputStream bis =
+ new ByteArrayInputStream(
+ ("<data:Document xmlns:data=\"http://uri.data.org\">"
+ + readFile(configuration_.getProperty("baseDir") + "resources/documents/testSimple.txt")
+ + "</data:Document>")
+ .getBytes());
+
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/node()";
+ //XPAth-Präfixe deklarieren
+ String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix, 0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc, pos, "signature-1-1");
+ cpkcs.setCanoncialization(1);
+ cpkcs.createReference(
+ false,
+ configuration_.getProperty("webbaseDir") + "resources/documents/testSimple.txt",
+ "reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output =
+ makeOutputFile(
+ doc,
+ "<data:Document xmlns:data=\"http://uri.data.org\">",
+ cutXML(readFile(configuration_.getProperty("baseDir") + "resources/documents/testSimple.txt"))
+ + "</data:Document>");
+
+ writeFile(resFile, output);
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public void create004() throws Exception
+ {
+
+ String testNumber = "004";
+
+ String resFile =
+ configuration_.getProperty("baseDir")
+ + datadirectory
+ + configuration_.getProperty("TestClass")
+ + "."
+ + testNumber
+ + ".Res.xml";
+
+ InputStream bis =
+ new ByteArrayInputStream(
+ ("<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://anywhere.org/testDocument.schema.xsd\">Dies sind Testdaten</data:Document>")
+ .getBytes());
+
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ Map m = new HashMap();
+ m.put(
+ "http://anywhere.org/testDocument.schema.xsd",
+ new ByteArrayInputStream(
+ ("<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"
+ + "<xsd:element name=\"Document\">"
+ + "<xsd:complexType mixed=\"true\">"
+ + "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"
+ + "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"
+ + "</xsd:sequence>"
+ + "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"
+ + "</xsd:complexType>"
+ + "</xsd:element></xsd:schema>")
+ .getBytes()));
+
+ EntityResolverChain chain = new EntityResolverChain();
+ chain.addEntityResolver(new StreamEntityResolver(m));
+ chain.addEntityResolver(new MOAEntityResolver());
+ builder.setEntityResolver(chain);
+
+ //Dokument Parsen
+ Document reqDoc =
+ DOMUtils.parseDocument(bis, true, Constants.ALL_SCHEMA_LOCATIONS, null, chain, new MOAErrorHandler());
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+
+ //Position für die Signatur angeben
+ String xPath_Pos = "//data:Document";
+
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "data http://uri.data.org";
+
+ Position pos = new Position(xPath_Pos, xPath_Prefix, 0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc, pos, "signature-1-1");
+ cpkcs.setCanoncialization(1);
+
+ //Enveloped Transformation
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI("#document"), tr, "reference-1-1");
+
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output =
+ makeOutputFile(
+ doc,
+ "<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://anywhere.org/testDocument.schema.xsd\">",
+ readFile(configuration_.getProperty("baseDir") + "resources/documents/testSimple.txt")
+ + "</data:Document>");
+
+ writeFile(resFile, output);
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public void create005() throws Exception
+ {
+
+ String testNumber = "005";
+ String resFile =
+ configuration_.getProperty("baseDir")
+ + datadirectory
+ + configuration_.getProperty("TestClass")
+ + "."
+ + testNumber
+ + ".Res.xml";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(1);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ URL u = new URL(configuration_.getProperty("webbaseDir") + "resources/stylesheets/ref.book.notavailable.xsl");
+ URLConnection hu = u.openConnection();
+
+ trans.setStyleSheet(
+ hu.getInputStream(),
+ new URI(configuration_.getProperty("webbaseDir") + "resources/stylesheets/ref.book.notavailable.xsl"));
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(
+ new URI(configuration_.getProperty("webbaseDir") + "resources/documents/bookData.xml"),
+ tr,
+ "reference-1-1");
+
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+ String output = makeOutputFile(doc);
+ writeFile(resFile, output);
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public void writeFile(String filename, String data) throws Exception
+ {
+ BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
+ bw.write(data);
+ bw.close();
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ private String makeOutputFile(Document signatureDoc) throws Exception
+ {
+ ArrayList foundNodes = new ArrayList();
+ findNode(signatureDoc.getDocumentElement(), "dsig:Signature", foundNodes);
+
+ Node outputNode = null;
+
+ if (foundNodes.size() > 0)
+ {
+ outputNode = (Node) foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ + "<CreateXMLSignatureResponse\n"
+ + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
+ + " >"
+ +
+ //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">\n"+
+ "<SignatureEnvironment>" + erg + "</SignatureEnvironment></CreateXMLSignatureResponse>";
+
+ return erg;
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ private String makeOutputFile(Document signatureDoc, Document signatureDoc2) throws Exception
+ {
+ ArrayList foundNodes = new ArrayList();
+ findNode(signatureDoc.getDocumentElement(), "dsig:Signature", foundNodes);
+
+ Node outputNode = null;
+
+ if (foundNodes.size() > 0)
+ {
+ outputNode = (Node) foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ foundNodes.clear();
+ findNode(signatureDoc2.getDocumentElement(), "dsig:Signature", foundNodes);
+
+ outputNode = null;
+
+ if (foundNodes.size() > 0)
+ {
+ outputNode = (Node) foundNodes.get(0);
+ }
+
+ String erg2 = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ pos = erg2.indexOf("<dsig");
+ erg2 = erg2.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ + "<CreateXMLSignatureResponse\n"
+ + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
+ + " >"
+ + "<SignatureEnvironment>"
+ + erg
+ + "</SignatureEnvironment><SignatureEnvironment>"
+ + erg2
+ + "</SignatureEnvironment> </CreateXMLSignatureResponse>";
+
+ //erg = replaceString(erg,"Id=\"signature-1-1\"","Id=\"signature-2-1\"");
+ //erg = replaceString(erg,"Id=\"reference-1-1\"","Id=\"reference-2-1\"");
+
+ return erg;
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ public String makeOutputFile(Document signatureDoc, String prefix, String suffix) throws Exception
+ {
+ ArrayList foundNodes = new ArrayList();
+ findNode(signatureDoc.getDocumentElement(), "dsig:Signature", foundNodes);
+
+ Node outputNode = null;
+
+ if (foundNodes.size() > 0)
+ {
+ outputNode = (Node) foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ + "<CreateXMLSignatureResponse"
+ + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\""
+ + " >"
+ +
+ //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
+ "<SignatureEnvironment>"
+ + prefix
+ + erg
+ + suffix
+ + "</SignatureEnvironment> </CreateXMLSignatureResponse>";
+
+ return erg;
+ }
+
+}
diff --git a/spss.test/src/testgenerator/TestGeneratorVC0.java b/spss.test/src/testgenerator/TestGeneratorVC0.java
new file mode 100644
index 000000000..f54689875
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorVC0.java
@@ -0,0 +1,1057 @@
+package testgenerator;
+
+import iaik.asn1.ASN1Object;
+import iaik.asn1.CodingException;
+import iaik.asn1.DerCoder;
+import iaik.asn1.ObjectID;
+import iaik.asn1.structures.AlgorithmID;
+import iaik.asn1.structures.Attribute;
+import iaik.asn1.structures.ChoiceOfTime;
+import iaik.asn1.structures.Name;
+import iaik.cms.CMSException;
+import iaik.cms.ContentInfoStream;
+import iaik.cms.SignedDataStream;
+import iaik.cms.SignerInfo;
+import iaik.security.random.SecRandom;
+import iaik.utils.StreamCopier;
+import iaik.x509.X509Certificate;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.PrivateKey;
+import java.security.Provider;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.security.SignatureException;
+
+import sun.misc.BASE64Encoder;
+
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestGeneratorVC0 extends TestCases {
+
+ String datadirectory = "data/VC0/";
+ String datadirectory_l = "data/LVC";
+
+ public String defaultblock =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
+ "<VerifyCMSSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" Signatories=\"1\">"+
+ "<DateTime>2003-04-04T09:30:47-05:00</DateTime>"+
+ "<CMSSignature><!-- insert data --></CMSSignature>"+
+ "<DataObject>"+
+ "<MetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "<Description>anyURI</Description>"+
+ "</MetaInfo>"+
+ "<Content>"+
+ "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
+ "</Content>"+
+ "</DataObject>"+
+ "<TrustProfileID>TrustProfile1</TrustProfileID>"+
+ "</VerifyCMSSignatureRequest>";
+
+ public String defaultresponse =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
+ "<VerifyCMSSignatureResponse xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" >"+
+ "<SignerInfo>"+
+ "<dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
+ "<dsig:X509SubjectName><!-- subn --></dsig:X509SubjectName>"+
+ "<dsig:X509IssuerSerial>"+
+ "<dsig:X509IssuerName><!-- in --></dsig:X509IssuerName>"+
+ "<dsig:X509SerialNumber><!-- sn --></dsig:X509SerialNumber>"+
+ "</dsig:X509IssuerSerial>"+
+ "<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>"+
+ "<!-- cert2 -->"+
+ "</dsig:X509Data>"+
+ "</SignerInfo>"+
+ "<SignatureCheck>"+
+ "<Code><!-- sc_code --></Code>"+
+ "</SignatureCheck>"+
+ "<CertificateCheck>"+
+ "<Code><!-- cc_code --></Code>"+
+ "</CertificateCheck>"+
+ "</VerifyCMSSignatureResponse>";
+
+ public String defaultresponse2 =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
+ "<VerifyCMSSignatureResponse xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" >"+
+ "<SignerInfo>"+
+ "<dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
+ "<dsig:X509SubjectName><!-- subn --></dsig:X509SubjectName>"+
+ "<dsig:X509IssuerSerial>"+
+ "<dsig:X509IssuerName><!-- in --></dsig:X509IssuerName>"+
+ "<dsig:X509SerialNumber><!-- sn --></dsig:X509SerialNumber>"+
+ "</dsig:X509IssuerSerial>"+
+ "<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>"+
+ "</dsig:X509Data>"+
+ "</SignerInfo>"+
+ "<SignatureCheck>"+
+ "<Code><!-- sc_code --></Code>"+
+ "</SignatureCheck>"+
+ "<CertificateCheck>"+
+ "<Code><!-- cc_code --></Code>"+
+ "</CertificateCheck>"+
+ "<SignerInfo>"+
+ "<dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
+ "<dsig:X509SubjectName><!-- subn --></dsig:X509SubjectName>"+
+ "<dsig:X509IssuerSerial>"+
+ "<dsig:X509IssuerName><!-- in --></dsig:X509IssuerName>"+
+ "<dsig:X509SerialNumber><!-- sn --></dsig:X509SerialNumber>"+
+ "</dsig:X509IssuerSerial>"+
+ "<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>"+
+ "</dsig:X509Data>"+
+ "</SignerInfo>"+
+ "<SignatureCheck>"+
+ "<Code><!-- sc_code --></Code>"+
+ "</SignatureCheck>"+
+ "<CertificateCheck>"+
+ "<Code><!-- cc_code --></Code>"+
+ "</CertificateCheck>"+
+ "</VerifyCMSSignatureResponse>";
+
+ /*
+ <!-- in -->
+ <!-- sn -->
+ <!-- subn -->
+ <!-- sc_code -->
+ <!-- cc_code -->
+ */
+
+ public String b64_der_data = null;
+ public String b64_der_data_two = null;
+ public String b64_der_data_exp = null;
+ public String b64_der_data_exp_two = null;
+ public String b64_der_data_max = null;
+
+ public String b64_der_data_1kb = null;
+ public String b64_der_data_10kb = null;
+ public String b64_der_data_100kb = null;
+ public String b64_der_data_1mb = null;
+ public String b64_der_data_10mb = null;
+
+ public String cert_file_data = null;
+ public String cert_max_file_data = null;
+ public String cert_root_file_data = null;
+
+
+ public String fileprefix = null;
+ public String filesuffix = null;
+
+ // signing certificate of user 2
+ X509Certificate user2_sign;
+ // signing private key of user 2
+ PrivateKey user2_sign_pk;
+
+ // encryption certificate of user 2
+ X509Certificate user2_crypt;
+ // encryption private key of user 2
+ PrivateKey user2_crypt_pk;
+ // a certificate chain containing the user certs + CA
+
+ X509Certificate[] certificates;
+ // secure random number generator
+ SecureRandom random;
+
+ public TestGeneratorVC0() throws Exception
+ {
+ super();
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorVC0");
+
+
+ configuration_.setProperty(
+ "PKCS12file_maxmustermann",
+ (configuration_.getProperty("baseDir") + "/resources/Max_Mustermann (max).p12"));
+
+ configuration_.setProperty("PKCS12password_maxmustermann", "max");
+
+ configuration_.setProperty(
+ "CERT_maxmustermann",
+ (configuration_.getProperty("baseDir") + "resources/Max_Mustermann.cer"));
+
+ configuration_.setProperty(
+ "CERT_ROOT",
+ (configuration_.getProperty("baseDir") + "resources/IAIKRootMusterbehoerde.cer"));
+
+ Provider [] list = Security.getProviders();
+ for(int counter=0;counter<list.length;counter++)
+ {
+ System.out.println(list[counter].getName());
+ }
+
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+
+ X509Certificate[] certs = CMSKeyStore.getCertificateChain(CMSKeyStore.RSA, CMSKeyStore.SZ_1024_SIGN);
+ user2_sign = CMSKeyStore.getCertificateChain(CMSKeyStore.RSA, CMSKeyStore.SZ_2048_SIGN)[0];
+ user2_sign_pk = CMSKeyStore.getPrivateKey(CMSKeyStore.RSA, CMSKeyStore.SZ_2048_SIGN);
+ certificates = new X509Certificate[certs.length+1];
+ System.arraycopy(certs, 0, certificates, 0, certs.length);
+ certificates[certs.length] = user2_sign;
+
+ // encryption certs
+ user2_crypt = CMSKeyStore.getCertificateChain(CMSKeyStore.RSA, CMSKeyStore.SZ_2048_CRYPT)[0];
+ user2_crypt_pk = CMSKeyStore.getPrivateKey(CMSKeyStore.RSA, CMSKeyStore.SZ_2048_CRYPT);
+
+ random = SecRandom.getDefault();
+
+ byte[] received_message = null;
+ ASN1Object obj = null;
+
+ String m = readFile(configuration_.getProperty("baseDir")+"resources/testDaten.txt");
+ //String m = "This is a message";
+ System.out.println("*"+m+"*");
+ byte[] message = m.getBytes();
+
+ System.out.println("Implicit SignedData demo [create]:");
+ obj = createSignedCMSData(message, SignedDataStream.IMPLICIT,false);
+ byte[] sig = DerCoder.encode(obj);
+ writeFileBinary("testimpl.ber",sig);
+ b64_der_data = (new BASE64Encoder()).encode(sig);
+
+ obj = createSignedCMSData(message, SignedDataStream.IMPLICIT,true);
+ sig = DerCoder.encode(obj);
+ writeFileBinary("testimpl2.ber",sig);
+ b64_der_data_two = (new BASE64Encoder()).encode(sig);
+
+ obj = createSignedCMSData(message, SignedDataStream.EXPLICIT,false);
+ sig = DerCoder.encode(obj);
+ writeFileBinary("testexp.ber",sig);
+ b64_der_data_exp = (new BASE64Encoder()).encode(sig);
+
+ String output = getSignedDataStream(sig,message,false);
+ System.out.println("Output:"+output);
+
+ obj = createSignedCMSData(message, SignedDataStream.EXPLICIT,true);
+ sig = DerCoder.encode(obj);
+ writeFileBinary("testexp2.ber",sig);
+ b64_der_data_exp_two = (new BASE64Encoder()).encode(sig);
+
+ cert_file_data = readBinaryFileAsBase64_new(configuration_.getProperty("CERT"));
+ cert_max_file_data = readBinaryFileAsBase64_new(configuration_.getProperty("CERT_maxmustermann"));
+ cert_root_file_data = readBinaryFileAsBase64_new(configuration_.getProperty("CERT_ROOT"));
+
+ // transmit data
+ /*System.out.println("Implicit SignedData demo [parse]:");
+ received_message = getSignedData(obj, null,true);
+ System.out.print("Signed content: ");
+ System.out.println(new String(received_message));*/
+
+ //readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/testDaten.txt");
+ }
+
+ public String getCMSData(String filename) throws Exception
+ {
+ ASN1Object obj = null;
+ obj = createSignedCMSData(readFile(configuration_.getProperty("baseDir") + "resources/"+filename+".txt").getBytes(), SignedDataStream.EXPLICIT,true);
+ byte[] sig = DerCoder.encode(obj);
+ //writeFileBinary("testexp2.ber",sig);
+ return (new BASE64Encoder()).encode(sig);
+ }
+
+ public String getSignedDataStream(byte[] signedData, byte[] message,boolean two_users) throws CMSException, IOException {
+
+ // we are testing the stream interface
+ ByteArrayInputStream is = new ByteArrayInputStream(signedData);
+ // create the ContentInfo object
+ ContentInfoStream cis = new ContentInfoStream(is);
+ System.out.println("This ContentInfo holds content of type " + cis.getContentType().getName());
+ SignedDataStream signed_data = null;
+
+ if (message == null) {
+ // implicitly signed; get the content
+ signed_data = (SignedDataStream)cis.getContent();
+ }
+ else {
+ // explicitly signed; set the data stream for digesting the message
+ AlgorithmID[] algIDs = { AlgorithmID.sha1, AlgorithmID.md5 };
+ signed_data = new SignedDataStream(new ByteArrayInputStream(message), algIDs);
+
+ }
+
+ // get an InputStream for reading the signed content
+ InputStream data = signed_data.getInputStream();
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ StreamCopier sc = new StreamCopier(data, os);
+ sc.copyStream();
+
+
+ if (message != null) {
+ // if explicitly signed read now the DER encoded object
+ // an explicit S/MIME signed message also consits of message|signature
+ signed_data.decode(cis.getContentInputStream());
+ }
+
+ System.out.println("SignedData contains the following signer information:");
+ SignerInfo[] signer_infos = signed_data.getSignerInfos();
+
+ for (int i=0; i<signer_infos.length; i++) {
+ try {
+ // verify the signed data using the SignerInfo at index i
+ X509Certificate signer_cert = signed_data.verify(i);
+ // if the signature is OK the certificate of the signer is returned
+ System.out.println("Signature OK from signer: "+signer_cert.getSubjectDN());
+ Attribute signingTime = signer_infos[i].getSignedAttribute(ObjectID.signingTime);
+ if (signingTime != null) {
+ ChoiceOfTime cot = new ChoiceOfTime(signingTime.getValue()[0]);
+ System.out.println("This message has been signed at " + cot.getDate());
+ }
+ Attribute contentType = signer_infos[i].getSignedAttribute(ObjectID.contentType);
+ if (contentType != null) {
+ System.out.println("The content has CMS content type " + contentType.getValue()[0]);
+ }
+
+ } catch (SignatureException ex) {
+ // if the signature is not OK a SignatureException is thrown
+ System.out.println("Signature ERROR from signer: "+signed_data.getCertificate((signer_infos[i].getSignerIdentifier())).getSubjectDN());
+ } catch (CodingException ex) {
+ System.out.println("Attribute decoding error: " + ex.getMessage());
+ }
+ }
+ // now check alternative signature verification
+ System.out.println("Now check the signature assuming that no certs have been included:");
+ try {
+ SignerInfo signer_info = signed_data.verify(user1_sign);
+ // if the signature is OK the certificate of the signer is returned
+ System.out.println("Signature OK from signer: "+signed_data.getCertificate(signer_info.getSignerIdentifier()).getSubjectDN());
+
+ } catch (SignatureException ex) {
+ // if the signature is not OK a SignatureException is thrown
+ System.out.println("Signature ERROR from signer: "+user1_sign.getSubjectDN());
+ }
+
+ if(two_users)
+ try {
+ SignerInfo signer_info = signed_data.verify(user2_sign);
+ // if the signature is OK the certificate of the signer is returned
+ System.out.println("Signature OK from signer: "+signed_data.getCertificate(signer_info.getSignerIdentifier()).getSubjectDN());
+
+ } catch (SignatureException ex) {
+ // if the signature is not OK a SignatureException is thrown
+ System.out.println("Signature ERROR from signer: "+user2_sign.getSubjectDN());
+ }
+
+
+ return os.toString();
+ }
+
+ public void createConfig() throws Exception {
+
+ String file = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ ".Config.xml";
+ String config =
+
+ "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
+ " <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
+ " <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
+ " <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
+ " <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+ " <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+ " <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
+ " <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
+ " <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
+ " <CreateSignatureEnvironmentProfile id=\"CreateSignatureEnvironmentProfile1\" filename=\""+"file:/"+configuration_.getProperty("baseDir")+"resources/csep.xml\"/>"+
+ " <TrustProfile id=\"validTrustProfileID1\" uri=\""+"file:/"+configuration_.getProperty("baseDir")+"TrustProfile1/\"/>"+
+ "</MOAConfiguration>";
+
+ FileOutputStream fos = new FileOutputStream(file);
+ fos.write(config.getBytes());
+ fos.flush();
+ fos.close();
+
+ fileprefix = configuration_.getProperty("baseDir")+ datadirectory + configuration_.getProperty("TestClass") + ".";
+ filesuffix = ".xml";
+
+ }
+
+ public static void main(String[] args) throws Exception {
+ TestGeneratorVC0 testcase = new TestGeneratorVC0();
+
+ testcase.createConfig();
+ testcase.create001();
+ testcase.create002();
+ testcase.create003();
+ testcase.create004();
+ testcase.create005();
+ testcase.create006();
+ testcase.create007();
+ testcase.create008();
+ testcase.create009();
+ testcase.create010();
+ //testcase.create011();
+ testcase.create012();
+
+ testcase.create051();
+ testcase.create052();
+ //testcase.create053();
+ testcase.create054();
+ testcase.create055();
+ testcase.create056();
+ testcase.create057();
+ testcase.create058();
+
+ //testcase.createL00();
+
+ }
+
+ public void createL00() throws Exception {
+ createL001("1kb");
+ createL001("10kb");
+ createL001("20kb");
+ createL001("50kb");
+ createL001("100kb");
+ createL001("500kb");
+ createL001("1mb");
+ createL001("10mb");
+ }
+
+ public void createL001(String filename) throws Exception
+ {
+ String TestNumber = "001";
+
+ String reqFile = configuration_.getProperty("baseDir")+ datadirectory_l+filename+"/" + configuration_.getProperty("TestClass") + "." + TestNumber + ".Req.xml";
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",getCMSData(filename));
+ req = replaceString(req,"<Content>","<Content Reference=\"anyURI\">");
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/"+filename+".txt");
+ req = replaceString(req,
+ "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>",
+ "");
+
+ writeFile(reqFile,req);
+
+ String resFile = configuration_.getProperty("baseDir")+ datadirectory_l+filename+"/" + configuration_.getProperty("TestClass") + "." + TestNumber + ".Res.xml";
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ //res = replaceString(res,"<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>","");
+
+
+ writeFile(resFile,res);
+
+
+ }
+
+ public void create001() throws Exception
+ {
+ String TestNumber = "001";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ /*CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,"file:/"+configuration_.getProperty("baseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testDaten.txt")+"</data:Document>");
+
+ writeFile(resFile, output);*/
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ //res = replaceString(res,"<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>","");
+
+
+ writeFile(resFile,res);
+
+
+ }
+
+ public void create002() throws Exception
+ {
+ String TestNumber = "002";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp_two);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "Signatories=\"1\"",
+ "Signatories=\"1 2\"");
+
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceStringAll(defaultresponse2,"<!-- in -->",this.X509name);
+ res = replaceStringAll(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceStringAll(res,"<!-- subn -->",this.X509sub);
+ res = replaceStringAll(res,"<!-- sc_code -->","0");
+ res = replaceStringAll(res,"<!-- cc_code -->","0");
+ res = replaceStringAll(res,"<!-- cert -->",cert_file_data);
+ //res = replaceString(res,"<!-- cert2 -->","");
+ writeFile(resFile,res);
+ }
+
+ public void create003() throws Exception
+ {
+ String TestNumber = "003";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "Signatories=\"1\"",
+ "Signatories=\"all\"");
+
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ writeFile(resFile,res);
+ }
+
+ public void create004() throws Exception
+ {
+ String TestNumber = "004";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<DateTime>2003-04-04T09:30:47-05:00</DateTime>",
+ "");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ writeFile(resFile,res);
+ }
+
+ public void create005() throws Exception
+ {
+ String TestNumber = "005";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<DateTime>2003-04-04T09:30:47-05:00</DateTime>",
+ "<DateTime>2003-04-04T09:30:47-05:00</DateTime>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ writeFile(resFile,res);
+ }
+
+ public void create006() throws Exception
+ {
+ String TestNumber = "006";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<DataObject>"+
+ "<MetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "<Description>"+configuration_.getProperty("webbaseDir") + "resources/testDaten.txt</Description>"+
+ "</MetaInfo>"+
+ "<Content>"+
+ "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
+ "</Content>"+
+ "</DataObject>",
+ "");
+
+ //req = replaceString(defaultblock,
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ writeFile(resFile,res);
+ }
+
+ public void create007() throws Exception
+ {
+ String TestNumber = "007";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<MetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "<Description>"+configuration_.getProperty("webbaseDir") + "resources/testDaten.txt</Description>"+
+ "</MetaInfo>",
+ "");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ writeFile(resFile,res);
+ }
+
+ public void create008() throws Exception
+ {
+ String TestNumber = "008";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ writeFile(resFile,res);
+ }
+
+ public void create009() throws Exception
+ {
+ String TestNumber = "009";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceString(req,"<Content>","<Content Reference=\"anyURI\">");
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>",
+ "");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ writeFile(resFile,res);
+ }
+
+ public void create011() throws Exception
+ {
+ String TestNumber = "011";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",readFile(configuration_.getProperty("baseDir") + "resources/VC0.011.cms.ber.b64.txt"));
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<DataObject>"+
+ "<MetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "<Description>"+configuration_.getProperty("webbaseDir") + "resources/testDaten.txt</Description>"+
+ "</MetaInfo>"+
+ "<Content>"+
+ "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
+ "</Content>"+
+ "</DataObject>",
+ "");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->","CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT");
+ res = replaceString(res,"<!-- sn -->","6455");
+ res = replaceString(res,"<!-- subn -->","Seriennummer=790187461633,G=Testperson MOA4,SN=BRZ,CN=Testperson MOA4 BRZ,C=AT");
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ res = replaceString(res,
+ "</dsig:X509Data>",
+ "<sl11:QualifiedCertificate xmlns:sl11=\"http://www.buergerkarte.at/namespaces/securitylayer/20020831#\"/>"+
+ "</dsig:X509Data>");
+
+
+ writeFile(resFile,res);
+ }
+
+ public void create012() throws Exception
+ {
+ String TestNumber = "012";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty("CERT_maxmustermann")));
+ iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
+ X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
+ X509number = cert.getSerialNumber();
+ X509hash = new String(cert.getFingerprintSHA());
+ X509sub = ((Name)(cert.getSubjectDN())).getRFC2253String();
+
+ String m = "This is a message";
+ System.out.println("*"+m+"*");
+ byte[] message = m.getBytes();
+
+ ASN1Object obj = null;
+ obj = createSignedCMSData(message, SignedDataStream.IMPLICIT,false,"PKCS12file_maxmustermann","PKCS12password_maxmustermann","CERT_maxmustermann");
+ byte[] sig = DerCoder.encode(obj);
+ writeFileBinary("testimplmax.ber",sig);
+ b64_der_data_max = (new BASE64Encoder()).encode(sig);
+
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_max);
+
+ req = replaceString(req,
+ "<DataObject>"+
+ "<MetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "<Description>anyURI</Description>"+
+ "</MetaInfo>"+
+ "<Content>"+
+ "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
+ "</Content>"+
+ "</DataObject>",
+ "");
+
+ //req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ /*CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,"file:/"+configuration_.getProperty("baseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc,"<data:Document xmlns:data=\"uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testDaten.txt")+"</data:Document>");
+
+ writeFile(resFile, output);*/
+
+
+ String res = replaceString(defaultresponse,"<!-- in -->",X509name);
+ res = replaceString(res,"<!-- sn -->",X509number.toString());
+ res = replaceString(res,"<!-- subn -->",X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_max_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+ res = replaceString(res,
+ "</dsig:X509Data>",
+ "<PublicAuthority>"+
+ "<Code>Musterbehörde</Code>"+
+ //"<Code>Musterbehörde</Code>"+
+ "</PublicAuthority>"+
+ "</dsig:X509Data>");
+
+
+ writeFile(resFile,res);
+
+
+ }
+
+ public void create051() throws Exception
+ {
+ String TestNumber = "051";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "Signatories=\"1\"",
+ "Signatories=\"0\"");
+
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"1100");
+ }
+
+ public void create052() throws Exception
+ {
+ String TestNumber = "052";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "Signatories=\"1\"",
+ "Signatories=\"10\"");
+
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2249");
+ }
+
+ public void create053() throws Exception
+ {
+ String TestNumber = "053";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<DateTime>2003-04-04T09:30:47-05:00</DateTime>",
+ "<DateTime>"+getDate(1*34*24)+"</DateTime>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"0000");
+ }
+
+ public void create054() throws Exception
+ {
+ String TestNumber = "054";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,
+ "<CMSSignature><!-- insert data --></CMSSignature>",
+ "<CMSSignature>this is no Base64 Data</CMSSignature>");
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"1100");
+
+ }
+
+ public void create055() throws Exception
+ {
+ String TestNumber = "055";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<DataObject>"+
+ "<MetaInfo>"+
+ "<MimeType>text/plain</MimeType>"+
+ "<Description>"+configuration_.getProperty("webbaseDir") + "resources/testDaten.txt</Description>"+
+ "</MetaInfo>"+
+ "<Content>"+
+ "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
+ "</Content>"+
+ "</DataObject>",
+ "");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2248");
+
+ }
+
+
+
+ public void create010() throws Exception
+ {
+ String TestNumber = "010";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceString(req,"<Content>","<Content Reference=\"anyURI\">");
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>",
+ "");
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
+ res = replaceString(res,"<!-- sn -->",this.X509number.toString());
+ res = replaceString(res,"<!-- subn -->",this.X509sub);
+ res = replaceString(res,"<!-- sc_code -->","0");
+ res = replaceString(res,"<!-- cc_code -->","0");
+ res = replaceString(res,"<!-- cert -->",cert_file_data);
+ res = replaceString(res,"<!-- cert2 -->","");
+
+ writeFile(resFile,res);
+
+ }
+
+ public void create056() throws Exception
+ {
+ String TestNumber = "056";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+ req = replaceString(req,
+ "<TrustProfileID>TrustProfile1</TrustProfileID>",
+ "<TrustProfileID>notvalidTrustProfileID</TrustProfileID>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2203");
+
+ }
+
+
+ public void create057() throws Exception
+ {
+ String TestNumber = "057";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+
+ configuration_.setProperty(
+ "PKCS12file_maxmustermann",
+ (configuration_.getProperty("baseDir") + "/resources/Max_Mustermann (max).p12"));
+
+ configuration_.setProperty("PKCS12password_maxmustermann", "max");
+
+ configuration_.setProperty(
+ "CERT_maxmustermann",
+ (configuration_.getProperty("baseDir") + "resources/Max_Mustermann.cer"));
+
+ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty("CERT_maxmustermann")));
+ iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
+ X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
+ X509number = cert.getSerialNumber();
+ X509hash = new String(cert.getFingerprintSHA());
+ X509sub = ((Name)(cert.getSubjectDN())).getRFC2253String();
+
+ String m = "This is a message";
+ System.out.println("*"+m+"*");
+ byte[] message = m.getBytes();
+
+ ASN1Object obj = null;
+ obj = createSignedCMSData(message, SignedDataStream.IMPLICIT,false,"PKCS12file_maxmustermann","PKCS12password_maxmustermann","CERT_maxmustermann");
+ byte[] sig = DerCoder.encode(obj);
+ writeFileBinary("testimplmax.ber",sig);
+ b64_der_data_max = (new BASE64Encoder()).encode(sig);
+
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_max);
+
+ /*req = replaceString(req,
+ " <DataObject>"+
+ " <MetaInfo>"+
+ " <MimeType>text/plain</MimeType>"+
+ " <Description>anyURI</Description>"+
+ " </MetaInfo>"+
+ " <Content Reference=\"anyURI\">"+
+ " <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
+ " </Content>"+
+ " </DataObject>",
+ "");*/
+
+ //req = replaceString(req,"Reference=\"anyURI\"","");
+
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+
+
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2248");
+
+
+ }
+
+ public void create058() throws Exception
+ {
+ String TestNumber = "058";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
+ req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+
+ req = replaceString(req,"RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=","RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=()");
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"1100");
+
+ }
+
+
+
+
+
+
+
+}
diff --git a/spss.test/src/testgenerator/TestGeneratorVX.java b/spss.test/src/testgenerator/TestGeneratorVX.java
new file mode 100644
index 000000000..20ff44a22
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorVX.java
@@ -0,0 +1,2793 @@
+package testgenerator;
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.algorithms.TransformImplBase64Decode;
+import iaik.ixsil.algorithms.TransformImplCanonicalXML;
+import iaik.ixsil.algorithms.TransformImplCanonicalXMLWithComments;
+import iaik.ixsil.algorithms.TransformImplEnvelopedSignature;
+import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML;
+import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXMLWithComments;
+import iaik.ixsil.algorithms.TransformImplXPath;
+import iaik.ixsil.algorithms.TransformImplXPath2;
+import iaik.ixsil.algorithms.TransformImplXSLT;
+import iaik.ixsil.core.Position;
+import iaik.ixsil.util.URI;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.RandomAccessFile;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xml.serialize.DOMWriterImpl;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.EntityResolverChain;
+import at.gv.egovernment.moa.util.MOAEntityResolver;
+import at.gv.egovernment.moa.util.MOAErrorHandler;
+import at.gv.egovernment.moa.util.StreamEntityResolver;
+
+/**
+ * @author stephan
+ */
+public class TestGeneratorVX extends TestCases {
+
+ private static final int canAlgCanXML = 1;
+ private static final int canAlgCanXMLwithCom = 2;
+ private static final int canAlgExcXML = 3;
+ private static final int canAlgExcXMLwithCom = 4;
+ private static VXResponseBean vxBean = null;
+
+ public static void main(String[] args) throws Exception {
+
+ vxBean = new VXResponseBean();
+
+ TestGeneratorVX testcase = new TestGeneratorVX();
+ testcase.createVXConfig();
+
+ testcase.create001();
+ testcase.create002();
+ testcase.create003();
+ testcase.create004();
+ testcase.create005();
+ testcase.create006();
+ testcase.create007();
+ testcase.create009();
+ testcase.create008();
+
+ testcase.create101();
+ testcase.create102();
+ testcase.create103();
+ testcase.create104();
+ testcase.create105();
+ testcase.create106();
+
+ testcase.create301();
+ testcase.create302();
+ testcase.create303();
+ testcase.create304();
+ testcase.create305();
+
+ testcase.create307();
+ testcase.create308();
+
+ testcase.create310();
+ testcase.create311();
+ testcase.create312();
+ testcase.create313();
+ testcase.create314();
+ testcase.create314_2();
+ testcase.create315();
+ testcase.create316();
+ testcase.create317();
+ testcase.create318();
+ testcase.create318_2();
+ testcase.create319();
+ testcase.create320();
+ testcase.create320_2();
+ testcase.create321();
+ testcase.create322();
+ testcase.create323();
+ testcase.create324();
+ testcase.create325();
+ testcase.create326();
+ testcase.create327();
+
+ //testcase.createL00();
+
+ }
+
+ /* ==================================================================================================== */
+
+ public TestGeneratorVX() throws Exception {
+
+ super();
+
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorVX");
+
+ // configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
+ // configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
+ // configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
+
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ /* ==================================================================================================== */
+
+ public void testEcc() throws Exception
+ {
+ Date d = new Date();
+ long start = d.getTime();
+ long initEcc = 0;
+ long timeEcc = 0;
+ long initRSA = 0;
+ long timeRSA = 0;
+
+
+ TestGeneratorVX testcase = new TestGeneratorVX();
+ testcase.ecccreate319();
+ initEcc = (new Date()).getTime() - start;
+ testcase.ecccreate320();
+ testcase.ecccreate321();
+ testcase.ecccreate322();
+ testcase.ecccreate323();
+ testcase.ecccreate324();
+
+ timeEcc = (new Date()).getTime() - start;
+
+ start = (new Date()).getTime();
+
+ testcase = new TestGeneratorVX();
+ testcase.create319();
+ initRSA = (new Date()).getTime() - start;
+ testcase.create320();
+ testcase.create321();
+ testcase.create322();
+ testcase.create323();
+ testcase.create324();
+ timeRSA =(new Date()).getTime() - start;
+
+ System.out.println("=========================================================");
+ System.out.println("=========================================================");
+
+ System.out.println("Init ECC (inkl. 1st Test): "+ (initEcc)+ "ms" );
+ System.out.println("ECC-Tests gesamt: "+ (timeEcc)+ "ms" );
+ System.out.println("ECC-Tests 2-5: "+ (timeEcc-initEcc)+ "ms" );
+ System.out.println("=========================================================");
+ System.out.println("Init RSA (inkl. 1st Test): "+ (initRSA)+ "ms" );
+ System.out.println("RSA-Tests gesamt: "+ (timeRSA)+ "ms" );
+ System.out.println("RSA-Tests 2-5: "+ (timeRSA-initRSA)+ "ms" );
+ System.out.println("=========================================================");
+ }
+
+public void ecccreate319() throws Exception {
+ String testNumber = "ecc319";
+
+
+ // Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); // Create from whole cloth
+//
+ // Element root = (Element) document.createElement("Data");
+ // root.appendChild(document.createTextNode(readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")) );
+// Element root2 = (Element) document.createElement("Element2");
+ // root2.appendChild(document.createTextNode("Some other text") );
+
+ // root.appendChild(root2);
+
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //cpkcs.init();
+ long start = (new Date()).getTime();
+ cpkcs.initECDSA();
+ System.out.println("Init-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start));
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,"Dies sind Testdaten");
+ //cpkcs.createReferenceEnvElement(root);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ start = (new Date()).getTime();
+ Document sign = cpkcs.returnSig();
+ System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start));
+
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+ /**
+ * Method create320:
+ * The element KeyInfo does NOT contain the X509-certificate but
+ * an URI pointing to an external xml-encoded X509-file
+ * @throws Exception
+ */
+ public void ecccreate320() throws Exception {
+ String testNumber = "ecc320";
+
+ //RetrievalMethdos instead of the integratede Keys
+
+ //URI fileURI = new URI(configuration_.getProperty("baseDir") + "resources/test-ee2003_normal.der");
+ URI fileURI = new URI("file:/"+configuration_.getProperty("baseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+ //URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+// cpkcs.init();
+
+ cpkcs.initECDSA();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ long start = (new Date()).getTime();
+ Document sign = cpkcs.returnSig();
+ System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start));
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+
+ public void ecccreate321() throws Exception {
+ String testNumber = "ecc321";
+
+ //RetrievalMethdos instead of the integratede Keys
+
+ URI fileURI = new URI("file:/"+configuration_.getProperty("baseDir") + "resources/test-ee2003_normal.der");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ // cpkcs.init();
+ cpkcs.initECDSA();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ long start = (new Date()).getTime();
+ Document sign = cpkcs.returnSig();
+ System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start));
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+
+ /**
+ * Method create322.
+ * The reference in the signature points with an xpointer
+ * to the ID of an embedded valid manifest dsig:object
+ * @throws Exception
+ */
+ public void ecccreate322() throws Exception {
+ String testNumber = "ecc322";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ // cpkcs.init();
+ cpkcs.initECDSA();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
+
+ cpkcs.setKeyInformation();
+ long start = (new Date()).getTime();
+ Document sign = cpkcs.returnSig();
+ System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start));
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+ }
+ /**
+ * Method create323:
+ * There are two references in the signature pointing
+ * with xpointer to two embedded valid manifest dsig:objects
+ * @throws Exception
+ */
+ public void ecccreate323() throws Exception {
+ String testNumber = "ecc323";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ // cpkcs.init();
+ cpkcs.initECDSA();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ URI fileURI2 = new URI(configuration_.getProperty("webbaseDir") + "resources/testXML.txt");
+ cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
+
+ //HINWEIS: Durch das 2malige Aufrufen wird ein WEITERES dsig:Object ELEMENT erzeugt... darf das so sein...???
+
+ cpkcs.createReferenceWithManifest(fileURI2,"manifestObject2");
+ cpkcs.setKeyInformation();
+ long start = (new Date()).getTime();
+ Document sign = cpkcs.returnSig();
+ System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start));
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+ }
+ public void ecccreate324() throws Exception {
+ String testNumber = "ecc324";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ // cpkcs.init();
+ cpkcs.initECDSA();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ URI fileURI2 = new URI(configuration_.getProperty("webbaseDir") + "resources/testXML.txt");
+ cpkcs.createReferencesWithManifest(fileURI1,"manifestObject",fileURI2);
+
+ //HINWEIS: Durch das 2malige Aufrufen wird ein WEITERES dsig:Object ELEMENT erzeugt... darf das so sein...???
+ cpkcs.setKeyInformation();
+ long start = (new Date()).getTime();
+ Document sign = cpkcs.returnSig();
+ System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start));
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+ }
+
+ public void createL00() throws Exception {
+ createL001("1kb");
+ createL001("10kb");
+ createL001("20kb");
+ createL001("50kb");
+ createL001("100kb");
+ createL001("500kb");
+ createL001("1mb");
+ createL001("10mb");
+ }
+
+ public void createL001(String filename) throws Exception {
+
+ String testNumber = "001";
+
+ //Create a Request with number 001, the current Time (+0 hours)
+ // and with the Date and ReturnHashInputDate Elements present
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/"+filename+".txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(false,false,null));
+
+ writeFile(vxReqFileL(testNumber,filename),request);
+
+
+
+ writeFile(vxResFileL(testNumber,filename), createResponseL(cpkcs.getX509CertString(), testNumber,"0",filename));
+ }
+
+ /**
+ * Method create001.
+ * @throws Exception
+ */
+ /* ===================================================================================================================== */
+ /* ===================================================================================================================== */
+ /* ===================================================================================================================== */
+
+ public void create001() throws Exception {
+
+ String testNumber = "001";
+
+ //Create a Request with number 001, the current Time (+0 hours)
+ // and with the Date and ReturnHashInputDate Elements present
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+ /**
+ * Method create002.
+ * @throws Exception
+ */
+ public void create002() throws Exception {
+ String testNumber = "002";
+ //Create a Request with number 002, the current Time (+0 hours)
+ // and without the Date and with ReturnHashInputDate Elements present
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,false,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+ /**
+ * Method create003.
+ * @throws Exception
+ */
+ public void create003() throws Exception {
+ String testNumber = "003";
+ //Create a Request with number 003, the Time one Day in the past (-24 hours)
+ // and with the Date and with ReturnHashInputDate Elements present
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,-24),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+ /**
+ * Method create004.
+ * @throws Exception
+ */
+ public void create004() throws Exception {
+ String testNumber = "004";
+ //Create a Request with number 004, the current Time (+0 hours)
+ // and with the Date and without ReturnHashInputDate Elements present
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(false,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+ writeFile(vxResFile(testNumber), createResponseWithoutHashInputData(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+ public void create005() throws Exception {
+ String testNumber = "005";
+
+ String request =
+ createRequestStart(testNumber,true,0, "Reference=\"" + configuration_.getProperty("webbaseDir") + "resources/SignatureVX005.xml\" ")+
+ createRequestEnd(false,false,null);
+
+ request = replaceString(request,"<XMLContent xml:space=\"preserve\">","");
+ request = replaceString(request,"</XMLContent>","");
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(readFileCR(configuration_.getProperty("webbaseDir") + "resources/SignatureVX005Cert.xml")) +
+ vxBean.createSignatureCheck("0")+
+ vxBean.createXMLDSIGManifestCheck("1","1","1")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+ /**
+ * Method create051.
+ * @throws Exception
+ */
+
+public void create006() throws Exception {
+
+ String testNumber = "006";
+ // ERST MAL DAS DOKUMENT ALS STRING AUFBAUEN
+ Supplement supp = new Supplement();
+ supp.addXMLContent("http://MyServer.com/resources/something.xsd",
+ "<xsd:schema targetNamespace=\"http://uri2.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"><xsd:element name=\"Document\"><xsd:complexType mixed=\"true\"><xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\"><xsd:any namespace=\"##any\" processContents=\"lax\"/></xsd:sequence><xsd:attribute name=\"Id\" type=\"xsd:ID\" use=\"required\"/></xsd:complexType></xsd:element></xsd:schema>");
+ supp.closeSupplement();
+
+ String requestEnd = createSignatureInfoEnd()+
+ supp.getSupplement() + createRequestShortEnd(false);
+
+ String requestStart = createRequestStart(testNumber,true,0);
+
+
+ String reqDocString =
+ "<daten:Document Id=\"myDocument\" " +
+ "xmlns:daten=\"http://uri2.data.org\" "+
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "+
+ "xsi:schemaLocation=\"http://uri2.data.org http://MyServer.com/resources/something.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
+ + "daten</daten:Document>" ;
+
+ InputStream bis = new ByteArrayInputStream(reqDocString.getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(true);
+ //factory.setValidating(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ Map m = new HashMap();
+ m.put("http://MyServer.com/resources/something.xsd",new ByteArrayInputStream(("<xsd:schema targetNamespace=\"http://uri2.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"><xsd:element name=\"Document\"><xsd:complexType mixed=\"true\"><xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\"><xsd:any namespace=\"##any\" processContents=\"lax\"/></xsd:sequence><xsd:attribute name=\"Id\" type=\"xsd:ID\" use=\"required\"/></xsd:complexType></xsd:element></xsd:schema>").getBytes()));
+
+ EntityResolverChain chain = new EntityResolverChain();
+ chain.addEntityResolver(new StreamEntityResolver(m));
+ chain.addEntityResolver(new MOAEntityResolver());
+ builder.setEntityResolver(chain);
+
+
+ //Dokument Parsen
+ System.out.println(reqDocString);
+ //Document reqDoc = builder.parse(bis);
+ Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
+ //Position für die Signatur angeben
+ //String xPath_Pos = "/moa:VerifyXMLSignatureRequest/moa:VerifySignatureInfo/moa:VerifySignatureEnvironment/moa:XMLContent
+ String xPath_Pos = "//daten:Document";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "daten http://uri2.data.org";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ System.out.println("REQDOC:"+DOMUtils.serializeNode(reqDoc));
+ cpkcs.init(reqDoc,pos);
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ cpkcs.setKeyInformation();
+ /*cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"));
+ cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");*/
+
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ //Enveloped Transformation
+ cpkcs.createReferenceWithTransforms(new URI("#myDocument"),tr);
+//Signieren
+
+ cpkcs.returnSig();
+ //Serialisieren
+ String request = requestStart + replaceString(Node2String(reqDoc.getDocumentElement()),"<?xml version=\"1.0\" encoding=\"utf-8\"?>","") + requestEnd;
+
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ vxBean.createSignatureCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create007() throws Exception {
+
+ String testNumber = "007";
+
+ String dtdLocation = configuration_.getProperty("webbaseDir") + "resources/VX.007DTD.dtd";
+
+ // ERST MAL DAS DOKUMENT ALS STRING AUFBAUEN
+ Supplement supp = new Supplement();
+ supp.addBase64Content(dtdLocation,
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/VX.007DTD.dtd"));
+ supp.closeSupplement();
+
+ String requestEnd = createSignatureInfoEnd()+
+ createRequestShortEnd(false);
+
+ //String reqDocString = createRequestStart(testNumber,true,0,"","<!DOCTYPE data:Document SYSTEM \"http://MyServer.com/resources/VX.006DTD.dtd\">") +
+ String reqDocString = /*createRequestStart(testNumber,true,0) +*/
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE Document SYSTEM \"" + dtdLocation + "\"><Document Id=\"myDocument\" " +
+
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "+
+ "xsi:schemaLocation=\"http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
+ + "\ndaten\n</Document>" /*+ requestEnd*/;
+
+ InputStream bis = new ByteArrayInputStream(reqDocString.getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(false);
+
+ System.out.println(reqDocString);
+
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+ //Position für die Signatur angeben
+ String xPath_Pos = "/Document";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "";//"data http://uri2.data.org";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos);
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ cpkcs.setKeyInformation();
+ /*cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"));
+ cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");*/
+
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ //Enveloped Transformation
+ cpkcs.createReferenceWithTransforms(new URI("#myDocument"),tr);
+//Signieren
+ cpkcs.returnSig();
+ //Serialisieren
+ String request = Node2String(reqDoc.getDocumentElement());
+
+ int i_pos = request.indexOf("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
+ request = request.substring("<?xml version=\"1.0\" encoding=\"utf-8\"?>".length());
+
+ request = "<!DOCTYPE Document SYSTEM \"" + dtdLocation + "\">"+request;
+
+ System.out.println("DOC:"+request);
+
+ request ="<?xml version=\"1.0\" encoding=\"utf-8\"?><VerifyXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" xmlns:xml=\"http://www.w3.org/XML/1998/namespace\"><VerifySignatureInfo><VerifySignatureEnvironment><Base64Content>"+Base64Utils.encode(request.getBytes())+"</Base64Content></VerifySignatureEnvironment><VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation></VerifySignatureInfo>"+supp.getSupplement()+"<TrustProfileID>TrustProfile1</TrustProfileID></VerifyXMLSignatureRequest>";
+
+
+
+
+ /*int i_pos = request.indexOf("<VerifyXMLSignatureRequest");
+ request = request.substring(0,i_pos)+"<!DOCTYPE data:Document SYSTEM \"http://MyServer.com/resources/VX.006DTD.dtd\">\n" +request.substring(i_pos);*/
+
+ /*i_pos = request.indexOf("<TrustProfile");
+ request = request.substring(0,i_pos)+supp.getSupplement() +request.substring(i_pos);*/
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponseWithoutHashInputData(cpkcs.getX509CertString(), testNumber,"0",false));
+ }
+
+
+ public void create008() throws Exception {
+
+ String testNumber = "008";
+
+ String request =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
+ "<VerifyXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:xml=\"http://www.w3.org/XML/1998/namespace\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
+ "<VerifySignatureInfo>"+
+ "<VerifySignatureEnvironment>"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<dsig:Signature Id=\"HS_signature\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
+ "<dsig:SignedInfo>"+
+ "<dsig:CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
+ "<dsig:SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
+ "<dsig:Reference Id=\"reference-data-1\" URI=\"#signed-data\">"+
+ "<dsig:Transforms>"+
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
+ "<xf2:XPath Filter=\"intersect\" xmlns:xf2=\"http://www.w3.org/2002/06/xmldsig-filter2\">id(&apos;signed-data&apos;)/node()</xf2:XPath>"+
+ "</dsig:Transform>"+
+ "</dsig:Transforms>"+
+ "<dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
+ "<dsig:DigestValue>4lngV1x/OvR8iFWEBenH4fDihwA=</dsig:DigestValue>"+
+ "</dsig:Reference>"+
+ "<dsig:Reference Type=\"http://uri.etsi.org/01903/v1.1.1#SignedProperties\" URI=\"#refetsi\">"+
+ "<dsig:Transforms>"+
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
+ "<xf2:XPath Filter=\"intersect\" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\" xmlns:xf2=\"http://www.w3.org/2002/06/xmldsig-filter2\">id(&apos;refetsi&apos;)/etsi:QualifyingProperties/etsi:SignedProperties</xf2:XPath>"+
+ "</dsig:Transform>"+
+ "</dsig:Transforms>"+
+ "<dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
+ "<dsig:DigestValue>1j0DWguieuw2cGA06gFjoSNXr+w=</dsig:DigestValue>"+
+ "</dsig:Reference>"+
+ "</dsig:SignedInfo>"+
+ "<dsig:SignatureValue>Yb6fsPNbKyYW+u7cU1EqF9n5QrwLXHqdGD4tJNT5+sA7kQR3Ztqz965vlBH+1pJE"+
+ "nGxehxXsesZboVvkJa/jhuI0goCTW9KkdGOP71B7o7/vlyBbxaYKpnVNtBU4/qtT"+
+ "xba7M0E32X+tm/x9O6foXIM0AoP3oQBZmjo9rEJ9kfk=</dsig:SignatureValue>"+
+ "<dsig:KeyInfo>"+
+ "<dsig:X509Data>"+
+ "<dsig:X509Certificate>MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU"+
+ "MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt"+
+ "IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU"+
+ "LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu"+
+ "Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT"+
+ "AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox"+
+ "GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz"+
+ "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4"+
+ "edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/"+
+ "t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/"+
+ "Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw"+
+ "JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB"+
+ "BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv"+
+ "b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et"+
+ "c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq"+
+ "KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv"+
+ "Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg"+
+ "ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw"+
+ "ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl"+
+ "bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u"+
+ "bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE"+
+ "GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B"+
+ "AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2"+
+ "Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL"+
+ "PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf"+
+ "+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW"+
+ "KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1"+
+ "Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==</dsig:X509Certificate>"+
+ /*"<dsig:X509Certificate>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/IAIKRootMusterbehoerde.cer")+
+ "</dsig:X509Certificate>"+*/
+ "</dsig:X509Data>"+
+ "</dsig:KeyInfo>"+
+ "<dsig:Object Id=\"signed-data\">"+
+ "<sl10:InfoboxReadRequest xmlns:sl10=\"http://www.buergerkarte.at/namespaces/securitylayer/20020225#\">"+
+ "<sl10:InfoboxIdentifier>IdentityLink</sl10:InfoboxIdentifier>"+
+ "<sl10:BinaryFileParameters ContentIsXMLEntity=\"true\"/>"+
+ "</sl10:InfoboxReadRequest>"+
+ "</dsig:Object>"+
+ "<dsig:Object Id=\"refetsi\">"+
+ "<etsi:QualifyingProperties Target=\"#HS_signature\" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
+ "<etsi:SignedProperties>"+
+ "<etsi:SignedSignatureProperties>"+
+ "<etsi:SigningTime>2003-03-04T12:32:54Z</etsi:SigningTime>"+
+ "<etsi:SigningCertificate>"+
+ "<etsi:Cert>"+
+ "<etsi:CertDigest>"+
+ "<etsi:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
+ "<etsi:DigestValue>Frhu1o4mL4gQHdJcU0xSA/h4COE=</etsi:DigestValue>"+
+ "</etsi:CertDigest>"+
+ "<etsi:IssuerSerial>"+
+ "<dsig:X509IssuerName>CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName>"+
+ "<dsig:X509SerialNumber>6455</dsig:X509SerialNumber>"+
+ "</etsi:IssuerSerial>"+
+ "</etsi:Cert>"+
+ "</etsi:SigningCertificate>"+
+ "<etsi:SignaturePolicyIdentifier>"+
+ "<etsi:SignaturePolicyImplied/>"+
+ "</etsi:SignaturePolicyIdentifier>"+
+ "</etsi:SignedSignatureProperties>"+
+ "<etsi:SignedDataObjectProperties>"+
+ "<etsi:DataObjectFormat ObjectReference=\"#reference-data-1\">"+
+ "<etsi:MimeType>text/xml</etsi:MimeType>"+
+ "</etsi:DataObjectFormat>"+
+ "</etsi:SignedDataObjectProperties>"+
+ "</etsi:SignedProperties>"+
+ "</etsi:QualifyingProperties>"+
+ "</dsig:Object>"+
+ "</dsig:Signature>"+
+ "</XMLContent>"+
+ "</VerifySignatureEnvironment>"+
+ "<VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>"+
+ "</VerifySignatureInfo>"+
+ "<TrustProfileID>TrustProfile1</TrustProfileID>"+
+ "</VerifyXMLSignatureRequest>";
+
+ String response =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
+ "<VerifyXMLSignatureResponse xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" >"+
+ " <SignerInfo>"+
+ " <dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
+ " <dsig:X509SubjectName>serialNumber=790187461633,givenName=Testperson MOA4,SN=BRZ,CN=Testperson MOA4 BRZ,C=AT</dsig:X509SubjectName>"+
+ " <dsig:X509IssuerSerial>"+
+ " <dsig:X509IssuerName>CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName>"+
+ " <dsig:X509SerialNumber>6455</dsig:X509SerialNumber>"+
+ " </dsig:X509IssuerSerial>"+
+ "<dsig:X509Certificate>MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU"+
+ "MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt"+
+ "IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU"+
+ "LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu"+
+ "Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT"+
+ "AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox"+
+ "GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz"+
+ "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4"+
+ "edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/"+
+ "t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/"+
+ "Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw"+
+ "JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB"+
+ "BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv"+
+ "b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et"+
+ "c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq"+
+ "KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv"+
+ "Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg"+
+ "ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw"+
+ "ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl"+
+ "bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u"+
+ "bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE"+
+ "GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B"+
+ "AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2"+
+ "Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL"+
+ "PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf"+
+ "+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW"+
+ "KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1"+
+ "Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==</dsig:X509Certificate>"+
+ " <sl11:QualifiedCertificate xmlns:sl11=\"http://www.buergerkarte.at/namespaces/securitylayer/20020831#\"/>"+
+ " </dsig:X509Data>"+
+ " </SignerInfo>"+
+ " <SignatureCheck>"+
+ " <Code>0</Code>"+
+ " </SignatureCheck>"+
+ " <CertificateCheck>"+
+ " <Code>0</Code>"+
+ " </CertificateCheck>"+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber),response);
+ }
+
+ public void create009() throws Exception {
+
+ String testNumber = "009";
+ // ERST MAL DAS DOKUMENT ALS STRING AUFBAUEN
+ Supplement supp = new Supplement();
+ supp.addXMLContent("http://MyServer.com/resources/something.xsd",
+ "<xsd:schema targetNamespace=\"http://uri2.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"><xsd:element name=\"Document\"><xsd:complexType mixed=\"true\"><xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\"><xsd:any namespace=\"##any\" processContents=\"lax\"/></xsd:sequence><xsd:attribute name=\"Id\" type=\"xsd:ID\" use=\"required\"/></xsd:complexType></xsd:element></xsd:schema>");
+ supp.closeSupplement();
+
+ String requestEnd = createSignatureInfoEnd()+
+ supp.getSupplement() + createRequestShortEnd(false);
+
+ String requestStart = createRequestStart(testNumber,true,0);
+
+
+ String reqDocString =
+ "<daten:Document Id=\"myDocument\" " +
+ "xmlns:daten=\"http://uri2.data.org\" "+
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "+
+ "xsi:schemaLocation=\"http://uri2.data.org http://MyServer.com/resources/something.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
+ + "daten</daten:Document>" ;
+
+ InputStream bis = new ByteArrayInputStream(reqDocString.getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(true);
+ //factory.setValidating(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ Map m = new HashMap();
+ m.put("http://MyServer.com/resources/something.xsd",new ByteArrayInputStream(("<xsd:schema targetNamespace=\"http://uri2.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"><xsd:element name=\"Document\"><xsd:complexType mixed=\"true\"><xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\"><xsd:any namespace=\"##any\" processContents=\"lax\"/></xsd:sequence><xsd:attribute name=\"Id\" type=\"xsd:ID\" use=\"required\"/></xsd:complexType></xsd:element></xsd:schema>").getBytes()));
+
+ EntityResolverChain chain = new EntityResolverChain();
+ chain.addEntityResolver(new StreamEntityResolver(m));
+ chain.addEntityResolver(new MOAEntityResolver());
+ builder.setEntityResolver(chain);
+
+
+ //Dokument Parsen
+ System.out.println(reqDocString);
+ //Document reqDoc = builder.parse(bis);
+ Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
+ //Position für die Signatur angeben
+ //String xPath_Pos = "/moa:VerifyXMLSignatureRequest/moa:VerifySignatureInfo/moa:VerifySignatureEnvironment/moa:XMLContent
+ String xPath_Pos = "//daten:Document";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "daten http://uri2.data.org";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ System.out.println("REQDOC:"+DOMUtils.serializeNode(reqDoc));
+ cpkcs.init(reqDoc,pos);
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ cpkcs.setKeyInformation();
+ /*cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"));
+ cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");*/
+
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ //Enveloped Transformation
+ cpkcs.createReferenceWithTransforms(new URI("#xpointer(id(myDocument))"),tr);
+//Signieren
+
+ cpkcs.returnSig();
+ //Serialisieren
+ String request = requestStart + replaceString(Node2String(reqDoc.getDocumentElement()),"<?xml version=\"1.0\" encoding=\"utf-8\"?>","") + requestEnd;
+
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ vxBean.createSignatureCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create101() throws Exception {
+
+ String testNumber = "101";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addMetaInfo("text/plain","http://www.buergerkarte.at");
+ supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt",
+ readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+ supp.closeSupplement();
+ //supp.addProfileID("Some ID");
+
+ String requestEnd = createSignatureInfoEnd()+
+ supp.getSupplement() + createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ vxBean.createSignatureCheck("0")+
+ /*vxBean.createXMLDSIGManifestCheck("0","","1")+ */
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+ public void create102() throws Exception {
+
+ String testNumber = "102";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addMetaInfo("text/plain",null);
+ supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt",
+ readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+ supp.closeSupplement();
+ //supp.addProfileID("Some ID");
+
+ String requestEnd = createSignatureInfoEnd()+
+ supp.getSupplement() + "<ReturnHashInputData/>"+createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+ public void create103() throws Exception {
+
+ String testNumber = "103";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ //supp.addMetaInfo("text/plain",null);
+ supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+ //supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt",
+ // readBinaryFileAsBase64(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"));
+ supp.closeSupplement();
+ //supp.addProfileID("Some ID");
+
+ String requestEnd = createSignatureInfoEnd()+
+ supp.getSupplement() + "<ReturnHashInputData/>"+createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+public void create104() throws Exception {
+
+ String testNumber = "104";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+ supp.closeSupplement();
+
+ String requestEnd =
+ createSignatureInfoEnd()+
+ supp.getSupplement()+"<ReturnHashInputData/>"+
+ createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber+" - Supplement/Content/XMLContent instead of Supplement/Content/Base64Content",true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+ public void create105() throws Exception {
+
+ String testNumber = "105";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testXML.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+ supp.closeSupplement();
+
+ Supplement supp2 = new Supplement();
+ supp2.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testXML.txt", readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testXML.txt"));
+ supp2.closeSupplement();
+
+ String requestEnd =
+ createSignatureInfoEnd()+
+ supp.getSupplement()+
+ supp2.getSupplement() +
+ createRequestShortEnd(true);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber + " - 2 Supplement elements",true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<HashInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testSimple.txt") +
+ "</Base64Content></HashInputData>"+
+ "<HashInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testXML.txt") +
+ "</Base64Content></HashInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), response);
+ }
+
+public void create106() throws Exception {
+
+ String testNumber = "106";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ String requestEnd =
+ createSignatureInfoEnd()+
+ "<SupplementProfileID>SupplementProfile2</SupplementProfileID>" +
+ "<!-- Supplement Profile 2 enthaelt nicht die referenzierte URI -->" +
+ "<SupplementProfileID>SupplementProfile1</SupplementProfileID><ReturnHashInputData/>" +
+ createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber +" - 2 SupplementProfileID elements" ,true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+
+ public void create301() throws Exception {
+
+ String testNumber = "301";
+
+ //Testcast with another canoicalization algorithm
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXMLwithCom);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+ /**
+ * Method create302.
+ * @throws Exception
+ */
+ public void create302() throws Exception {
+
+ String testNumber = "302";
+
+ //Testcast with another canoicalization algorithm
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgExcXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0"));
+ }
+ /**
+ * Method create303.
+ * @throws Exception
+ */
+ public void create303() throws Exception {
+
+ String testNumber = "303";
+
+ //Testcast with another canoicalization algorithm
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgExcXMLwithCom);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0"));
+ }
+
+ public void create304() throws Exception {
+
+ String testNumber = "304";
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.initECDSA();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ //cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ //cpkcs.createEnvelopedDataObject("envelopedData",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+
+ cpkcs.createReference(true,readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"),"envelopedData");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0","<dsig:X509IssuerName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName>","<dsig:X509SubjectName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509SubjectName>","<dsig:X509SerialNumber>68172</dsig:X509SerialNumber>"));
+ }
+ /**
+ * Method create305.
+ * @throws Exception
+ */
+ public void create305() throws Exception {
+
+ String testNumber = "305";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ String refData = "Dies sind Testdaten";
+
+ cpkcs.createReference(true,refData);
+
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",refData));
+ }
+
+ /**
+ * Method create307.
+ * @throws Exception
+ */
+ public void create307() throws Exception {
+
+ String testNumber = "307";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addXMLContent(configuration_.getProperty("baseDir")+"resources/testSimple.txt", readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+ supp.closeSupplement();
+
+ String requestEnd = createSignatureInfoEnd()+
+ supp.getSupplement() +
+ createRequestShortEnd(true);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0"));
+ }
+
+ /**
+ * Method create308.
+ * @throws Exception
+ */
+ public void create308() throws Exception {
+
+ String testNumber = "308";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+ supp.closeSupplement();
+
+
+ String requestEnd = createSignatureInfoEnd()+ supp.getSupplement() +
+ createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ //request = replaceString(request,"<XMLContent xml:space=\"preserve\">","<XMLContent xml:space=\"preserve\">VERAENDERTE DATEN und die Ursprungsdaten: ");
+ request = replaceString(request,"Dies sind Testdaten","VERAENDERTE DATEN und die Ursprungsdaten: Dies sind Testdaten");
+ //request = replaceString(request,Base64Utils.encode("Dies sind Testdaten".getBytes()),Base64Utils.encode("VERAENDERTE DATEN und die Ursprungsdaten: Dies sind Testdaten".getBytes()));
+ //request = replaceString(request,"<ReturnHashInputData/>","");
+ /*request = replaceString(request,"Reference=\""+configuration_.getProperty("baseDir")+"resources/testSimple.txt\"","Reference=\"\"");
+ request = replaceString(request,"URI=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\"","URI=\"\"");*/
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponse(cpkcs.getX509CertString(),testNumber,"1",1);
+
+ writeFile(vxResFile(testNumber), response);
+ }
+ public void create310() throws Exception {
+
+ String testNumber = "310";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ //Erzeugen der Base64-Daten
+ //String tmp = readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testSimple.txt");
+
+ URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txtbase64.enc");
+
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplBase64Decode();
+ InputStream s = getHttpInputStream(target.toString());
+ tr[0].setInput(s,null);
+
+ cpkcs.createReferenceWithTransforms(target,tr);
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0"));
+ }
+//-------------------------------------------------------------------------
+//-------------------------------------------------------------------------
+//-------------------------------------------------------------------------
+//-------------------------------------------------------------------------
+//-------311 scheint die XPAth - Transformation nicht richtig auszuführen-
+// (Siehe Output in der Konsole.....)
+
+ public void create311() throws Exception {
+
+ String testNumber = "311";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXPath trans = new TransformImplXPath();
+// TransformImplXSLT trans = new TransformImplXSLT();
+
+
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/BookData.xml");
+// InputStream s2 = new FileInputStream(configuration_.getProperty("baseDir")+"resources/transform.xsl");
+ trans.setInput(s,null);
+// trans.setStyleSheet(s2,null);
+
+ trans.addNSDeclaration("data",new URI("http://uri.data.org")); //new URI("file:/"+configuration_.getProperty("baseDir")+"resources/BookData.xml"));
+ // trans.setXPath("ancestor-or-self::data:first-name");
+ trans.setXPath("ancestor-or-self::text()/ancestor-or-self::data:first-name");
+
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir") + "resources/BookData.xml"),tr);
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",1,"text:Ellipse"));
+ }
+
+public void create312() throws Exception
+ { String testNumber = "312";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXPath2 trans = new TransformImplXPath2();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+
+ HashMap temp = new HashMap();
+ temp.put("data",new URI("http://uri.data.org"));
+ trans.addXPathFilter("/data:book/data:first-name",TransformImplXPath2.FILTER_MODE_SUBTRACT_,temp);
+ tr[0] = trans;
+ //System.out.println(getTransformsResult(tr));
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir") + "resources/BookData.xml"),tr,"reference-1");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart("312",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ vxBean.createSignatureCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+public void create313() throws Exception
+ { String testNumber = "313";
+
+ // ERST MAL DAS DOKUMENT ALS STRING AUFBAUEN
+
+ String requestEnd = createRequestEnd(true,false,null);
+
+ String reqDocString = createRequestStart(testNumber,true,0) +
+ "<data:Document " +
+ "xmlns:data=\"http://uri.data.org\" "+
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Id=\"myDocument\" "+
+ "xsi:schemaLocation=\"http://uri.data.org http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX.006Schema.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
+ + "</data:Document>" + requestEnd;
+
+
+ InputStream bis = new ByteArrayInputStream(("<data:Document " +
+ "xmlns:data=\"http://uri.data.org\" "+
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Id=\"myDocument\" "+
+ "xsi:schemaLocation=\"http://uri.data.org http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX.006Schema.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
+ + "</data:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ //String xPath_Pos = "/moa:VerifyXMLSignatureRequest/moa:VerifySignatureInfo/moa:VerifySignatureEnvironment/moa:XMLContent/data:Document";
+ String xPath_Pos = "/node()";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt
+ cpkcs.init(reqDoc,pos);
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ cpkcs.setKeyInformation(1);
+ //cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"));
+ //cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");
+
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+ tr[0] = trans;
+ //Enveloped Transformation
+ cpkcs.createReferenceWithTransforms(new URI(""),tr);
+//Signieren
+ cpkcs.returnSig();
+ //Serialisieren
+ String request = Node2String(reqDoc.getDocumentElement());
+
+ writeFile(vxReqFile(testNumber),createRequestStart(testNumber,true,0).trim() +cutXML(request).trim()+requestEnd.trim());
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0",1,"text:"+"<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Id=\"myDocument\" xsi:schemaLocation=\"http://uri.data.org http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX.006Schema.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\"></data:Document>"));
+
+ }
+
+
+ public void create314() throws Exception
+ { String testNumber = "314";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir") + "resources/BookData.xml"),tr,"reference-1");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart("314",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ vxBean.createSignatureCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+public void create314_2() throws Exception
+ { String testNumber = "314_2";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir") + "resources/BookData.xml"),tr,"reference-1");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ String suppContent = readFileCR(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ suppContent = replaceString(suppContent, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>","");
+ supp.addXMLContent("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl", suppContent );
+ supp.closeSupplement();
+
+ String request =
+ makeOutputFile(
+ createRequestStart("314_2",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() +
+ supp.getSupplement()
+ + createRequestShortEnd(false));
+
+/* request = replaceString(request, "http://moa-test.brz.intra.gv.at", "http://MyServer.com");
+ request = replaceString(request, "http://moa-test.brz.intra.gv.at", "http://MyServer.com");
+ request = replaceString(request, "http://moa-test.brz.intra.gv.at", "http://MyServer.com");
+ //Hinweis: ich nehmen an, die URI in DSIG:REFERENCE sollte schon stimmen....
+ request = replaceString(request, "http://MyServer.com", "http://moa-test.brz.intra.gv.at"); */
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ vxBean.createSignatureCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+ writeFile(vxResFile(testNumber), response);
+ }
+
+
+ public void create315() throws Exception {
+
+ String testNumber = "315";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XML");
+
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplCanonicalXML();
+ InputStream s = getHttpInputStream(target.toString());
+ tr[0].setInput(s,null);
+
+ String erg = getTransformsResult(tr);
+
+ cpkcs.createReferenceWithTransforms(target,tr);
+ //cpkcs.createReference(false, "file:/"+ configuration_.getProperty("baseDir")+"resources/test_wo_canonicalisation.XML");
+ //cpkcs.createReference(false, "file:/"+ configuration_.getProperty("baseDir")+"resources/test_w_canonicalisation.XML");
+// cpkcs.createReferenceWithManifest(new URI("file:/"+ configuration_.getProperty("baseDir")+"resources/test_w_canonicalisation.XML"),"canonicalizedData");
+
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg));
+ }
+
+ public void create316() throws Exception {
+
+ String testNumber = "316";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XML");
+
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplCanonicalXMLWithComments();
+ InputStream s = getHttpInputStream(target.toString());
+ tr[0].setInput(s,null);
+
+ String erg = getTransformsResult(tr);
+
+ cpkcs.createReferenceWithTransforms(target,tr);
+
+ cpkcs.setKeyInformation();
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg));
+ }
+ public void create317() throws Exception {
+
+ String testNumber = "317";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XML");
+
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplExclusiveCanonicalXML();
+ InputStream s = getHttpInputStream(target.toString());
+ tr[0].setInput(s,null);
+ String erg = getTransformsResult(tr);
+ cpkcs.createReferenceWithTransforms(target,tr);
+
+ cpkcs.setKeyInformation();
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg));
+ }
+ public void create318() throws Exception {
+
+ String testNumber = "318";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XML");
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplExclusiveCanonicalXMLWithComments();
+ InputStream s = getHttpInputStream(target.toString());
+ tr[0].setInput(s,null);
+
+ String erg = getTransformsResult(tr);
+ cpkcs.createReferenceWithTransforms(target,tr);
+
+ cpkcs.setKeyInformation();
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg));
+ }
+
+ public void create318_2() throws Exception {
+
+ String testNumber = "318_2";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ //Create a base64-encoded version of the xml file
+
+ //String tmp = readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/test_wo_canonicalisation.XML");
+
+ URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XMLbase64.enc");
+
+ Transform[] tr = new Transform[3];
+ tr[0] = new TransformImplBase64Decode();
+ InputStream s = getHttpInputStream(target.toString());
+ tr[0].setInput(s,null);
+ tr[1] = new TransformImplCanonicalXMLWithComments();
+ tr[1].setInput(s,null);
+
+ tr[2] = new TransformImplExclusiveCanonicalXML();
+ tr[2].setInput(s,null);
+ String erg = getTransformsResult(tr);
+ cpkcs.createReferenceWithTransforms(target,tr);
+
+ cpkcs.setKeyInformation();
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg));
+ }
+
+ /**
+ * Method create319:
+ * SignedInfo/Reference appears two times:
+ * the first reference points to an enveloped dsig:Object,
+ * the seconde reference points to an external File
+ * @throws Exception
+ */
+ public void create319() throws Exception {
+ String testNumber = "319";
+
+
+ // Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); // Create from whole cloth
+
+// Element root = (Element) document.createElement("Data");
+ // root.appendChild(document.createTextNode(readFileCR(configuration_.getProperty("baseDir")+"resources/test-ee2003_normal.derbase64.enc.bak")) );
+ //root.appendChild(document.createTextNode("Hallo\nHallo\nHallo"));
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,"Dies sind Testdaten");
+ //cpkcs.createReferenceEnvElement(root);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation();
+
+ Document sign = cpkcs.returnSig();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ /*String erg = "Dies sind Testdaten" +
+ "</XMLContent>\n" +
+ " </HashInputData>\n" +
+ " <HashInputData>\n" +
+ "<XMLContent xml:space=\"preserve\">" +
+ readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt"); */
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0","Dies sind Testdaten",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")));
+ }
+
+ /**
+ * Method create320:
+ * The element KeyInfo does NOT contain the X509-certificate but
+ * an URI pointing to an external xml-encoded X509-file
+ * @throws Exception
+ */
+ public void create320() throws Exception {
+ String testNumber = "320";
+
+ //RetrievalMethdos instead of the integratede Keys
+
+ //URI fileURI = new URI(configuration_.getProperty("baseDir") + "resources/test-ee2003_normal.der");
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+ //URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ Document sign = cpkcs.returnSig();
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(readFileCR(configuration_.getProperty("webbaseDir") + "resources/SignatureVX005Cert.xml"),testNumber,"0"));
+ }
+
+public void create320_2() throws Exception {
+ String testNumber = "320_2";
+
+ //RetrievalMethdos instead of the integratede Keys
+
+ //URI fileURI = new URI(configuration_.getProperty("baseDir") + "resources/test-ee2003_normal.der");
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/TEMPX509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+ //URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+// Supplement supp = new Supplement();
+
+// supp.addXMLContent(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml",readFileCR(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml"));
+// supp.closeSupplement();
+ Document sign = cpkcs.returnSig();
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,true,configuration_.getProperty("webbaseDir") + "resources/TEMPX509Data.xml"));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(readFileCR(configuration_.getProperty("webbaseDir") + "resources/SignatureVX005Cert.xml"),testNumber,"0"));
+ }
+
+
+ /**
+ * Method create321.
+ * The element KeyInfo does NOT contain the X509-certificate but
+ * an URI pointing to an external raw X509-file
+ * @throws Exception
+ */
+ public void create321() throws Exception {
+ String testNumber = "321";
+
+ //RetrievalMethdos instead of the integratede Keys
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/test-ee2003_normal.der");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+ Document sign = cpkcs.returnSig(); String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResFile(testNumber), createResponse(readFileCR(configuration_.getProperty("webbaseDir") + "resources/SignatureVX005Cert.xml"),testNumber,"0"));
+ }
+
+
+ /**
+ * Method create322.
+ * The reference in the signature points with an xpointer
+ * to the ID of an embedded valid manifest dsig:object
+ * @throws Exception
+ */
+public void create322() throws Exception {
+ String testNumber = "322";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ Element elem = cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
+
+ cpkcs.setKeyInformation();
+ Document sign = cpkcs.returnSig(); String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<HashInputData><Base64Content>"+
+ Base64Utils.encode(stripNLCR(convertManifestToString(elem)).getBytes()) +
+ "</Base64Content></HashInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createXMLDSIGManifestCheck("0","","1")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+ /**
+ * Method create323:
+ * There are two references in the signature pointing
+ * with xpointer to two embedded valid manifest dsig:objects
+ * @throws Exception
+ */
+ public void create323() throws Exception {
+ String testNumber = "323";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ URI fileURI2 = new URI(configuration_.getProperty("webbaseDir") + "resources/testXML.txt");
+ Element man1 = cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
+
+ //HINWEIS: Durch das 2malige Aufrufen wird ein WEITERES dsig:Object ELEMENT erzeugt... darf das so sein...???
+
+ Element man2 = cpkcs.createReferenceWithManifest(fileURI2,"manifestObject2");
+ cpkcs.setKeyInformation();
+ Document sign = cpkcs.returnSig();
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<HashInputData><Base64Content>"+
+ Base64Utils.encode(stripNLCR(convertManifestToString(man1)).getBytes()) +
+ "</Base64Content></HashInputData>"+
+ "<HashInputData><Base64Content>"+
+ Base64Utils.encode(stripNLCR(convertManifestToString(man2)).getBytes()) +
+ "</Base64Content></HashInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createXMLDSIGManifestCheck("0","","1")+
+ vxBean.createXMLDSIGManifestCheck("0","","2")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+
+ }
+ public void create324() throws Exception {
+ String testNumber = "324";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+ URI fileURI2 = new URI(configuration_.getProperty("webbaseDir") + "resources/testXML.txt");
+ Element man = cpkcs.createReferencesWithManifest(fileURI1,"manifestObject",fileURI2);
+
+ //HINWEIS: Durch das 2malige Aufrufen wird ein WEITERES dsig:Object ELEMENT erzeugt... darf das so sein...???
+ cpkcs.setKeyInformation();
+ Document sign = cpkcs.returnSig();
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ sign,
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<HashInputData><Base64Content>"+
+ Base64Utils.encode(stripNLCR(convertManifestToString(man)).getBytes()) +
+ "</Base64Content></HashInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createXMLDSIGManifestCheck("0","","1")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+
+ }
+
+ /**
+ * Method create325.
+ * @throws Exception
+ */
+ public void create325() throws Exception {
+ String testNumber = "325";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Element mani = cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");
+ cpkcs.createEnvelopedDataObject("envelopedData",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<HashInputData><Base64Content>"+
+ Base64Utils.encode(stripNLCR(convertManifestToString(mani)).getBytes()) +
+ "</Base64Content></HashInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createXMLDSIGManifestCheck("1","1","1")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create326() throws Exception {
+ String testNumber = "326";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Element mani = cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");
+ cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt"));
+
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(false,false,null));
+
+ request = replaceString(request,"<dsig:Object Id=\"envelopedData\">","<dsig:Object Id=\"envelopedData\">Dies sind veraenderte Daten und die Ursprungsdaten: \n");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ vxBean.createSignatureCheck("0")+
+ vxBean.createXMLDSIGManifestCheck("1","1","1")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ /**
+ * Method create327: The certificate comes as raw data and is converted to a dsig:object with
+ * base64-data, the KeyInfo has a retrievalMethod pointing to that object and transforming the
+ * data back to raw-data for using that to create the signature
+ * @throws Exception
+ */
+ public void create327() throws Exception {
+
+ String testNumber = "327";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/test-ee2003_normal.der");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt");
+
+ //DER-encoded RAW-Zertifikat zu Binary64 konvertieren
+
+ //String tmp = readBinaryFileAsBase64(fileURI.getPath()); : Funktioniert nicht mehr wegen http-addi
+
+ //dsig:Object mit den Binary64-Daten erzeugen (==> CRs weglassen!!!!!)
+ cpkcs.createEnvelopedDataObject("rawCertAsBase64",readFileCR(fileURI.toString()+"base64.enc"));
+
+ //Neue Transformation erzeugen, um die Base64-Daten zurückzuwandeln
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplBase64Decode();
+ InputStream s = getHttpInputStream(fileURI.toString() + "base64.enc");
+ tr[0].setInput(s,null);
+
+ //Neues KeyInfo-Objekt erzeugen, wobei nicht die Zertifikate sondern
+ //nur eine RetrievalMethod angegeben wird, die auf das oben erzeugte Base64-dsig:Object verweist
+ cpkcs.setKeyInformation(true, new URI("#xpointer(id('rawCertAsBase64')/node())") , typeURI, tr);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ cpkcs.setKeyInformation(1);
+
+ writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0"));
+ }
+
+ /**
+ * Method makeOutputFile.
+ * @param start
+ * @param signatureDoc
+ * @param end
+ * @return String
+ * @throws Exception
+ */
+ public String makeOutputFile(
+ String start,
+ Document signatureDoc,
+ String end)
+ throws Exception {
+ ArrayList foundNodes = new ArrayList();
+ findNode(
+ signatureDoc.getDocumentElement(),
+ "dsig:Signature",
+ foundNodes);
+
+ Node outputNode = null;
+
+ if (foundNodes.size() > 0) {
+ outputNode = (Node) foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg = start + erg + end;
+
+ return erg;
+ }
+
+ /**
+ * Method createRequestStart.
+ * @param testNumber
+ * @param useDate
+ * @param changeHours
+ * @return String
+ */
+ private String createRequestStart(String testNumber, boolean useDate, int changeHours)
+{
+ return createRequestStart(testNumber, useDate,changeHours,"");
+
+}
+
+ private String createRequestStart(String testNumber, boolean useDate, int changeHours, String attribut)
+ {
+ return createRequestStart(testNumber, useDate,changeHours,attribut,"");
+ }
+ private String createRequestStart(String testNumber, boolean useDate, int changeHours, String attribut,String dtd)
+ {String reqStart = null;
+ System.out.println("======================================================");
+ System.out.println("================== TEST-NUMBER "+ testNumber + " ===================");
+ System.out.println("======================================================");
+
+ reqStart =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ + "<!-- Testnumber: "
+ + testNumber
+ + "-->\n";
+
+ if(dtd!=null && !dtd.trim().equals(""))
+ reqStart += dtd;
+
+ reqStart+= "<VerifyXMLSignatureRequest\n"
+ + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
+ + " xmlns:xml=\"http://www.w3.org/XML/1998/namespace\""
+ + " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n";
+
+ if (useDate) {
+ reqStart += " <DateTime>"
+ + getDate(changeHours)
+ + "</DateTime>\n";
+ }
+
+ reqStart += " <VerifySignatureInfo>\n"
+ + " <VerifySignatureEnvironment "+attribut+">\n"
+ + " <XMLContent xml:space=\"preserve\">" ;
+ return reqStart;
+ }
+
+ /**
+ * Method getTransformsResult:the input transforms array will
+ * be calculated to return a string-representation of the result
+ * @param tr
+ * @return String
+ * @throws Exception
+ */
+ private String getTransformsResult(Transform[] tr) throws Exception
+ {
+ Transform[] myTransforms = tr;
+ String result = "";
+ for (int t=0; t<tr.length-1; t++)
+ {
+ myTransforms[t+1].setInput((InputStream)myTransforms[t].transform(),null);
+ }
+ ByteArrayInputStream is = (ByteArrayInputStream)myTransforms[tr.length-1].transform();
+ byte[] b = new byte[1];
+ is.read(b);
+ while (is.available() > 0)
+ {
+ result += new String(b);
+ is.read(b);
+ }
+ result += new String(b);
+
+ return result;
+ }
+
+
+ /**
+ * Method createRequestEnd.
+ * @param useReturnHashInputData
+ * @param useSupplement
+ * @param supplementReference
+ * @return String
+ * @throws Exception
+ */
+ private String createRequestEnd(
+ boolean useReturnHashInputData,
+ boolean useSupplement,
+ String supplementReference)
+ throws Exception {
+
+ String reqEnd = null;
+
+/* reqEnd =
+ "</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>#xpointer(/VerifyXMLSignatureRequest/VerifySignatureInfo/VerifySignatureEnvironment/dsig:Signature)</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+*/
+ reqEnd ="</XMLContent>"+
+ "</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+
+
+
+ if (useSupplement)
+ {
+ reqEnd += " <SupplementProfile>\n" +
+ " <Content Reference=\"" + supplementReference.toString() + "\">\n" +
+ " <XMLContent xml:space=\"preserve\">"+readFileCR(supplementReference.toString())+"</XMLContent>\n" +
+ " </Content>\n" +
+ " </SupplementProfile>\n";
+ }
+
+ if (useReturnHashInputData) {
+ reqEnd += " <ReturnHashInputData/>\n";
+ }
+ reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
+ + "</VerifyXMLSignatureRequest>\n";
+ return reqEnd;
+
+ }
+
+ private String createSignatureInfoEnd()
+ throws Exception {
+
+ return "</XMLContent>"+"</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+
+ }
+
+ private String createRequestShortEnd(boolean useReturnHashInputData)
+ throws Exception {
+
+ String reqEnd = "";
+
+ if (useReturnHashInputData)
+ reqEnd = " <ReturnHashInputData/>\n";
+
+ reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
+ + "</VerifyXMLSignatureRequest>\n";
+ return reqEnd;
+
+ }
+ /**
+ * Method createResponse.
+ * @param testNumber
+ * @param signatureCheckCode
+ * @return String
+ * @throws Exception
+ */
+ private String createResponse(String x509cert, String testNumber, String signatureCheckCode) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" + " ";
+ /*res += "<XMLContent xml:space=\"preserve\">"+readFileCR(
+ configuration_.getProperty("baseDir")
+ + "resources/testSimple.txt")+
+ "</XMLContent>";*/
+ res += "<Base64Content>"+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ "resources/testSimple.txt"))+"</Base64Content>";
+
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+
+ return res;
+ }
+
+ private String createResponseL(String x509cert, String testNumber, String signatureCheckCode,String filename) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+
+ res += replaceString(vxBean.getFooterSignatureCheck(signatureCheckCode, "0"),"</HashInputData>","");
+
+ return res;
+ }
+
+ private String createResponse(String x509cert, String testNumber, String signatureCheckCode,int code) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <SignatureCheck>\n" +
+ " <Code>1</Code><Info><FailedReference>1</FailedReference></Info>\n" +
+ " </SignatureCheck>\n" +
+ " <CertificateCheck>\n" +
+ " <Code>0</Code>\n" +
+ " </CertificateCheck>\n" +
+ "</VerifyXMLSignatureResponse>";;
+
+ return res;
+ }
+
+
+ /**
+ * Method createResponse.
+ * @param testNumber
+ * @param signatureCheckCode
+ * @return String
+ * @throws Exception
+ */
+ private String createResponse(String x509cert, String testNumber, String signatureCheckCode,int code,String filename) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" + " ";
+ /*res += "<XMLContent xml:space=\"preserve\">"+readFileCR(
+ configuration_.getProperty("baseDir")
+ + "resources/testSimple.txt")+
+ "</XMLContent>";*/
+ if(filename.startsWith("text:"))
+ res += "<Base64Content>"+Base64Utils.encode(filename.substring(5).getBytes())+"</Base64Content>";
+ else
+ res += "<Base64Content>"+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ filename))+"</Base64Content>";
+
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+
+ return res;
+ }
+
+/**
+ * Method createResponse.
+ * @param testNumber
+ * @param signatureCheckCode
+ * @return String
+ * @throws Exception
+ */
+ private String createResponse(String x509cert, String testNumber, String signatureCheckCode,String iss,String subject,String serial) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += subject;
+ res += " <dsig:X509IssuerSerial>\n";
+ res += iss;
+ res += serial;
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" + " ";
+ /*res += "<XMLContent xml:space=\"preserve\">"+readFileCR(
+ configuration_.getProperty("baseDir")
+ + "resources/testSimple.txt")+
+ "</XMLContent>";*/
+ res += "<Base64Content>"+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ "resources/testSimple.txt"))+"</Base64Content>";
+
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+
+ return res;
+ }
+
+
+ private String createResponse(String x509cert, String testNumber, String signatureCheckCode, String hashData) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n";
+ /* " <XMLContent xml:space=\"preserve\">"+
+ hashData +
+ "</XMLContent>\n";*/
+ res += "<Base64Content>"+Base64Utils.encode(hashData.getBytes())+"</Base64Content>";
+ System.out.println(res);
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+ System.out.println(res);
+
+ return res;
+ }
+
+ private String createResponse(String x509cert, String testNumber, String signatureCheckCode, String hashData,String hashData2) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n";
+ /* " <XMLContent xml:space=\"preserve\">"+
+ hashData +
+ "</XMLContent>\n";*/
+ res += "<Base64Content>"+Base64Utils.encode(hashData.getBytes())+"</Base64Content>";
+ res += "</HashInputData><HashInputData>";
+ res += "<Base64Content>"+Base64Utils.encode(hashData2.getBytes())+"</Base64Content>";
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+
+ return res;
+ }
+
+ private String createResponseWithoutHashInputData(String x509cert, String testNumber, String signatureCheckCode,boolean dsig) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n"
+ + " <SignatureCheck>\n" +
+ " <Code>" + signatureCheckCode + "</Code>\n" +
+ " </SignatureCheck>\n";
+
+ if(dsig) res+=vxBean.createXMLDSIGManifestCheck("0","","1");
+ res+= " <CertificateCheck>\n" +
+ " <Code>0</Code>\n" +
+ " </CertificateCheck>\n" +
+ "</VerifyXMLSignatureResponse>";
+
+ return res;
+ }
+
+ private String createResponseWithoutHashInputData(String x509cert, String testNumber, String signatureCheckCode) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n"
+ + " <SignatureCheck>\n" +
+ " <Code>" + signatureCheckCode + "</Code>\n" +
+ " </SignatureCheck>\n" +
+ " <CertificateCheck>\n" +
+ " <Code>0</Code>\n" +
+ " </CertificateCheck>\n" +
+ "</VerifyXMLSignatureResponse>";
+
+ return res;
+ }
+
+ private String createResponsePart(String x509cert) throws Exception {
+
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n";
+
+ res +=x509cert;
+
+ res += " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ /*res += " <HashInputData>\n" + " <XMLContent>";
+ res += readFile(
+ configuration_.getProperty("baseDir")
+ + "resources/testSimple.txt");
+ */
+ //res += vxBean.getFooterXMLDSIGManifestCheck(xmlDSIGManifestCheckCode,"0");
+
+ return res;
+ }
+
+ public String readFileCR(String filename) throws Exception {
+
+ /*StringBuffer data = new StringBuffer();
+ String line = null;
+ BufferedReader br = new BufferedReader(new FileReader(filename));
+ while ((line = br.readLine()) != null) {
+ data.append(line);
+ data.append("\n");
+ }
+ */
+ String response="";
+ byte[] result;
+
+ if (filename.substring(0,4).toLowerCase().equals("http"))
+ {
+
+ URL targetUrl = new URL(filename);
+ HttpURLConnection h = (HttpURLConnection)targetUrl.openConnection();
+ InputStream is = h.getInputStream();
+
+ int size = 0;
+
+ result = new byte[h.getContentLength()];
+ for (int i = 0; i < result.length; i++) {
+ byte[] b = new byte[1];
+ is.read(b);
+ result[i]=b[0];
+ }
+ is.close();
+ }
+ else
+ {
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+
+ result = new byte[(int) raf.length()];
+ raf.read(result);
+ raf.close();
+
+ }
+
+ byte[] temp = new byte[result.length];
+ int s = 0;
+ for (int t=0; t<result.length; t++)
+ {
+ temp[s] = result[t];
+ s++;
+ if (temp[s-1]==10)
+ {
+ if (temp[s-2]==13)
+ {
+ temp[s-2]=10;
+ s--;
+ }
+ }
+ }
+ byte[] res = new byte[s];
+ result = null;
+
+ System.arraycopy(temp,0,res,0,s);
+
+
+ response = new String(res);
+
+ try {
+ response = replaceString(response,"<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
+ }
+ catch (Exception e) {}
+
+ return response;
+ }
+
+private InputStream getHttpInputStream(String url) throws Exception
+ {
+ URL targetUrl = new URL(url);
+ HttpURLConnection h = (HttpURLConnection)targetUrl.openConnection();
+ return h.getInputStream();
+ }
+
+private String convertManifestToString(Element e) throws Exception
+ {
+ String result =(new DOMWriterImpl(true)).writeToString(e);
+ result = replaceString(result,"<?xml version=\"1.0\"?>","");
+ result = replaceStringAll(result,"&apos;","'");
+ result = replaceStringAll(result,"#sha1\"/><dsig:","#sha1\"></dsig:DigestMethod><dsig:");
+
+ //result = replaceString(result," xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
+ return result;
+ }
+
+ private String stripNLCR(String input)
+ {
+ String output = replaceStringAll(input,"\n","");
+ output = replaceStringAll(output,"\r","");
+ return output;
+ }
+
+ public static String replaceStringAll(
+ String input,
+ String oldPart,
+ String newPart)
+ {
+
+ String erg = null;
+
+ int pos = input.indexOf(oldPart);
+ if(pos==-1) return input;
+
+ while(true)
+ {
+
+ //First Part
+ pos = input.indexOf(oldPart);
+ if(pos==-1) break;
+ erg = input.substring(0, pos);
+
+ //Insert new Part
+ erg += newPart;
+
+ //insert REST
+ erg
+ += input.substring(
+ input.indexOf(oldPart) + oldPart.length(),
+ input.length());
+
+ input = erg;
+ }
+ return erg;
+ }
+
+
+}
+
diff --git a/spss.test/src/testgenerator/TestGeneratorVX2.java b/spss.test/src/testgenerator/TestGeneratorVX2.java
new file mode 100644
index 000000000..96612da9e
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorVX2.java
@@ -0,0 +1,1600 @@
+package testgenerator;
+import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.algorithms.TransformImplCanonicalXML;
+import iaik.ixsil.algorithms.TransformImplXSLT;
+import iaik.ixsil.util.URI;
+
+import java.io.ByteArrayInputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.RandomAccessFile;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.ArrayList;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import at.gv.egovernment.moa.util.Base64Utils;
+
+/**
+ * @author stephan
+ */
+public class TestGeneratorVX2 extends TestCases {
+
+ private static final int canAlgCanXML = 1;
+ private static final int canAlgCanXMLwithCom = 2;
+ private static final int canAlgExcXML = 3;
+ private static final int canAlgExcXMLwithCom = 4;
+ private static VXResponseBean vxBean = null;
+ private static String etsiPropertyName = "ETSIProperties";
+ private static URI etsiURI;
+
+ public static void main(String[] args) throws Exception {
+
+ vxBean = new VXResponseBean();
+
+ TestGeneratorVX2 testcase = new TestGeneratorVX2();
+
+ etsiURI = new URI("http://uri.etsi.org/01903/v1.1.1#SignedProperties");
+
+ testcase.create201();
+ testcase.create202();
+ testcase.create203();
+ testcase.create205();
+ testcase.create206();
+ testcase.create208();
+ testcase.create209();
+ testcase.create210();
+ testcase.create211();
+ testcase.create212();
+ testcase.create213();
+ testcase.create214();
+ testcase.create215();
+ testcase.create216();
+ testcase.create217();
+ }
+
+ /* ==================================================================================================== */
+
+ public TestGeneratorVX2() throws Exception {
+
+ super();
+
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorVX");
+
+ // configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
+ // configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
+ // configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
+
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ /* ==================================================================================================== */
+
+
+ /**
+ * Method create001.
+ * @throws Exception
+ */
+ /* ===================================================================================================================== */
+ /* ===================================================================================================================== */
+ /* ===================================================================================================================== */
+
+
+public void create201() throws Exception
+ { String testNumber = "201";
+
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename + ""));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("201 a simple request w/ SignatureManifestCheckParams (but w/o Supplement)",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ //
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create202() throws Exception
+ { String testNumber = "202";
+
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams(null);
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("202 no SignatureManifestCheckParams/@ReturnReferenceInputData" ,true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+public void create203() throws Exception
+ { String testNumber = "203";
+
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("false");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("203 SignatureManifestCheckParams/@ReturnReferenceInputData = false",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+
+
+
+ public void create205() throws Exception
+ { String testNumber = "205";
+
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[2];
+ TransformImplCanonicalXML trans0 = new TransformImplCanonicalXML();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans0.setInput(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans0;
+
+ TransformImplXSLT trans = new TransformImplXSLT();
+ s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[1] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename ));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("206 - 2 dsig:Transform elements ==> Canonisierung + Stylesheet",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+public void create206() throws Exception
+ { String testNumber = "206";
+
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Hash",getBase64Hash(configuration_.getProperty("baseDir")+"resources/" + filename));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("206 TransformParameter/Hash statt TransformParameter/Base64Content (Der Hash wird von " + filename + " gebildet)",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+public void create208() throws Exception
+ { String testNumber = "208";
+
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl");
+
+ String request =
+ makeOutputFile(
+ createRequestStart("208 - weder Base64Content noch Hash wird verwendet ",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+
+public void create209() throws Exception
+ { String testNumber = "209";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_book.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+// cpkcs.createReferenceWithManifest(
+// new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+// "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("209 0 TransformParameter ==> ganzes Element raus und direkt auf CX1_book.xsl verweisen (in der Transformations-Referenz)",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ /*int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");*/
+
+ int pos_1 = request.indexOf("<etsi:SignedProperties");
+ int pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("2")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+public void create210() throws Exception
+ { String testNumber = "210";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/VX2_bookref2includes.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_bookref2includes.xsl"));
+ trans.setInput(s,null);
+ tr[0] = trans;
+
+ //System.out.println(getTransformsResult(tr));
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferencesWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"),
+ "Manifest",new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"), "http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl");
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/VX2_book0.xsl"));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl");
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/VX2_book1.xsl"));
+
+
+ String request =
+ makeOutputFile(
+ createRequestStart("210 2 includes",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+public void create211() throws Exception
+ { String testNumber = "211";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ /*for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl");
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"));*/
+
+ smcp.addTransformsProfileID("TransformsInfoProfile1");
+ smcp.addTransformsProfileID("TransformsInfoProfile2");
+
+ String request =
+ makeOutputFile(
+ createRequestStart("211 2 VerifyTransformsInfoID ==> Statt TransformsInfoProfile , in ein IntoProfileID auf Datei mit orig.Daten des TransInfoProfile verweisen, das andere auf ein Transforms, das nur Canonisiserung enthaelt",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create212() throws Exception
+ { String testNumber = "212";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-2");
+
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ ets.addDataObjectFormat("#reference-2");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+ //2. DataObject Format
+ cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),etsiURI);
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename ));
+
+ SignatureManifestCheckParams smcp2 = new SignatureManifestCheckParams(null);
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp2.addDisgTransform(tr[trNr].toElement(smcp2.getDoc()));
+ smcp2.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp2.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename ));
+
+ String signManiDoc = replaceString(smcp.returnDoc(),"</SignatureManifestCheckParams>","") +
+ replaceString(smcp2.returnDoc(),"<SignatureManifestCheckParams>","");
+
+ String request =
+ makeOutputFile(
+ createRequestStart("212 2 ReferenceInfo (for 2 dsig:Reference (pplus Manifest + SignedProperties) : etsi:DataObjectFormat 2mal, Reference 2mal, Manifest 1mal, ReferenceInfo 2mal)",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + signManiDoc
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("0")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+
+ public void create213() throws Exception
+ {
+ String testNumber = "213";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("213 kein TransformParameter element obwohl in Transforms URIs referenziert werden",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ /*pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");*/
+
+ pos_1 = request.indexOf("<dsig:Object Id=\"ETSIProperties\">");
+ pos_2 = request.substring(pos_1).indexOf("</dsig:Object>");
+
+ String etsi = request.substring(pos_1,pos_1+pos_2+"</dsig:Object>".length());
+ etsi = replaceString(etsi,"<dsig:Object Id=\"ETSIProperties\">","<dsig:Object Id=\"ETSIProperties\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">");
+
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("1","<Info><FailedReference>1</FailedReference></Info>")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create214() throws Exception
+ {
+ String testNumber = "214";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+
+ smcp.addTransformsProfileID("TransformsInfoProfile2");
+
+ String request =
+ makeOutputFile(
+ createRequestStart("214 1 VerifyTransformsInfoID ==> Passt aber nicht zur Transformation (XSLT <==> Canonisiserung)",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<dsig:Object Id=\"ETSIProperties\">");
+ pos_2 = request.substring(pos_1).indexOf("</dsig:Object>");
+
+ String etsi = request.substring(pos_1,pos_1+pos_2+"</dsig:Object>".length());
+ etsi = replaceString(etsi,"<dsig:Object Id=\"ETSIProperties\">","<dsig:Object Id=\"ETSIProperties\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("1","<Info><FailedReference>1</FailedReference></Info>")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create215() throws Exception
+ { String testNumber = "215";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ //Reference 1
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ //ets.addDataObjectFormat("#reference-2");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "')/*/*)"),etsiURI);
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ SignatureManifestCheckParams smcp2 = new SignatureManifestCheckParams(null);
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp2.addDisgTransform(tr[trNr].toElement(smcp2.getDoc()));
+ smcp2.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp2.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ String signManiDoc = replaceString(smcp.returnDoc(),"</SignatureManifestCheckParams>","") +
+ replaceString(smcp2.returnDoc(),"<SignatureManifestCheckParams>","");
+
+ String request =
+ makeOutputFile(
+ createRequestStart("215 number of ReferenceInfo is different from number of dsig:Reference in the signature",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + signManiDoc
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ //writeFile(vxResErrFile(testNumber),"2271");
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("1")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create216() throws Exception
+ {
+ String testNumber = "216";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ //Reference 1
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-2");
+
+
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ ets.addDataObjectFormat("#reference-2");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "')/*/*)"),etsiURI);
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("216 number of References id bigger then number of ReferenceInfos",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ //writeFile(vxResErrFile(testNumber),"2271");
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<etsi:SignedProperties");
+ pos_2 = request.indexOf("</etsi:SignedProperties>");
+
+ String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
+ //etsi = replaceStringAll(etsi,"etsi:","ns1:");
+ etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
+ etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+ etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("1")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+ public void create217() throws Exception
+ { String testNumber = "217";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName, ets.getQualProp());
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"), etsiURI);
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Hash",getBase64Hash(configuration_.getProperty("baseDir")+"resources/" + filename));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("217 - TransformParameter/@URI resolves but Hash does not match - which hashing algorithm?",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ request = replaceString(request,"<Hash><dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><dsig:DigestValue>",
+ "<Hash><dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><dsig:DigestValue>abcd");
+
+ writeFile(vxReqFile(testNumber),request);
+ //writeFile(vxResErrFile(testNumber),"2205");
+
+ int pos_1 = request.indexOf("<dsig:Manifest");
+ int pos_2 = request.indexOf("</dsig:Manifest>");
+
+ String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
+ manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
+
+ pos_1 = request.indexOf("<dsig:Object Id=\"ETSIProperties\">");
+ pos_2 = request.substring(pos_1).indexOf("</dsig:Object>");
+
+ String etsi = request.substring(pos_1,pos_1+pos_2+"</dsig:Object>".length());
+ etsi = replaceString(etsi,"<dsig:Object Id=\"ETSIProperties\">","<dsig:Object Id=\"ETSIProperties\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">");
+
+ String response = createResponsePart(cpkcs.getX509CertString()) +
+ "<ReferenceInputData><Base64Content>"+
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
+ "</Base64Content></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
+ "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
+ vxBean.createSignatureCheck("0")+
+ vxBean.createSignatureManifestCheck("1","<Info><FailedReference>1</FailedReference></Info>")+
+ vxBean.createCertificateCheck("0")+
+ "</VerifyXMLSignatureResponse>";
+
+ writeFile(vxResFile(testNumber), response);
+ }
+
+
+ /**
+ * Method makeOutputFile.
+ * @param start
+ * @param signatureDoc
+ * @param end
+ * @return String
+ * @throws Exception
+ */
+ public String makeOutputFile(
+ String start,
+ Document signatureDoc,
+ String end)
+ throws Exception {
+ ArrayList foundNodes = new ArrayList();
+ findNode(
+ signatureDoc.getDocumentElement(),
+ "dsig:Signature",
+ foundNodes);
+
+ Node outputNode = null;
+
+ if (foundNodes.size() > 0) {
+ outputNode = (Node) foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg = start + erg + end;
+
+ return erg;
+ }
+
+ /**
+ * Method createRequestStart.
+ * @param testNumber
+ * @param useDate
+ * @param changeHours
+ * @return String
+ */
+ private String createRequestStart(String testNumber, boolean useDate, int changeHours)
+ {String reqStart = null;
+ System.out.println("======================================================");
+ System.out.println("================== TEST-NUMBER "+ testNumber + " ===================");
+ System.out.println("======================================================");
+
+ reqStart =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ + "<!-- Testnumber: "
+ + testNumber
+ + "-->\n"
+ + "<VerifyXMLSignatureRequest\n"
+ + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
+ + " xmlns:xml=\"http://www.w3.org/XML/1998/namespace\""
+ + " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n";
+
+ if (useDate) {
+ reqStart += " <DateTime>"
+ + getDate(changeHours)
+ + "</DateTime>\n";
+ }
+
+ reqStart += " <VerifySignatureInfo>\n"
+ + " <VerifySignatureEnvironment>\n"
+ + " <XMLContent xml:space=\"preserve\">" ;
+ return reqStart;
+ }
+
+ /**
+ * Method getTransformsResult:the input transforms array will
+ * be calculated to return a string-representation of the result
+ * @param tr
+ * @return String
+ * @throws Exception
+ */
+ private String getTransformsResult(Transform[] tr) throws Exception
+ {
+ Transform[] myTransforms = tr;
+ String result = "";
+ for (int t=0; t<tr.length-1; t++)
+ {
+ myTransforms[t+1].setInput((InputStream)myTransforms[t].transform(),null);
+ }
+
+ ByteArrayInputStream is = (ByteArrayInputStream)myTransforms[tr.length-1].transform();
+
+
+ byte[] b = new byte[1];
+ is.read(b);
+ while (is.available() > 0)
+ {
+ result += new String(b);
+ is.read(b);
+ }
+ result += new String(b);
+
+ return result;
+ }
+
+ private String getBase64Hash(String filename) throws Exception
+ {
+ DigestAlgorithmImplSHA1 dig = new DigestAlgorithmImplSHA1();
+
+ dig.setInput(new FileInputStream(filename));
+
+ InputStream erg = dig.digest();
+ String result = "";
+
+ int size = erg.available();
+
+ byte[] b = new byte[size];
+ erg.read(b);
+
+ return Base64Utils.encode(b);
+ }
+
+ /**
+ * Method createRequestEnd.
+ * @param useReturnHashInputData
+ * @param useSupplement
+ * @param supplementReference
+ * @return String
+ * @throws Exception
+ */
+ private String createRequestEnd(
+ boolean useReturnHashInputData,
+ boolean useSupplement,
+ String supplementReference)
+ throws Exception {
+
+ String reqEnd = null;
+
+/* reqEnd =
+ "</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>#xpointer(/VerifyXMLSignatureRequest/VerifySignatureInfo/VerifySignatureEnvironment/dsig:Signature)</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+*/
+ reqEnd ="</XMLContent>"+
+ "</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+
+
+
+ if (useSupplement)
+ {
+ reqEnd += " <Supplement>\n" +
+ " <Content Reference=\"file:/" + supplementReference.toString() + "\">\n" +
+ " <XMLContent>"+readFile(supplementReference.toString())+"</XMLContent>\n" +
+ " </Content>\n" +
+ " </Supplement>\n";
+ }
+
+ if (useReturnHashInputData) {
+ reqEnd += " <ReturnHashInputData/>\n";
+ }
+ reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
+ + "</VerifyXMLSignatureRequest>\n";
+ return reqEnd;
+
+ }
+
+ private String createSignatureInfoEnd()
+ throws Exception {
+
+ return "</XMLContent>"+"</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+
+ }
+
+ private String createRequestShortEnd(boolean useReturnHashInputData)
+ throws Exception {
+
+ String reqEnd = "";
+
+ if (useReturnHashInputData)
+ reqEnd = " <ReturnHashInputData/>\n";
+
+ reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
+ + "</VerifyXMLSignatureRequest>\n";
+ return reqEnd;
+
+ }
+ /**
+ * Method createResponse.
+ * @param testNumber
+ * @param signatureCheckCode
+ * @return String
+ * @throws Exception
+ */
+ private String createResponse(String testNumber, String signatureCheckCode) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" + " <XMLContent xml:space=\"preserve\">";
+ res += readFile(
+ configuration_.getProperty("webbaseDir")
+ + "resources/testDaten.txt")+
+ "</XMLContent>";
+
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+
+ return res;
+ }
+
+ private String createResponse(String testNumber, String signatureCheckCode, String hashData) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" +
+ " <XMLContent xml:space=\"preserve\">"+
+ hashData +
+ "</XMLContent>\n";
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+
+ return res;
+ }
+
+
+ private String createResponseWithoutHashInputData(String testNumber, String signatureCheckCode) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n"
+ + " <SignatureCheck>\n" +
+ " <Code>" + signatureCheckCode + "</Code>\n" +
+ " </SignatureCheck>\n" +
+ " <CertificateCheck>\n" +
+ " <Code>0</Code>\n" +
+ " </CertificateCheck>\n" +
+ "</VerifyXMLSignatureResponse>";
+
+ return res;
+ }
+/* private String createResponseXMLDsigCheck(String testNumber, String xmlDSIGManifestCheckCode) throws Exception {
+
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" + " <XMLContent>";
+ res += readFile(
+ configuration_.getProperty("webbaseDir")
+ + "resources/testDaten.txt");
+
+ res += vxBean.getFooterXMLDSIGManifestCheck(xmlDSIGManifestCheckCode,"0");
+
+ return res;
+ }*/
+
+ private String createResponsePart(String x509cert) throws Exception {
+
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + x509cert
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ /*res += " <HashInputData>\n" + " <XMLContent>";
+ res += readFile(
+ configuration_.getProperty("webbaseDir")
+ + "resources/testDaten.txt");
+ */
+ //res += vxBean.getFooterXMLDSIGManifestCheck(xmlDSIGManifestCheckCode,"0");
+
+ return res;
+ }
+
+ public String readFileCR(String filename) throws Exception {
+
+ /*StringBuffer data = new StringBuffer();
+ String line = null;
+ BufferedReader br = new BufferedReader(new FileReader(filename));
+ while ((line = br.readLine()) != null) {
+ data.append(line);
+ data.append("\n");
+ }
+ */
+ String response="";
+ byte[] result;
+
+ if (filename.substring(0,4).toLowerCase().equals("http"))
+ {
+
+ URL targetUrl = new URL(filename);
+ HttpURLConnection h = (HttpURLConnection)targetUrl.openConnection();
+ InputStream is = h.getInputStream();
+
+ int size = 0;
+
+ result = new byte[h.getContentLength()];
+ for (int i = 0; i < result.length; i++) {
+ byte[] b = new byte[1];
+ is.read(b);
+ result[i]=b[0];
+ }
+ is.close();
+ }
+ else
+ {
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+
+ result = new byte[(int) raf.length()];
+ raf.read(result);
+ raf.close();
+
+ }
+
+ byte[] temp = new byte[result.length];
+ int s = 0;
+ for (int t=0; t<result.length; t++)
+ {
+ temp[s] = result[t];
+ s++;
+ if (temp[s-1]==10)
+ {
+ if (temp[s-2]==13)
+ {
+ temp[s-2]=10;
+ s--;
+ }
+ }
+ }
+ byte[] res = new byte[s];
+ result = null;
+
+ System.arraycopy(temp,0,res,0,s);
+
+
+ response = new String(res);
+
+ try {
+ response = replaceString(response,"<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
+ }
+ catch (Exception e) {}
+
+ return response;
+ }
+
+private InputStream getHttpInputStream(String url) throws Exception
+ {
+
+ return ((HttpURLConnection)new URL(url).openConnection()).getInputStream();
+ }
+
+
+
+}
diff --git a/spss.test/src/testgenerator/TestGeneratorVXErrors.java b/spss.test/src/testgenerator/TestGeneratorVXErrors.java
new file mode 100644
index 000000000..3c9db0dad
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorVXErrors.java
@@ -0,0 +1,1775 @@
+package testgenerator;
+import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.algorithms.TransformImplBase64Decode;
+import iaik.ixsil.algorithms.TransformImplXSLT;
+import iaik.ixsil.util.URI;
+import iaik.utils.Base64OutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.RandomAccessFile;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.ArrayList;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+/**
+ * @author stephan
+ */
+public class TestGeneratorVXErrors extends TestCases {
+
+ private static final int canAlgCanXML = 1;
+ private static final int canAlgCanXMLwithCom = 2;
+ private static final int canAlgExcXML = 3;
+ private static final int canAlgExcXMLwithCom = 4;
+ private static VXResponseBean vxBean = null;
+ private static String etsiPropertyName = "ETSIProperties";
+ private static URI etsiURI;
+
+
+ public static void main(String[] args) throws Exception {
+
+ etsiURI = new URI("http://uri.etsi.org/01903/v1.1.1#SignedProperties");
+
+ vxBean = new VXResponseBean();
+
+ TestGeneratorVXErrors testcase = new TestGeneratorVXErrors();
+ testcase.createVXConfig();
+
+
+ //testcase.create051();
+ testcase.create052();
+ testcase.create053();
+ testcase.create054();
+ testcase.create055();
+
+ testcase.create151();
+ //testcase.create152();
+ testcase.create153();
+ testcase.create154();
+//N.A.: testcase.create155();
+
+ testcase.create251();
+ //testcase.create252();
+ //testcase.create252_2();
+ testcase.create253();
+ //testcase.create254();
+ //testcase.create255();
+ //testcase.create256();
+
+ testcase.create351();
+ testcase.create352();
+ //testcase.create353();
+ testcase.create354();
+ //testcase.create355();
+ testcase.create356();
+ testcase.create357();
+ //testcase.create358();
+ testcase.create359();
+ testcase.create360();
+ testcase.create360_2();
+ //testcase.create361();
+ testcase.create362();
+ testcase.create363();
+ testcase.create364();
+ testcase.create365();
+ testcase.create366();
+ testcase.create367();
+ //testcase.create368();
+ testcase.create369();
+ testcase.create370();
+
+
+ }
+
+ /* ==================================================================================================== */
+
+ public TestGeneratorVXErrors() throws Exception {
+
+ super();
+
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorVX");
+
+ // configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
+ // configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
+ // configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
+
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ /* ==================================================================================================== */
+
+ public void create051() throws Exception {
+ String testNumber = "051";
+ //Create a Request with number 051, Time in the future (+24 hours)
+ // and with the Date and ReturnHashInputDate Elements present
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,24),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"0000");
+
+ }
+ /**
+ * Method create052.
+ * @throws Exception
+ */
+ public void create052() throws Exception {
+ String testNumber = "052";
+ //Create a Request with number 052, with current Time (+0 hours)
+ // and with the Date and ReturnHashInputDate Elements present
+
+ // BUT there is in invalid Element to crash validation against XMLDsig
+ // </dsig:SignedInfo> is replaces by </dsig:NoValidDSigSignedInfo>
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request =
+ replaceString(
+ request,
+ "<dsig:SignedInfo>",
+ "<dsig:NoValidDSigSignedInfo>");
+ request =
+ replaceString(
+ request,
+ "</dsig:SignedInfo>",
+ "</dsig:NoValidDSigSignedInfo>");
+
+ writeFile(vxReqFile(testNumber), request);
+ writeFile(vxResErrFile(testNumber),"1100");
+ }
+
+ /**
+ * Method create053.
+ * @throws Exception
+ */
+ public void create053() throws Exception {
+ String testNumber = "053";
+ //Create a Request with number 053, with current Time (+0 hours)
+ // and with the Date and ReturnHashInputDate Elements present
+
+ // BUT with an invalid XPath expression
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request =
+ replaceString(
+ request,
+ "<VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>",
+ "<VerifySignatureLocation>//invalid XPath Expression</VerifySignatureLocation>");
+
+ writeFile(vxReqFile(testNumber), request);
+ writeFile(vxResErrFile(testNumber),"2212");
+ }
+ /**
+ * Method create054.
+ * @throws Exception
+ */
+ public void create054() throws Exception {
+ String testNumber = "054";
+
+ //Create a Request with number 053, with current Time (+0 hours)
+ // and with the Date and ReturnHashInputDate Elements present
+
+ // BUT with an valid XPath expression not referencing a valid element
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request =
+ replaceString(request, "//dsig:Signature", "//dsig:NoValidElement");
+ writeFile(vxReqFile(testNumber), request);
+ writeFile(vxResErrFile(testNumber),"2212");
+ }
+ public void create055() throws Exception {
+
+ String testNumber = "055";
+
+ //Create a Request with number 001, the current Time (+0 hours)
+ // and with the Date and ReturnHashInputDate Elements present
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request =
+ replaceString(request,
+ "TrustProfile1", "InvalidProfile");
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2203");
+
+
+ // writeFile(vxResFile(testNumber), createResponse(testNumber,"0"));
+ }
+ public void create151() throws Exception {
+
+ String testNumber = "151";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+
+ String requestEnd = createSignatureInfoEnd()+
+ createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber + " an URI referenced in dsig:Signature does not resolve and no SupplementProfile is available",true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ request = replaceString(request, configuration_.getProperty("webbaseDir")+"resources/testDaten.txt","http://no.uritoresolve.com" );
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2264");
+
+ }
+ public void create152() throws Exception {
+
+ String testNumber = "152";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addMetaInfo("text/plain","http://www.buergerkarte.at");
+ supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testDaten.txt"));
+ supp.closeSupplement();
+ //supp.addProfileID("Some ID");
+
+ String requestEnd = createSignatureInfoEnd()+
+ supp.getSupplement() + createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber + "- MimeType",true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ request = replaceString(request, "text/plain","no valid MIME-Type" );
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"1100");
+ }
+
+ public void create153() throws Exception {
+
+ String testNumber = "153";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ String requestEnd =
+ createSignatureInfoEnd()+
+ "<SupplementProfileID>NO VALID SUPPLEMENT PROFILE ID</SupplementProfileID>" +
+ createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber + " - invalid SupplementProfileID",true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2267");
+ }
+
+ public void create154() throws Exception {
+
+ String testNumber = "154";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addMetaInfo("text/plain","http://www.buergerkarte.at");
+ supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",
+ readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testDaten.txt"));
+ supp.closeSupplement();
+ //supp.addProfileID("Some ID");
+
+ String requestEnd = createSignatureInfoEnd()+
+ supp.getSupplement() + createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+ request = replaceString(request,"<Base64Content>","<Base64Content>AAAAAAAAAAAAAAAAAA");
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"1100");
+ }
+
+public void create155() throws Exception {
+ String testNumber = "155";
+/* CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+
+ Supplement supp = new Supplement();
+ supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt", readFileCR(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt"));
+ supp.closeSupplement();
+
+ String requestEnd =
+ createSignatureInfoEnd()+
+ supp.getSupplement()+
+ createRequestShortEnd(false);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber+" - Supplement/Content/XMLContent does not match to the signature",true,0),
+ cpkcs.returnSig(),
+ requestEnd);
+*/
+// request = replaceString(request,"<XMLContent>","<XMLContent><OPEN_ELEMENT>");
+
+ writeFile(vxReqFile(testNumber),"N.A.");
+ writeFile(vxResErrFile(testNumber),"0000");
+ }
+
+
+
+public void create251() throws Exception
+ { String testNumber = "251";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+
+ smcp.addTransformsProfileID("InvalidTransformsProfile");
+
+ String request =
+ makeOutputFile(
+ createRequestStart("251 - VerifyTransformsInfoID: invalidID",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2268");
+ }
+
+
+ public void create252() throws Exception
+ { String testNumber = "252";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ //Reference 1
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ //ets.addDataObjectFormat("#reference-2");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "')/*/*)"),etsiURI);
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ SignatureManifestCheckParams smcp2 = new SignatureManifestCheckParams(null);
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp2.addDisgTransform(tr[trNr].toElement(smcp2.getDoc()));
+ smcp2.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp2.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ String signManiDoc = replaceString(smcp.returnDoc(),"</SignatureManifestCheckParams>","") +
+ replaceString(smcp2.returnDoc(),"<SignatureManifestCheckParams>","");
+
+ String request =
+ makeOutputFile(
+ createRequestStart("252 number of ReferenceInfo is different from number of dsig:Reference in the signature",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + signManiDoc
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2271");
+ }
+
+public void create252_2() throws Exception
+ { String testNumber = "252_2";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ //Reference 1
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-2");
+
+
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ ets.addDataObjectFormat("#reference-2");
+ cpkcs.createEnvelopedDataObject(
+ etsiPropertyName,ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "')/*/*)"),etsiURI);
+ cpkcs.setKeyInformation();
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("252_2 number of References id bigger then number of ReferenceInfos",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2271");
+ }
+
+public void create253() throws Exception
+ { String testNumber = "253";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("253 mismatching dsig:Transform/@Algorithm and dsig:Transform content",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ request = replaceString(request,
+ "http://www.w3.org/TR/1999/REC-xslt-19991116","MismatchingTransformAlgorithm");
+ request = replaceString(request,
+ "http://www.w3.org/TR/1999/REC-xslt-19991116","http://www.w3.org/TR/1999/REC-xpath-19991116");
+ request = replaceString(request,"MismatchingTransformAlgorithm",
+ "http://www.w3.org/TR/1999/REC-xslt-19991116");
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2202");
+ }
+public void create254() throws Exception
+ { String testNumber = "254";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName, ets.getQualProp());
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"), etsiURI);
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+ smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
+ smcp.addTransParaElement("Hash",getBase64Hash(configuration_.getProperty("webbaseDir")+"resources/" + filename));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("254 - TransformParameter/@URI resolves but Hash does not match - which hashing algorithm?",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ request = replaceString(request,"<Hash><dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><dsig:DigestValue>",
+ "<Hash><dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><dsig:DigestValue>abcd");
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2205");
+ }
+
+public void create255() throws Exception
+ { String testNumber = "255";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+ for (int trNr=0; trNr < tr.length; trNr++)
+ smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
+
+ String request =
+ makeOutputFile(
+ createRequestStart("255 kein TransformParameter element obwohl in Transforms URIs referenziert werden",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2204");
+ }
+
+public void create256() throws Exception
+ { String testNumber = "256";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+ cpkcs.createReferenceWithManifest(
+ new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
+ "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
+
+ EtsiProperties ets = new EtsiProperties();
+ ets.addDataObjectFormat("#reference-1");
+ cpkcs.createEnvelopedDataObject(etsiPropertyName,
+ ets.getQualProp());
+
+ cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"),
+ etsiURI);
+
+ cpkcs.setKeyInformation();
+
+ SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
+
+ smcp.addTransformsProfileID("TransformsInfoProfile2");
+
+ String request =
+ makeOutputFile(
+ createRequestStart("256 1 VerifyTransformsInfoID ==> Passt aber nicht zur Transformation (XSLT <==> Canonisiserung)",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd() + smcp.returnDoc()
+ + createRequestShortEnd(false));
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2204");
+ }
+
+public void create351() throws Exception {
+
+ String testNumber = "351";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+ String request =
+ makeOutputFile( createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+ request = replaceString( request,
+ "http://www.w3.org/TR/2001/REC-xml-c14n-20010315",
+ "http://www.w3.org/TR/2001/unknownCanonicalzationMethod");
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+
+
+public void create352() throws Exception {
+
+ String testNumber = "352";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+ String request =
+ makeOutputFile( createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+ request = replaceString( request,
+ "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
+ "http://www.w3.org/TR/2001/unknownSignatureMethod");
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+public void create353()throws Exception {
+
+ String testNumber = "353";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,"#xpointer(id('envelopedData'))");
+ cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt"));
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request =
+ replaceString(
+ request,
+ "#xpointer(id('envelopedData'))",
+ "#xpointer(id('unknownURITarget'))");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2264");
+ }
+ public void create354() throws Exception {
+
+ String testNumber = "354";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.setKeyInformation();
+ String request =
+ makeOutputFile( createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+ request = replaceString( request,
+ "http://www.w3.org/2000/09/xmldsig#sha1",
+ "http://www.w3.org/TR/2001/unknownDigestMethod");
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+ public void create355() throws Exception {
+
+ String testNumber = "355";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt"));
+ cpkcs.setKeyInformation();
+ String request =
+ makeOutputFile( createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+ request = replaceString( request,
+ "<dsig:DigestValue>",
+ "<dsig:DigestValue>WrongData and the original:");
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"0000");
+ }
+ public void create356() throws Exception {
+
+ String testNumber = "356";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ //Erzeugen der Base64-Daten
+// String tmp = readBinaryFileAsBase64(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+
+ URI target = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txtbase64.enc");
+
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplBase64Decode();
+ InputStream s = getHttpInputStream(target.toString());
+ tr[0].setInput(s,null);
+
+ cpkcs.createReferenceWithTransforms(target,tr);
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+ request = replaceString( request,
+ "http://www.w3.org/2000/09/xmldsig#base64",
+ "http://www.w3.org/TR/2001/unknownTransformsMethod");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+ public void create357() throws Exception {
+
+ String testNumber = "357";
+
+ String filepath = configuration_.getProperty("webbaseDir")+"resources/";
+ String filename = "CX1_book.xsl";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature");
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
+ trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
+ tr[0] = trans;
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
+
+ cpkcs.setKeyInformation();
+
+
+ String request =
+ makeOutputFile(
+ createRequestStart("357 nicht zu Reference/Transforms/Transform/@Algorithm passender Inha",true,0),
+ cpkcs.returnSig(),
+ createSignatureInfoEnd()
+ + createRequestShortEnd(false));
+
+ request = replaceString(request, "http://www.w3.org/TR/1999/REC-xslt-19991116",
+ "http://www.w3.org/TR/1999/REC-xpath-19991116");
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+
+ public void create358() throws Exception {
+
+ String testNumber = "358";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ URI target = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txtBase64.enc");
+
+ // cpkcs.createEnvelopedDataObject("envelopedData",readBinaryFileAsBase64(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt"));
+
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplBase64Decode();
+ InputStream s = getHttpInputStream(target.toString());
+ tr[0].setInput(s,null);
+
+ cpkcs.createReferenceWithTransforms(target,tr);
+ //cpkcs.createReference(false, "file:/"+ configuration_.getProperty("webbaseDir")+"resources/test_wo_canonicalisation.XML");
+ //cpkcs.createReference(false, "file:/"+ configuration_.getProperty("webbaseDir")+"resources/test_w_canonicalisation.XML");
+// cpkcs.createReferenceWithManifest(new URI("file:/"+ configuration_.getProperty("webbaseDir")+"resources/test_w_canonicalisation.XML"),"canonicalizedData");
+
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,
+ "<dsig:SignatureValue>","<dsig:SignatureValue>abcd");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+
+ public void create359() throws Exception {
+
+ String testNumber = "359";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,"<dsig:KeyInfo>","");
+ request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>","");
+ request = replaceString(request,"</dsig:KeyInfo>","");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2243");
+ }
+ public void create360() throws Exception {
+
+ String testNumber = "360";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
+ "<dsig:X509Data><dsig:X509SubjectName>Some kind of Subject</dsig:X509SubjectName></dsig:X509Data>");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+
+ public void create360_2() throws Exception {
+
+ String testNumber = "360_2";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
+ "<dsig:KeyName>Some kind of string as KeyName</dsig:KeyName>");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+
+ public void create361() throws Exception {
+
+ String testNumber = "361";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
+ " <dsig:X509Data>\n"+
+ " <dsig:X509Certificate>"+
+ readFileCR(configuration_.getProperty("webbaseDir") + "resources/tests.cer.b64") +
+ "</dsig:X509Certificate>\n"+
+ " </dsig:X509Data>\n");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2243");
+ }
+
+ public void create362() throws Exception {
+
+ String testNumber = "362";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
+ " <dsig:X509Data>\n"+
+ " <dsig:X509Certificate>"+
+ readFileCR(configuration_.getProperty("webbaseDir")+"resources/testDaten.txtbase64.enc") +
+ "</dsig:X509Certificate>\n"+
+ " </dsig:X509Data>\n");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+ public void create363() throws Exception {
+
+ String testNumber = "363";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
+ " <dsig:X509Data>\n"+
+ " <dsig:X509Certificate>"+
+ "( no BASE64 data )" +
+ "</dsig:X509Certificate>\n"+
+ " </dsig:X509Data>\n");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"1100");
+ }
+
+ public void create364() throws Exception {
+
+ String testNumber = "364";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,
+ "http://www.w3.org/2000/09/xmldsig#X509Data",
+ "http://www.w3.org/2000/09/noValidRetrievalMethodType");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+ public void create365() throws Exception {
+
+ String testNumber = "365";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
+ cpkcs.setKeyInformation(false, fileURI, typeURI, null);
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request,
+ configuration_.getProperty("webbaseDir") + "resources/X509Data.xml",
+ configuration_.getProperty("webbaseDir") + "resources/test-ee2003_normal.der");
+
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+
+ public void create366() throws Exception {
+
+ String testNumber = "366";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/test-ee2003_normal.der");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+
+ //DER-encoded RAW-Zertifikat zu Binary64 konvertieren
+ // String tmp = readBinaryFileAsBase64(fileURI.getPath());
+ //dsig:Object mit den Binary64-Daten erzeugen (==> CRs weglassen!!!!!)
+ cpkcs.createEnvelopedDataObject("rawCertAsBase64",readFileCR(fileURI.toString()+"base64.enc"));
+
+ //Neue Transformation erzeugen, um die Base64-Daten zurückzuwandeln
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplBase64Decode();
+ InputStream s = getHttpInputStream(fileURI.toString()+ "base64.enc");
+ tr[0].setInput(s,null);
+
+ //Neues KeyInfo-Objekt erzeugen, wobei nicht die Zertifikate sondern
+ //nur eine RetrievalMethod angegeben wird, die auf das oben erzeugte Base64-dsig:Object verweist
+ cpkcs.setKeyInformation(true, new URI("#xpointer(id('rawCertAsBase64')/node())") , typeURI, tr);
+
+ String request = makeOutputFile( createRequestStart(testNumber,true,0), cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request, "http://www.w3.org/2000/09/xmldsig#base64",
+ "http://Invalid.URI.com");
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+ public void create367() throws Exception {
+
+ String testNumber = "367";
+
+ URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/test-ee2003_normal.der");
+ URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate");
+
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+
+ cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
+
+ //DER-encoded RAW-Zertifikat zu Binary64 konvertieren
+ // String tmp = readBinaryFileAsBase64(fileURI.getPath());
+ //dsig:Object mit den Binary64-Daten erzeugen (==> CRs weglassen!!!!!)
+ cpkcs.createEnvelopedDataObject("rawCertAsBase64",readFileCR(fileURI.toString()+"base64.enc"));
+
+ //Neue Transformation erzeugen, um die Base64-Daten zurückzuwandeln
+ Transform[] tr = new Transform[1];
+ tr[0] = new TransformImplBase64Decode();
+ InputStream s = getHttpInputStream(fileURI.toString()+ "base64.enc");
+ tr[0].setInput(s,null);
+
+ //Neues KeyInfo-Objekt erzeugen, wobei nicht die Zertifikate sondern
+ //nur eine RetrievalMethod angegeben wird, die auf das oben erzeugte Base64-dsig:Object verweist
+ cpkcs.setKeyInformation(true, new URI("#xpointer(id('rawCertAsBase64')/node())") , typeURI, tr);
+
+ String request = makeOutputFile( createRequestStart(testNumber,true,0), cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request, "http://www.w3.org/2000/09/xmldsig#rawX509Certificate",
+ "http://www.w3.org/2000/09/xmldsig#X509Data");
+ writeFile(vxReqFile(testNumber),request);
+
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+
+ public void create368() throws Exception {
+ String testNumber = "368";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request, "http://www.w3.org/2000/09/xmldsig#Manifest",
+ "http://No.valid_manifest_URI.com");
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2240");
+ }
+
+ public void create369() throws Exception {
+ String testNumber = "369";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ request = replaceString(request, "#xpointer(id('manifestObject'))",
+ "#xpointer(id('NoValidManifestObject'))");
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2262");
+ }
+ public void create370() throws Exception {
+ String testNumber = "370";
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init();
+ cpkcs.setCanoncialization(canAlgCanXML);
+ URI fileURI1 = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
+ cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
+ cpkcs.setKeyInformation();
+
+ String request =
+ makeOutputFile(
+ createRequestStart(testNumber,true,0),
+ cpkcs.returnSig(),
+ createRequestEnd(true,false,null));
+
+ //Hier wird der DigestAlg vom Reference-Objekt im SignedInfo verändert
+ request = replaceString(request,
+ "http://www.w3.org/2000/09/xmldsig#sha1",
+ "noValidDigestAlg");
+ //Hier wird der DigestAlg vom Reference-Objekt im Manifset verändert
+ request = replaceString(request,
+ "http://www.w3.org/2000/09/xmldsig#sha1",
+ "noValidDigestAlg");
+ //Hier wird der DigestAlg vom Reference-Objekt im SignedInfo zurück geändert
+ request = replaceString(request,
+ "noValidDigestAlg",
+ "http://www.w3.org/2000/09/xmldsig#sha1");
+
+
+ writeFile(vxReqFile(testNumber),request);
+ writeFile(vxResErrFile(testNumber),"2262"); }
+
+
+ /**
+ * Method makeOutputFile.
+ * @param start
+ * @param signatureDoc
+ * @param end
+ * @return String
+ * @throws Exception
+ */
+ public String makeOutputFile(
+ String start,
+ Document signatureDoc,
+ String end)
+ throws Exception {
+ ArrayList foundNodes = new ArrayList();
+ findNode(
+ signatureDoc.getDocumentElement(),
+ "dsig:Signature",
+ foundNodes);
+
+ Node outputNode = null;
+
+ if (foundNodes.size() > 0) {
+ outputNode = (Node) foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg = start + erg + end;
+
+ return erg;
+ }
+
+ /**
+ * Method createRequestStart.
+ * @param testNumber
+ * @param useDate
+ * @param changeHours
+ * @return String
+ */
+ private String createRequestStart(String testNumber, boolean useDate, int changeHours)
+ {String reqStart = null;
+ System.out.println("======================================================");
+ System.out.println("================== TEST-NUMBER "+ testNumber + " ===================");
+ System.out.println("======================================================");
+
+ reqStart =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ + "<!-- Testnumber: "
+ + testNumber
+ + "-->\n"
+ + "<VerifyXMLSignatureRequest\n"
+ + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
+ + " xmlns:xml=\"http://www.w3.org/XML/1998/namespace\""
+ + " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n";
+
+ if (useDate) {
+ reqStart += " <DateTime>"
+ + getDate(changeHours)
+ + "</DateTime>\n";
+ }
+
+ reqStart += " <VerifySignatureInfo>\n"
+ + " <VerifySignatureEnvironment>\n"
+ + " <XMLContent xml:space=\"preserve\">" ;
+ return reqStart;
+ }
+
+ /**
+ * Method getTransformsResult:the input transforms array will
+ * be calculated to return a string-representation of the result
+ * @param tr
+ * @return String
+ * @throws Exception
+ */
+ private String getTransformsResult(Transform[] tr) throws Exception
+ {
+ Transform[] myTransforms = tr;
+ String result = "";
+ for (int t=0; t<tr.length-1; t++)
+ {
+ myTransforms[t+1].setInput((InputStream)myTransforms[t].transform(),null);
+ }
+
+ ByteArrayInputStream is = (ByteArrayInputStream)myTransforms[tr.length-1].transform();
+
+
+ byte[] b = new byte[1];
+ is.read(b);
+ while (is.available() > 0)
+ {
+ result += new String(b);
+ is.read(b);
+ }
+ result += new String(b);
+
+ return result;
+ }
+
+
+ /**
+ * Method createRequestEnd.
+ * @param useReturnHashInputData
+ * @param useSupplement
+ * @param supplementReference
+ * @return String
+ * @throws Exception
+ */
+ private String createRequestEnd(
+ boolean useReturnHashInputData,
+ boolean useSupplement,
+ String supplementReference)
+ throws Exception {
+
+ String reqEnd = null;
+
+/* reqEnd =
+ "</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>#xpointer(/VerifyXMLSignatureRequest/VerifySignatureInfo/VerifySignatureEnvironment/dsig:Signature)</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+*/
+ reqEnd ="</XMLContent>"+
+ "</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+
+
+
+ if (useSupplement)
+ {
+ reqEnd += " <Supplement>\n" +
+ " <Content Reference=\"file:/" + supplementReference.toString() + "\">\n" +
+ " <XMLContent>"+readFileCR(supplementReference.toString())+"</XMLContent>\n" +
+ " </Content>\n" +
+ " </Supplement>\n";
+ }
+
+ if (useReturnHashInputData) {
+ reqEnd += " <ReturnHashInputData/>\n";
+ }
+ reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
+ + "</VerifyXMLSignatureRequest>\n";
+ return reqEnd;
+
+ }
+
+ private String createSignatureInfoEnd()
+ throws Exception {
+
+ return "</XMLContent>"+"</VerifySignatureEnvironment>\n"
+ + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
+ + " </VerifySignatureInfo>\n";
+
+ }
+
+ private String createRequestShortEnd(boolean useReturnHashInputData)
+ throws Exception {
+
+ String reqEnd = "";
+
+ if (useReturnHashInputData)
+ reqEnd = " <ReturnHashInputData/>\n";
+
+ reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
+ + "</VerifyXMLSignatureRequest>\n";
+ return reqEnd;
+
+ }
+ /**
+ * Method createResponse.
+ * @param testNumber
+ * @param signatureCheckCode
+ * @return String
+ * @throws Exception
+ */
+ private String createResponse(String testNumber, String signatureCheckCode) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" + " <XMLContent xml:space=\"preserve\">";
+ res += readFileCR(
+ configuration_.getProperty("webbaseDir")
+ + "resources/testDaten.txt")+
+ "</XMLContent>";
+
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+
+ return res;
+ }
+
+ private String createResponse(String testNumber, String signatureCheckCode, String hashData) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" +
+ " <XMLContent xml:space=\"preserve\">"+
+ hashData +
+ "</XMLContent>\n";
+ res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
+
+ return res;
+ }
+
+
+ private String createResponseWithoutHashInputData(String testNumber, String signatureCheckCode) throws Exception {
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n"
+ + " <SignatureCheck>\n" +
+ " <Code>" + signatureCheckCode + "</Code>\n" +
+ " </SignatureCheck>\n" +
+ " <CertificateCheck>\n" +
+ " <Code>0</Code>\n" +
+ " </CertificateCheck>\n" +
+ "</VerifyXMLSignatureResponse>";
+
+ return res;
+ }
+/* private String createResponseXMLDsigCheck(String testNumber, String xmlDSIGManifestCheckCode) throws Exception {
+
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ res += " <HashInputData>\n" + " <XMLContent>";
+ res += readFile(
+ configuration_.getProperty("webbaseDir")
+ + "resources/testDaten.txt");
+
+ res += vxBean.getFooterXMLDSIGManifestCheck(xmlDSIGManifestCheckCode,"0");
+
+ return res;
+ }*/
+
+ private String createResponsePart() throws Exception {
+
+ //
+ vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
+
+ String res = null;
+
+ res = vxBean.getHeader();
+ res += vxBean.getSubjectDN();
+ res += " <dsig:X509IssuerSerial>\n";
+ res += vxBean.getIssuerDN();
+ res += vxBean.getSerialNumber();
+ res += " </dsig:X509IssuerSerial>\n"
+ + " </dsig:X509Data>\n"
+ + " </SignerInfo>\n";
+ return res;
+ }
+
+ public String readFileCR(String filename) throws Exception {
+
+ /*StringBuffer data = new StringBuffer();
+ String line = null;
+ BufferedReader br = new BufferedReader(new FileReader(filename));
+ while ((line = br.readLine()) != null) {
+ data.append(line);
+ data.append("\n");
+ }
+ */
+ String response="";
+ byte[] result;
+
+ if (filename.substring(0,4).toLowerCase().equals("http"))
+ {
+
+ URL targetUrl = new URL(filename);
+ HttpURLConnection h = (HttpURLConnection)targetUrl.openConnection();
+ InputStream is = h.getInputStream();
+
+ int size = 0;
+
+ result = new byte[h.getContentLength()];
+ for (int i = 0; i < result.length; i++) {
+ byte[] b = new byte[1];
+ is.read(b);
+ result[i]=b[0];
+ }
+ is.close();
+ }
+ else
+ {
+ RandomAccessFile raf = new RandomAccessFile(filename, "r");
+ if (raf.length() > Integer.MAX_VALUE)
+ throw new IOException("file too big to fit in byte array.");
+
+ result = new byte[(int) raf.length()];
+ raf.read(result);
+ raf.close();
+
+ }
+
+ byte[] temp = new byte[result.length];
+ int s = 0;
+ for (int t=0; t<result.length; t++)
+ {
+ temp[s] = result[t];
+ s++;
+ if (temp[s-1]==10)
+ {
+ if (temp[s-2]==13)
+ {
+ temp[s-2]=10;
+ s--;
+ }
+ }
+ }
+ byte[] res = new byte[s];
+ result = null;
+
+ System.arraycopy(temp,0,res,0,s);
+
+
+ response = new String(res);
+
+ try {
+ response = replaceString(response,"<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
+ }
+ catch (Exception e) {}
+
+ return response;
+ }
+
+private InputStream getHttpInputStream(String url) throws Exception
+ {
+ URL targetUrl = new URL(url);
+ HttpURLConnection h = (HttpURLConnection)targetUrl.openConnection();
+ return h.getInputStream();
+ }
+
+public String vxResErrFile(String testNumber)
+ {
+ return configuration_.getProperty("baseDir") +
+ "/data/VX0/"+
+ configuration_.getProperty("TestClass") +
+ "." +
+ testNumber +
+ ".ErrRes.xml";
+ }
+private String getBase64Hash(String filename) throws Exception
+ {
+ DigestAlgorithmImplSHA1 dig = new DigestAlgorithmImplSHA1();
+ InputStream s = getHttpInputStream(filename);
+
+ dig.setInput(s);
+
+ InputStream erg = dig.digest();
+ String result = "";
+
+ byte[] b = new byte[1];
+ erg.read(b);
+ while (erg.available() > 0)
+ {
+ result += new String(b);
+ erg.read(b);
+ }
+ result += new String(b);
+
+ ByteArrayOutputStream fos = new ByteArrayOutputStream();
+ Base64OutputStream base64os = new Base64OutputStream(fos);
+ base64os.write(result.getBytes());
+ base64os.flush();
+
+ return fos.toString();
+ }
+}
diff --git a/spss.test/src/testgenerator/TestPKCS12.java b/spss.test/src/testgenerator/TestPKCS12.java
new file mode 100644
index 000000000..97aa8acd0
--- /dev/null
+++ b/spss.test/src/testgenerator/TestPKCS12.java
@@ -0,0 +1,107 @@
+
+package testgenerator;
+import iaik.pkcs.pkcs12.CertificateBag;
+import iaik.pkcs.pkcs12.KeyBag;
+import iaik.pkcs.pkcs12.PKCS12;
+import iaik.security.ecc.ecdsa.ECPrivateKey;
+import iaik.security.ecc.ecdsa.ECPublicKey;
+import iaik.security.ecc.math.ecgroup.ECPoint;
+
+import java.io.FileInputStream;
+
+
+/**
+ * @author stephan
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestPKCS12 {
+
+/*
+ public static void main(String[] args) throws Exception {
+
+// String file = "C:/Daten/MOAPhase2/additionalFiles/keys/TestUser.p12";
+// String password = "testuser";
+// String file = "C:\\Certs\\grill(1234).p12";
+// String password = "1234";
+
+ // SL eCard Demo P12 Files
+ String file = "C:\\Daten\\MOAPhase2\\Keys\\sl2002mmdd.ecard.sicher(ego).p12";
+ String password = "ego";
+// String file = "C:\\Daten\\MOAPhase2\\Keys\\sl2002mmdd.ecard.normal(ego).p12";
+// String password = "ego";
+
+ // SL Personalausweis Demo P12 Files
+// String file = "C:\\Daten\\MOAPhase2\\Keys\\sicher-demo(buergerkarte).p12";
+// String password = "buergerkarte";
+// String file = "C:\\Daten\\MOAPhase2\\Keys\\normal().p12";
+// String password = "";
+
+ IAIK.addAsJDK14Provider();
+
+ FileInputStream pkcs12FIS = new FileInputStream(file);
+ PKCS12 pkcs12 = new PKCS12(pkcs12FIS);
+ if (!pkcs12.verify(password.toCharArray()))
+ {
+ System.out.println("could not PKCS12.verify file " + file + " with password " + password);
+ } else
+ {
+ System.out.println("could PKCS12.verify file " + file + " with password " + password);
+ }
+
+ pkcs12.decrypt(password.toCharArray());
+ System.out.println("could PKCS12.decrypt file " + file + " with password " + password);
+
+ KeyBag[] keyBags = pkcs12.getKeyBags();
+ System.out.println("PKCS12.getKeyBags(): " + keyBags.length + " KeyBags found");
+
+ RSAPrivateKey privKey = (RSAPrivateKey) keyBags[0].getPrivateKey();
+ System.out.println("getFriendlyName(): " + keyBags[0].getFriendlyName() );
+
+ X509Certificate[] certBag = CertificateBag.getCertificates(pkcs12.getCertificateBags());
+ System.out.println("PKCS12.getCertificates(): " + certBag.length + " certificates found");
+
+ System.out.println("certBag[0]: " + certBag[0]);
+
+ }
+*/
+
+ public static void main(String[] args) throws Exception {
+ // von Wolfgang Bauer
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+
+ final String FILENAME = "sl2002mmdd.ecard.sicher.p12";
+ final char[] PASSWORD = "ego".toCharArray();
+// public final static String FILENAME = "sl2002mmdd.ecard.sicher.p12";
+// public final static char[] PASSWORD = "ego".toCharArray();
+
+ System.out.println("Checking");
+ FileInputStream fis = new FileInputStream(FILENAME);
+ PKCS12 p12 = new PKCS12(fis);
+ p12.decrypt(PASSWORD);
+ CertificateBag[] cb = p12.getCertificateBags();
+
+ KeyBag kb = p12.getKeyBag();
+ ECPrivateKey pk = (ECPrivateKey) kb.getPrivateKey();
+
+ ECPoint p = pk.getParameter().getG();
+ p.multiply(pk.getS());
+
+ ECPoint p2 = ((ECPublicKey)cb[0].getCertificate().getPublicKey()).getW();
+ if (p.equals(p2) ) {
+ System.out.println("Check OK");
+ } else {
+ System.out.println("Nix wars");
+ }
+ cb[0].getCertificate().verify();
+
+ }
+
+
+
+}
+
diff --git a/spss.test/src/testgenerator/VXResponseBean.java b/spss.test/src/testgenerator/VXResponseBean.java
new file mode 100644
index 000000000..bbdf02bbc
--- /dev/null
+++ b/spss.test/src/testgenerator/VXResponseBean.java
@@ -0,0 +1,180 @@
+
+package testgenerator;
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+import iaik.asn1.structures.Name;
+import iaik.x509.X509Certificate;
+
+/**
+ * @author KNIRSCHS
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class VXResponseBean {
+
+ private X509Certificate cert = null;
+
+ /**
+ * Constructor for VXResponseBean.
+ */
+ public String getHeader() {
+
+ String result =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "<VerifyXMLSignatureResponse xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" >\n" +
+ " <SignerInfo>\n" +
+ " <dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n";
+
+ return result;
+ }
+
+ public void init(String Filename) throws Exception {
+ if (cert == null) {
+ InputStream cfile = getHttpInputStream(Filename);
+ cert = new iaik.x509.X509Certificate(cfile);
+ }
+ }
+ public String getCert() throws Exception {
+ return " <dsig:X509Certificate>"
+ + (cert)
+ + "</dsig:X509Certificate>\n";
+
+ }
+
+
+ public String getSubjectDN() throws Exception {
+ return " <dsig:X509SubjectName>"
+ + ((Name) cert.getSubjectDN()).getRFC2253String()
+ + "</dsig:X509SubjectName>\n";
+ }
+ public String getIssuerDN() throws Exception {
+
+ return " <dsig:X509IssuerName>" +
+ ((Name)cert.getIssuerDN()).getRFC2253String() +
+ "</dsig:X509IssuerName>\n";
+ }
+
+ public String getSerialNumber() throws Exception {
+
+ return " <dsig:X509SerialNumber>" +
+ cert.getSerialNumber() +
+ "</dsig:X509SerialNumber>\n";
+ }
+
+ public String getFooterSignatureCheck(String signatureCheckCode, String certificateCheckCode)
+ {
+ String res = null;
+ res = " </HashInputData>\n" +
+ " <SignatureCheck>\n" +
+ " <Code>" + signatureCheckCode + "</Code>\n" +
+ " </SignatureCheck>\n" +
+ " <CertificateCheck>\n" +
+ " <Code>"+certificateCheckCode+"</Code>\n" +
+ " </CertificateCheck>\n" +
+ "</VerifyXMLSignatureResponse>";
+
+ return res;
+
+ }
+ public String getFooterXMLDSIGManifestCheck(String xmlDSIGManifestCheckCode , String certificateCheckCode)
+ {
+ String res = null;
+/* res = "</XMLContent>\n" +
+ " </HashInputData>\n" +
+ " <XMLDSIGManifestCheck>\n" +
+ " <Code>" + xmlDSIGManifestCheckCode + "</Code>\n" +
+ " </XMLDSIGManifestCheck>\n" +
+ " <CertificateCheck>\n" +
+ " <Code>"+certificateCheckCode+"</Code>\n" +
+ " </CertificateCheck>\n" +
+ "</VerifyXMLSignatureResponse>";
+*/
+ res = " <XMLDSIGManifestCheck>\n" +
+ " <Code>" + xmlDSIGManifestCheckCode + "</Code>\n" +
+ " </XMLDSIGManifestCheck>\n" +
+ " <CertificateCheck>\n" +
+ " <Code>"+certificateCheckCode+"</Code>\n" +
+ " </CertificateCheck>\n" +
+ "</VerifyXMLSignatureResponse>";
+
+ return res;
+
+ }
+public String createXMLDSIGManifestCheck(String xmlDSIGManifestCheckCode, String failedReference, String referringSigRefData)
+ {
+
+ if(failedReference != null && !failedReference.trim().equals(""))
+ {
+ String res = null;
+ res = " <XMLDSIGManifestCheck>\n" +
+ " <Code>" + xmlDSIGManifestCheckCode + "</Code>\n" +
+ " <Info><FailedReference>" + failedReference +
+ "</FailedReference><ReferringSigReference>" + referringSigRefData + "</ReferringSigReference>" +
+ " </Info>\n" +
+ " </XMLDSIGManifestCheck>\n";
+
+ return res;
+ }
+ else
+ {
+ String res = null;
+ res = " <XMLDSIGManifestCheck>\n" +
+ " <Code>" + xmlDSIGManifestCheckCode + "</Code>\n" +
+ " <Info>" + failedReference +
+ " <ReferringSigReference>" + referringSigRefData + "</ReferringSigReference>" +
+ " </Info>\n" +
+ " </XMLDSIGManifestCheck>\n";
+
+ return res;
+ }
+
+ }
+
+public String createSignatureCheck(String signatureCheckCode)
+ {
+ String res = null;
+ res = " <SignatureCheck>\n" +
+ " <Code>" + signatureCheckCode + "</Code>\n" +
+ " </SignatureCheck>\n";
+ return res;
+
+ }
+public String createSignatureManifestCheck(String signatureCheckCode)
+ {
+ String res = null;
+ res = " <SignatureManifestCheck>\n" +
+ " <Code>" + signatureCheckCode + "</Code>\n" +
+ " </SignatureManifestCheck>\n";
+ return res;
+
+ }
+
+public String createSignatureManifestCheck(String signatureCheckCode,String info)
+ {
+ String res = null;
+ res = " <SignatureManifestCheck>\n" +
+ " <Code>" + signatureCheckCode + "</Code>\n" + info +
+ " </SignatureManifestCheck>\n";
+ return res;
+
+ }
+public String createCertificateCheck(String certificateCheckCode)
+ {
+ String res = null;
+ res = " <CertificateCheck>\n" +
+ " <Code>"+certificateCheckCode+"</Code>\n" +
+ " </CertificateCheck>\n";
+ return res;
+ }
+private InputStream getHttpInputStream(String url) throws Exception
+ {
+
+ return ((HttpURLConnection)new URL(url).openConnection()).getInputStream();
+ }
+
+}