Consultor Eletrônico



Kbase P133570: .NET based Open Client application pauses for 30 to 60 seconds during startup
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   21/04/2009
Status: Verified

SYMPTOM(s):

.NET based Open Client application pauses for 30 to 60 seconds during startup

.NET Open Client application connects to "crl.verisign.com"

For 10.1A01 the crl url is http://CSC3-2004-crl.verisign.com/CSC3-2004.crl

For 10.0B03 is http://crl.verisign.com/Class3CodeSigning2001.crl

FACT(s) (Environment):

If Internet explorer is configured not to update expired certificates, the Verisign server is not connected.
Application continues normally after pausing 30 to 60 seconds
Same application on other machines works perfectly
Debugging shows that problem occurs when any Open Client class (Connection, RuntimeProperties, generated proxy, etc) are referenced for the first time
The machine where the pause is seen does not have access to the internet
Windows
OpenEdge 10.x

CAUSE:

Bug# OE00180718

CAUSE:

This is expected behavior.

The Open Client runtime files and generated proxies are digitally signed and as such the .NET runtime will automatically attempt to validate their signatures by contacting the digital signature vendor (in this case that would be Verisign).

FIX:

There are 2 ways to work around this behavior:

1. Use signcode utility from Microsoft and then use your own CA root certificate (with crl using url pointing to your intranet site, or without crl url) and re-sign the 3 dlls ("progress.o4glrt.dll", "progress.messages.dll" or "progress.ssl.dll") .

These dlls would then contain your digital certificate and outbound connection would not be attempted to check crl url.

OR

2. Modify the .NET applications .config file (i.e. MyApplication.exe.config) and turn off the default .NET runtime behavior of validating the digital signatures of signed DLL's.
If no .config file is used by the .NET application, it has to be created by adding a new "Application Configuration File" in the .NET project. When building the .NET solution, the "MyApplication.exe.config" file will be automatically created where the executable is generated (Debug or Release folder depending on which version is built).

A sample .NET configuration file which does this is shown below:


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>