LadybirdBrowser / ancient-history

The Ladybird web browser
BSD 2-Clause "Simplified" License
1.62k stars 102 forks source link

certificate verification failed :( #4

Closed macxcool closed 2 years ago

macxcool commented 2 years ago

Ladybird built successfully on ArchLinux using your 'Basic workflow' build steps. It runs, too, but when I go to any SSL site, I get:

ResourceLoader: Starting load of: "https://google.ca/"
Loaded 0 CA Certificates
verify_chain: No trusted root certificate found before end of certificate chain
verify_chain: Last certificate in chain was signed by /C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
certificate verification failed :(
null secret
Possible failure cause(s):
- No one knows.
alexeightsix commented 2 years ago

I don't it built on my machine but it may be because you need to specify the port in the URL. Something like https://google.ca:443

macxcool commented 2 years ago

Nope. Does exactly the same thing.

macxcool commented 2 years ago

Here's the whole output running it with gdb. I'm not, entirely, sure what I'm looking at, but it seems like it doesn't know about root certificates. Is there something I can do to mitigate this?

(gdb) run
Starting program: /home/mark/build/ladybird/Build/ladybird
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Set favoicon path to /home/mark/build/ladybird/Build/serenity/Base/res/icons/16x16/app-browser.png
[New Thread 0x7ffff07ff640 (LWP 409812)]
Have Error: 1
Have Error: 1
Have Error: 1
Have Error: 1
Have Error: 1
[New Thread 0x7fffed04c640 (LWP 409814)]
[New Thread 0x7fffec84b640 (LWP 409815)]
ResourceLoader: Starting load of: "https://google.ca/"
Loaded 0 CA Certificates
verify_chain: No trusted root certificate found before end of certificate chain
verify_chain: Last certificate in chain was signed by /C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
certificate verification failed :(
null secret
Possible failure cause(s):
- No one knows.
ResourceLoader: Failed load of: "https://google.ca/", Error: Failed to initiate load, Duration: 205ms
ResourceLoader: Starting load of: "https://google.ca/favicon.ico"
ResourceLoader: Starting load of: "file:///home/mark/build/ladybird/Build/serenity/Base/res/html/error.html"
ladybird: /home/mark/build/ladybird/Build/serenity/Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp:219: void Web::ResourceLoader::load(Web::LoadRequest&, AK::Function<void(AK::Span<const unsigned char>, const AK::HashMap<AK::String, AK::String, AK::CaseInsensitiveStringTraits>&, AK::Optional<unsigned int>)>, AK::Function<void(const AK::String&, AK::Optional<unsigned int>)>, AK::Optional<unsigned int>, AK::Function<void()>): Assertion `m_page.has_value()' failed.

Thread 1 "ladybird" received signal SIGABRT, Aborted.
0x00007ffff3a8e36c in ?? () from /usr/lib/libc.so.6
DelilahHoare commented 2 years ago

You need to copy ./Build/serenity/Base/etc/ca_certs.ini to /etc/ca_certs.ini, which seems to be the only path it looks for this file at.

macxcool commented 2 years ago

Thanks. Now I can load pages.

nicolasdanelon commented 2 years ago

@DelilahHoare it would be nice if you add that to the readme file 😉