Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

X.509 Client Certificate Authentication Issue

Former Member
0 Kudos

Hi All,<br><br>

I'm trying to set up authentication via X.509 browser certificate but I seem to be missing something because I keep getting the message "Logon not possible; none of the active logon procedures is possible" in my browser. I:<br>

- installed CryptoLib<br>

- enabled SSL<br>

- set several profile params<br>

- created a client certificate via sapgenpse and imported that into my SSL server PSE as well as into trusted certificates of IE8<br>

- created a user mapping in VUSREXTID with type DN and ID: CN=xxx, OU=yy, O=zzz, C=DE that matches my client certificate<br><br>

<table>

<tr><th>

This is taken from log file dev_w0

</th></tr>

<tr><td>

H HTTPS> ab_HttpRequestHandler: create new session (role=2, action=1, handle=0, protocol=2)<br>

H HTTP> Allocated server record (6DA8EB90)<br>

H HTTP> EmMemoryMan HTTPSR(allocation 400 bytes)<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H HTTP> EmMemoryMan HTTPCO(allocation 23808 bytes)<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H HTTPS> <Me> Accept [handle = 1]<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H HTTPS> [1] GetInfo<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H Host: IP address... <br>

H Local host: BPSAP_BP6<br>

H Service: 8443 (certificate available: 0)<br>

H HTTPS> [1] ab_HttpAnalyzeRequestLine<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H Method: 1<br>

H Version: 1001 (HTTP/1.1)<br>

H chunked body = FALSE<br>

H Server name: bpsap_bp6.server.com<br>

H port number: 8443<br>

H URI: /sap/bc/webdynpro/b/e_cust<br>

H user agent: 2, version: 800 (MOZILLA=1, MSIE=2, SAPWEBAP=3, OPERA=4, MOZILLA_NEW=6)<br>

H Handler: 1<br>

H HTTPS> [1] ab_HttpAnalyzeRequestLine: ThPlgInfo<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H HTTPS> [1] ab_HttpAnalyzeRequestLine: certificate available: 0)<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H HTTPS> [1] UnGetInputBuffer Reset (ptr: 6DA93040)<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H HTTPS> [1] ab_HttpAnalyzeRequestLine Close message: 0 (UnGetInputBuffer: 0)<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H HTTPS> [1] HttpInitVirtServer Virtual host: 0 (protocol: 1)<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H HTTP> System_Call_Http: e<br>

H {43B1FADE-02C9-F151-9C8B-000C29E1DC8D}<br>

H ThExtDebuggingPossible: 0 (N)<br>

H UserChecked: N<br>

H CallerIP: IP address...<br>

H Action: 1<br>

H Protocol: 2<br>

H Statistic: 0<br>

H Trace: 1<br>

H ContextID: SID:ANON:BPSAP_BP6_BP6_0...-ATT<br>

H InstanceID: BPSAP_BP6_BP6_00<br>

H KernelVersion: 1<br>

H ABAPVersion: 1<br>

H CPoolingActive: 0 (context type: 0)<br>

H AcceptSSO2: 1<br>

H VirtualServer: 0<br>

H CertificateAvailable: 0<br>

H AcceptRemoteTraceLevel: 0<br>

H AcceptRemoteProfileLevel: 0<br>

H AcceptRemoteRecorderLevel: 0<br>

H SharedMemoryCacheOff: 0 (0)<br>

</td></tr></table><br>

I'd really appreciate any sort of help.<br>

Cheers,

Sebastian

8 REPLIES 8

Former Member
0 Kudos

Hi,

Increase the ICM trace level and check this trace file from Tx SMICM.

This the place where you will get useful information to debug your problem.

By the way, If you had told us which system/relase you were using, we would not have to guess that you use an ABAP stack.

Regards,

Olivier

Former Member
0 Kudos

Hi Olivier,

thanks for your reply and for reminding me about the system spec. I'm using an ERP ECC 6.0.

I configured what you suggested. The only thing that I've noticed in the ICM log is

[Thr 3728] *** WARNING => HttpPlugInInit: Parameter icm/HTTPS/trust_client_with_issuer or icm/HTTPS/trust_client_with_subject no

X.509 cert data will be removed from header [http_plg.c 670]

Not sure what to do with that though.

Cheers,

Sebastian

0 Kudos

Hi Sebastian,

It seems that you have a reverse proxy (Web dispatcher ?) in front of your ECC6 ICM and because you have not set the parameter icm/HTTPS/trust_client_with_issuer , the certificate is removed from the header.

No certificate = no authentication !

Regards,

Olivier

0 Kudos

Hi Olivier,

the system admin confirmed to me that there's no Web Dispatcher in place which makes me believe that the above message is somehow not related to my issue. I ran several additional test with different settings suggested in SDN or SAP Help but none of the log files really reveal any useful information.

You suggested to up the trace level and view the ICM log. If I knew what I should expect to see, maybe that would take me a step further.

Cheers,

Sebastian

0 Kudos

Have you tried the procedure described in [SAP Note 495911|https://service.sap.com/sap/support/notes/495911] using the security audit log (SM19)? Increase the login trace level (SM50) to find the error codes, the causes are described in SAP Note 320991.

Cheers,

Julius

0 Kudos

Hi Sebastian,

Did you check the value of the parameter icm/HTTPS/trust_client_with_issuer for your ICM ?

The problem is obviously that your client certificate is removed from the header.

You have now to understand why !

Are you really sure that you don't call the URL through a reverse proxy or a forward proxy ?

In corporate networks, there is usually a forward proxy defined in the browsers configuration for internet access.

Check if there is an exclusion list for the internal network.

Do you call the URL on the ICM hostname with the HTTP port displayed from transaction SMICM ?

Try to use also an HTTP trace utility from your browser. (I use httpwatch).

Regards,

Olivier

WolfgangJanzen
Product and Topic Expert
Product and Topic Expert
0 Kudos

Another (common) reason: the "SSL Server" PSE does not contain the CA (certification authority) which has issued the client certificate; it does not occur in the trust anchor list ("Certificate list" / "private address book"). In that case the SSL client will not send his client certificate (during the SSL handshake) to the server.

-> check with STRUST

>H HTTPS> [1] ab_HttpAnalyzeRequestLine: certificate available: 0)

This indicates: there is no client certificate

Edited by: Wolfgang Janzen on Jan 26, 2010 2:35 PM

WolfgangJanzen
Product and Topic Expert
Product and Topic Expert
0 Kudos

created a client certificate via sapgenpse and imported that into my SSL server PSE as well as into trusted certificates of IE8

Well, in that case you only have the (public) certificate but not the corresponding private key in your browser.

However, you need the private key in order to authenticate.

If you just want to play, I propose to request a client certificate from some public CA, e.g. from [TC TrustCenter|https://www.trustcenter.de/products/tc_internet_id.htm] (kindly notice the usage policy) or [setup your system to operate as RA (Registration Authority) in order to utilize the SAP Trust Center Service solution|http://service.sap.com/form/sapnet?_SHORTKEY=01100035870000411810&_SCENARIO=01100035870000000202&] or simply use your [SAP Passport (used to logon to the SAP Service Marketplace)|http://service.sap.com/form/sapnet?_SHORTKEY=01100035870000266783&_SCENARIO=01100035870000000202&]. In all those cases, you have to import the correponding [CA root certificate|http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000282729&_SCENARIO=01100035870000000202&] into the trust anchor list (aka "Certificate List" aka "Private Address Book") of your "SSL Server" PSE. Maybe you have to restart your ICM, afterwards (for PSE changes to take effect).

Edited by: Wolfgang Janzen on Jan 26, 2010 2:51 PM