Skip to content

Commit 489816c

Browse files
committed
v3.11.0 and 3.10.3 rel notes updated, documentation updates, CSharp readme translated to English
1 parent a7a7f5a commit 489816c

File tree

4 files changed

+94
-28
lines changed

4 files changed

+94
-28
lines changed

README.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,13 @@
3636
6. Execute
3737

3838
/usr/local/bin/digidoc-tool
39-
39+
4040
### OSX
4141

4242
1. Install dependencies from
43-
* [XCode](https://itunes.apple.com/en/app/xcode/id497799835?mt=12)
44-
* [http://www.cmake.org](http://www.cmake.org)
43+
* [XCode](https://itunes.apple.com/en/app/xcode/id497799835?mt=12)
44+
* [http://www.cmake.org](http://www.cmake.org)
45+
4546
2. Fetch the source
4647

4748
git clone --recursive https://github.com/open-eid/libdigidocpp
@@ -72,13 +73,15 @@
7273
### Windows
7374

7475
1. Install dependencies from
75-
* [Visual Studio Express 2013 for Windows Desktop](http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx)
76+
* [Visual Studio Express 2013 for Windows Desktop](http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx)
7677
* [http://www.cmake.org](http://www.cmake.org)
7778
* [Xerces-c](http://mirror.cogentco.com/pub/apache//xerces/c/3/sources/xerces-c-3.1.1.zip)
7879
* [Xerces-c MSVC2012 Project files](https://issues.apache.org/jira/secure/attachment/12548623/xerces_vc11proj.zip)
7980
* [XML-Security-C](http://www.apache.org/dyn/closer.cgi?path=/santuario/c-library/xml-security-c-1.7.2.tar.gz)
8081
* [OpenSSL Win32 binaries](https://slproweb.com/products/Win32OpenSSL.html) or [OpenSSL source](https://www.openssl.org/source/)
8182
* [ZLib source](http://zlib.net/zlib128.zip)
83+
* [swigwin-3.0.5.zip](http://swig.org/download.html) - Optional, for C# bindings
84+
8285
2. Fetch the source
8386

8487
git clone --recursive https://github.com/open-eid/libdigidocpp
@@ -90,6 +93,14 @@
9093
cd build
9194
cmake ..
9295

96+
Optional CMake parameters:
97+
98+
-DSWIG_EXECUTABLE=C:/swigwin-3.0.5/swig.exe
99+
100+
After running the cmake build, digidoc_csharp.dll along with the C# source files will be created, more info at
101+
[README.md](https://github.com/open-eid/libdigidocpp/blob/master/examples/DigiDocCSharp/README.md).
102+
103+
93104
4. Build
94105

95106
make

RELEASE-NOTES.txt

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,32 @@
11
Libdigidocpp library 3.11.0 release notes
22
--------------------------------------
33
Changes compared to ver 3.10.3
4-
- Improve EC signature size calculation
5-
- Improve HTTP traffic usage by using gzip Content-Encoding
6-
- TimeStampArchive support
7-
- Option to specify signature digest other than standard digest
8-
- Resolve relative PKCS11 config parameter to library path, instead current working directory
94

5+
- Improved ECDSA signature size calculation
6+
- Optimized HTTP download speed (e.g. when updating TSL lists) by compressing the traffic (using gzip Content-Encoding)
7+
- Added support for validating BDOC 2.1 time-stamp signatures with archive time-stamps
8+
- Added option to specify different digest algorithm for the signature value than the default algorithm used in case of other digest values in the signature.
9+
- Added API methods Signer::setMethod(), Signer::method(), XmlConfV4::signatureDigestUri()
10+
- Added configuration parameters signer.digestUri and signer.signatureDigestUri
11+
- Added parameter -sigsha(1,224,256,384,512) to digidoc-tool utility program
12+
- Improved OCSPserver access certificate usage, relative pkcs12.cert configuration parameter value is now resolved to the library's installation path, instead of current working directory
13+
- Added option to download TSL-s over proxy in case of HTTPS connections
14+
- Added API methods XmlConfV4::proxyForceSSL(), XmlConfV4::proxyTunnelSSL()
15+
- Added configuration file parameters forceSSL and tunnelSSL
16+
- Fixed OCSP certificate verification, the verification is now done based on the OCSP poducedAt field's time.
17+
18+
List of known issues: https://github.com/open-eid/libdigidocpp/wiki/Known-issues
1019

1120

1221
Libdigidocpp library 3.10.3 release notes
1322
--------------------------------------
1423
Changes compared to ver 3.10.0
24+
1525
- Updated experimental .NET C# wrapper swig configuration file to recent API
1626
- Included C# wrapper files in Windows installer package
17-
- Filter out CA certificates in PKCS11Signer implementation to support Finland id-card signing in digidoc-tool
18-
- On signature validation at least one DataFile should be signed
19-
- Disable OCSP time slot check local computer time against OCSP server time
27+
- Filter out CA certificates in PKCS11Signer implementation to support Finland ID-card signing in digidoc-tool
28+
- Improved signature validation, it is now checked that at least one data file is signed
29+
- Disabled OCSP time slot check when requesting OCSP confirmation, the local computer time difference compared to OCSP server time is not checked.
2030

2131

2232

examples/DigiDocCSharp/README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
## C-SHARP
2-
Kasutab [http://swig.org/](http://swig.org/) vahendeid bindingu genereerimise jaoks.
2+
Uses [http://swig.org/](http://swig.org/) tools for generating bindings.
33

4-
Alla tuleb laadida [swigwin-3.0.5.zip](http://swig.org/download.html)
4+
## Setting up the sample C# application
55

6-
Teegi ehitamise juhise leiab [https://github.com/open-eid/libdigidocpp/blob/master/README.md](README.md) kus tuleb lisaks määrata cmake build parameeter
6+
For compiling and running the DigiDocCSharp sample C# project, do as follows:
77

8-
-DSWIG_EXECUTABLE=C:/swigwin-3.0.5/swig.exe'
8+
1. Install the "Eesti_ID_kaart-CPP-teek-arendajale" (Estonian ID-card Libdigidocpp library for developers) package, version 3.10.3-beta or higher. The installation packages are available from https://github.com/open-eid/libdigidocpp/releases
9+
2. Open the C# sample project from source\examples\DigiDocCSharp folder located in the installation directory
10+
3. Add the C# source files files from include\digidocpp_csharp folder to the digidoc folder of the opened project (in Solution Explorer view, right click on the digidoc folder, choose Add->Existing item)
11+
4. Build the solution, DigiDocCSharp.exe executable is created
12+
4. Libdigidocpp library's binaries (in the x64 or x86 folder of the "Eesti_ID_kaart-CPP-teek-arendajale" package's installation directory) need to be accessible for running the DigiDocCSharp executable. You can either copy the DigiDocCSharp.exe to the x64 or x86 folder, depending on the platform or set the working directory of the project accordingly or add the binaries' folder to PATH variable.
13+
5. Run the DigiDocCSharp.exe sample program with the commands described in the next section
914

10-
Millega ehitatakse digidoc_csharp.dll ja PInvoke jaoks failid swig/csharp kataloogi, mis tuleb importida C# projekti.
11-
12-
Binaarsel kujul olev dll on sadaval
13-
[https://github.com/open-eid/libdigidocpp/releases/tag/v3.10.3-beta](installi pakis)
15+
## Commands of the sample application Program.cs
16+
* DigiDocCSharp.exe -version
17+
* DigiDocCSharp.exe -help
18+
* DigiDocCSharp.exe -verify test.bdoc
19+
* DigiDocCSharp.exe -sign text.txt test.bdoc
20+
* DigiDocCSharp.exe -extract=0 test.bdoc
1421

1522
## API
1623
* [digidoc.initialize()](http://open-eid.github.io/libdigidocpp/namespacedigidoc.html#ada31d19121d7a6d98b04267f3ed8cc8f)
1724
* [Container](http://open-eid.github.io/libdigidocpp/classdigidoc_1_1Container.html)
1825
* [DataFile](http://open-eid.github.io/libdigidocpp/classdigidoc_1_1DataFile.html)
1926
* [Signature](http://open-eid.github.io/libdigidocpp/classdigidoc_1_1Signature.html)
2027
* [digidoc.terminate()](http://open-eid.github.io/libdigidocpp/namespacedigidoc.html#a121f0363627f62f3972ac4b445986598)
21-
22-
## Näidisrakenduse Program.cs käsud
23-
* DigiDocCSharp.exe -version
24-
* DigiDocCSharp.exe -help
25-
* DigiDocCSharp.exe -verify test.bdoc
26-
* DigiDocCSharp.exe -sign text.txt test.bdoc
27-
* DigiDocCSharp.exe -extract=0 test.bdoc

src/index.dox

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,9 @@ The information is provided with a special OCSP confirmation (also referred to a
240240
</td></tr><tr><td>
241241
time-stamp </td><td>Mechanism used for adding certificate validity and signing time information with the signature. The certificate validity information is added to the signature with an OCSP confirmation; the signing time information is added with a time-stamp token retrieved form a time-stamping service. In this case, signature creation time is the issuance time (genTime value in the time-stamp) of the time-stamp token. The respective signature profile is TS profile (supported only in case of BDOC 2.1 document format).
242242
</td></tr>
243+
tr><td>
244+
archive time-stamp </td><td>Mechanism used for providing long term validity of a XAdES signature. The signature and validation data values are time-stamped. The respective signature profile is TSA profile (supported only in case of BDOC 2.1 document format).
245+
</td></tr>
243246
<tr><td>
244247
TSA </td><td>Time-Stamping Authority. Time-stamping service provider.
245248
</td></tr>
@@ -289,6 +292,8 @@ The following table gives overview of functional features that are supported wit
289292
<td>Signature profiles are based on the profiles defined by XAdES (\ref XAdES "XAdES").
290293
- time-stamp (TS) - signature profile in case of which the certificate validity information is added to the signature with an OCSP confirmation; the signing time information is added with a time-stamp token (see also \ref RFC6960 "RFC6960") retrieved from a time-stamping service. In this case, signature creation time is regarded as the issuance time of the time-stamp token (genTime value in the time-stamp). The profile is supported only in case of BDOC 2.1 document format, the “SignatureTimeStamp” element is added to the signature (see also \ref BDOC "BDOC2.1:2013"). Supported since v3.9 of the library.
291294
- time-mark (TM) - certificate validity and signing time information is added to the signature with a time-mark - a special OCSP confirmation in case of which the hash value of the binary value of the signature (along with hash algorithm identifier in case of BDOC 2.1 document format) must be present in the “nonce” field of the OCSP confirmation. In this case, signature creation time is regarded as the issuance time of the OCSP confirmation (producedAt value in the confirmation), additional time-stamp token is not required.
295+
- archive time-stamp (LTA) - the signature and all the accompanying validation data is time-stamped in order to provide long term validity. The profile is supported only in case of BDOC 2.1 document format, the "ArchiveTimeStamp" element is added to the time-stamp or time-mark signature (see also \ref BDOC "BDOC2.1:2013").
296+
In Libdigidocpp, validation of BDOC 2.1 time-stamp signatures with archive time-stamps is supported since v3.11 of the library.
292297
</td>
293298
</tr>
294299
<tr><td>Trust anchors</td>
@@ -667,8 +672,35 @@ By default, the trusted certificates' information is obtained from European Comm
667672
<td>proxy.pass</td>
668673
<td>Specifies the proxy password.</td>
669674
</tr>
675+
<tr>
676+
<td>proxy.forceSSL</td>
677+
<td>May be used to enable downloading TSL-s over proxy in case of HTTPS connections. </td>
678+
</tr>
679+
<tr>
680+
<td>proxy.tunnelSSL</td>
681+
<td>May be used to enable downloading TSL-s over proxy in case of HTTPS connections. </td>
682+
</tr>
683+
</table>
684+
685+
686+
\subsubsection digest-settings Digest type settings
687+
<table>
688+
<tr>
689+
<th>Parameter name</th>
690+
<th>Comments</th>
691+
</tr>
692+
<tr>
693+
<td>signer.signatureDigestUri</td>
694+
<td>Specifies the digest algorithm that is used when calculating the hash that is being signed, supported only with BDOC 2.1 format. By default, the SHA-256 algorithm (with URI http://www.w3.org/2001/04/xmlenc#sha256) is used (except of SHA-224 in case of older generation of Estonian ID-cards)</td>
695+
</tr>
696+
<tr>
697+
<td>signer.digestUri</td>
698+
<td>Specifies the digest algorithm that is used for calculating all the hash values in the signature, supported only with BDOC 2.1 format. By default, the SHA-256 algorithm is used</td>
699+
</tr>
670700
</table>
671701

702+
703+
672704
\subsubsection ocspsigning-settings Settings for signing OCSP requests
673705
Whether you need to sign the OCSP requests sent to your OCSP responder or not depends on your responder. Some OCSP servers require that the OCSP request is signed. To sign the OCSP request, you need to obtain and specify the PKCS#12 token, which will be used for signing.
674706

@@ -768,6 +800,11 @@ xsi:noNamespaceSchemaLocation="schema/conf.xsd">
768800
<ocsp issuer="TEST of ESTEID-SK 2011">http://www.openxades.org/cgi-bin/ocsp.cgi</ocsp>
769801
<ocsp issuer="TEST of KLASS3-SK 2010">http://www.openxades.org/cgi-bin/ocsp.cgi</ocsp>
770802

803+
<!--Digest algorithm settings-->
804+
<!--<param name="signer.digestUri" lock="false">http://www.w3.org/2001/04/xmlenc#sha256</param>-->
805+
<!--<param name="signer.signatureDigestUri" lock="false">http://www.w3.org/2001/04/xmlenc#sha256</param>-->
806+
807+
771808
</configuration>
772809
\endcode
773810

@@ -872,6 +909,10 @@ Signature production place and signer role are optional signed meta-data about t
872909
signer->setSignerRoles(roles); // role(s) of the signer
873910
\endcode
874911

912+
\paragraph API-signature-hash Optionally specify signature digest method
913+
By default, the hash that is being signed is calculated with SHA-256 algorithm in case of BDOC documents and SHA-1 algorithm in case of DDOC documents.
914+
In case of BDOC format, you can also use a different digest algorithm for calculating the hash that is signed (this does not affect calculating other hash values). For that, use the digidoc::Signer::setMethod(const std::string &method) method.
915+
875916

876917
\paragraph API-sign-create Specify the signature profile and create the signature
877918
The supported signature profiles are (see also \ref Supported, under "Signature profiles"):
@@ -1462,7 +1503,11 @@ Signer’s role(s). The option can occur multiple times.
14621503
--sha(1,224,
14631504
256,384,512) </td><td>Optional
14641505

1465-
Used for testing purposes. Specifies the hash function that is used for calculating digest values. If not specified then SHA-256 is used by default.
1506+
Used for testing purposes. Specifies the hash function that is used when calculating digest values, supported only in case of BDOC documents. If not specified then SHA-256 is used by default.
1507+
</td></tr><tr><td>
1508+
--sigsha(1,224,256,384,512) </td><td>Optional
1509+
1510+
Used for testing purposes. Specifies the hash function that is used for calculating the hash that is being signed, supported only in case of BDOC format. If not specified then SHA-256 is used by default.
14661511
</td></tr>
14671512
</table>
14681513

0 commit comments

Comments
 (0)