Skip to content

Doc: We need to document the issue with libcurl/ssl on Centos and RH #5492

Description

On CentOS and RedHat the tests in test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1

Invoke-WebRequest tests
  HTTPS Tests
    Verifies Invoke-WebRequest Certificate Authentication Successful with -Certificate
Invoke-RestMethod tests
  HTTPS Tests
    Verifies Invoke-RestMethod Certificate Authentication Successful with -Certificate

Fail with the message The handler does not support client authentication certificates with this combination of libcurl (7.29.0) and its SSL backend ("NSS/3.16.2.3 Basic ECC").

This is referenced by this corefx issue: https://github.com/dotnet/corefx/issues/10146 which is still open (as of Nov 17, 2017). We need to document when we release.

Activity

  1. markekraus commented on Nov 17, 2017

    @markekraus
    Contributor

    I am working on a 6.0.0 documentation refresh for the Web Cmdlets. MicrosoftDocs/PowerShell-Docs#1870 Here is what I have for the -Certificate parameter:

    -Certificate

    Specifies the client certificate that is used for a secure web request.
    Enter a variable that contains a certificate or a command or expression that gets the certificate.

    To find a certificate, use Get-PfxCertificate or use the Get-ChildItem cmdlet in the Certificate (Cert:) drive.
    If the certificate is not valid or does not have sufficient authority, the command fails.

    Note: This feature may not work on OS platforms where libcurl is configured with a TLS provider other than OpenSSL.

  2. markekraus commented on Jan 10, 2018

    @markekraus
    Contributor

    anyone finding this via google... you can make the Web Cmdlets SSL features work on CentOS 7 by compiling curl from source and using --with-ssl -with-gssapi

    yum install -y autoconf autoconf automake libtool openssl openssl-devel krb5-devel git
    git clone https://github.com/curl/curl.git
    cd curl
    ./buildconf
    ./configure --with-ssl -with-gssapi
    make && make install

    After curl is compiled and installed, you will need to run pwsh like so:

    LD_LIBRARY_PATH=/usr/local/lib pwsh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions