Countersign Method
Countersigns the existing signature.
Syntax
int Countersign(int iLevel, bool bSerialSignature);
Remarks
Use this method to countersign a signature. Use the Level parameter to provide the desired CAdES level (see below).
SerialSignature specifies whether the new countersignature should be added on the same level of hierarchy as the original signature (signature-over-data, True), or as a true countersignature (signature-over-signature, False).
CAdES defines a number of different 'levels' of signatures. Supported signature levels:
cslUnknown | 0 | Unknown signature level |
cslBES | 1 | BES (Basic Electronic Signature) |
cslEPES | 2 | EPES (Electronic Signature with an Explicit Policy) |
cslT | 3 | T (Timestamped) |
cslC | 4 | C (T with revocation references) |
cslXType1 | 5 | X Type 1 (C with an ES-C timestamp) |
cslXType2 | 6 | X Type 2 (C with a CertsAndCRLs timestamp) |
cslXLType1 | 7 | XL Type 1 (C with revocation values and an ES-C timestamp) |
cslXLType2 | 8 | XL Type 2 (C with revocation values and a CertsAndCRLs timestamp) |
cslBaselineB | 9 | Baseline B (B-B, basic) |
cslBaselineT | 10 | Baseline T (B-T, timestamped) |
cslBaselineLT | 11 | Baseline LT (B-LT, long-term) |
cslBaselineLTA | 12 | Baseline LTA (B-LTA, long-term with archived timestamp) |
cslExtendedBES | 13 | Extended BES |
cslExtendedEPES | 14 | Extended EPES |
cslExtendedT | 15 | Extended T |
cslExtendedC | 16 | Extended C |
cslExtendedXType1 | 17 | Extended X Type 1 |
cslExtendedXType2 | 18 | Extended X Type 2 |
cslExtendedXLType1 | 19 | Extended XL Type 1 |
cslExtendedXLType2 | 20 | Extended XL Type 2 |
cslExtendedA | 21 | Extended A |
cslA | 22 | A (archived) |
Error Handling
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)