Program Class

DICOM Connectivity Framework V3.4
Basic verification service class provider example which should be run with the VerificationSCU or EchoSCU for unencrypted messages. This class also supports TLS for processing encrypted messages which should be run with EchoSCU. View the --help command line option to see a summary of the TLS command line options.
Inheritance Hierarchy


Namespace:  LaurelBridge.DCFExamples.VerificationSCPExtended
Assembly:  VerificationSCPExtended (in VerificationSCPExtended.exe) Version: DCF34 r12431 DCF_3_4_38_20200923 NetFramework

public class Program

The Program type exposes the following members.


Public methodProgram
Initializes a new instance of the Program class

Public methodStatic memberMain
Main entry point for VerificationSCPExtended.

This example creates a class that extends the VerificationSCP class and overrides the CEchoRq method in order to handle C-Echo DIMSE messages.

The following command line options are specifically for enabling and configuring TLS message processing:

--tlsEnable any TLS protocol.
--tls10Enable TLS 1.0 protocol.
--tls11Enable TLS 1.1 protocol.
--tls12Enable TLS 1.2 protocol.
--tlsIgnoreMismatch(Default: false) Ignore certificate mismatch errors.
--tlsRejectSelfSigned(Default: false) Reject self-signed client certificates.
--tlsRejectMissingClient(Default: false) Reject missing client certificates.
--tlsTimeout timeoutValue(Default: 30000) TLS timeout.
--tlsAuthTimeout timeoutValue(Default: 10000) TLS authentication timeout.
--tlsCertificate path(Default: TlsServerCertificate.pfx) TLS certificate.
--tlsCertPassword password(Default: DcfTls1234) TLS certificate password.

If --tls or any combination of --tls10, --tls11, or --tls12 appear on the command line, a TLS encrypted server is started with all requested TLS protocols enabled, otherwise create an unencrypted server. VerificationSCPExtended accepts the highest level protocol from the SCU that matches any of the enabled protocols.

All bool command line options default to false. The option is enabled if it appears on the command line. Therefore, the default behavior is:

--tlsIgnoreMismatch, by default, fail association on certificate name mismatch errors. If this command line option is used, ignore certificate name mismatch errors.

--tlsRejectSelfSigned, by default, allow self-signed client certificates. If this command line option is used, reject associations if the client certificate is self signed.

--tlsRejectMissingClient, by default, allow missing client certificates. If this command line options is used, reject associations if the SCU does not send a client certificate.

Note, command line arguments can be specified in a console window, or with the launchSettings.json file, for example:

--tls --tlsRejectMissingClient
to enable TLS and require clients to send a client certificate:

See Also