Docker alpine image based dotnet application unable to connect database using TCPS with Oracle wallet

Please provide some solution to this problem.

Issue:-Actually application is webapi implemented in .net 6 using ODP.net and hosted in docker environment with alpine linux base image. before we connecting data base using TCP protocol. thats working fine.

Now changed to TCPS with oracle wallet certificate. for trial reason i tried with windows based image in docker…its working fine with TCPS…only issue with Alpine base image TCPS not working.

TCPS oracle wallet not working in linux alpine based but working in windows based docker

Error:- SSL handshake error

same working with window based docker image

Docker file
FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine3.20 AS build

I share Oracle forum topic link for anyone who needs more context

Alpine has different libraries and I read that someone had a problem with supported algorithms

The mentioned libgcc is installed in the alpine 3.20, so I’m not saying this is your issue, but could be related to how the certificate was created and what Alpine or the sdk image supports.

The Oracle forum topic which you mentioned posted by me to oracle team to get help about this issue

I’m aware of that. I shared it so if anyone wants to help you can read that topic as well since you shared information which was not shared here.

I have no idea how this is handled in dotnet, but usually this boils down to one of those things:

  • client fails to validate the chain of trust
    • the server uses a certificate signed by a ca that is not trusted by the client (=not present in the truststore, or expired)
    • the server uses an expired certificate
  • the client and server share no common cypher suits

You might want to enable the debug log level for the application/classes to get more details about why the SSL handshake error is trown.

1 Like