We are using LTI-Advanced Authentication to connect WeBWorK 2.16 with Moodle 3.11 to sincronize users successfully, but using LTI-Advanced Grading we are experiencing the problem: Your score was not successfully sent to the LMS.
If I enable the $debug_lti_parameters = 1; and $debug_lti_grade_passback = 1; variables at conf/authen_LTI.conf, the log output shows that WeBWorK "Can't connect to my_moodle_server:443 (certificate verify failed)". Here are some excerpts:
The nonce used is 70acsdfc-c08b-585f-9ce8-5c430dxcc32b__437670c0-ba21-11ec-bde0-bb24c934cabb-step2
473 The response is:
_rc 500 _request HTTP::Request=HASH(0x55892742d6c8) _content Can't connect to my_moodle_server:443 (certificate verify failed)
SSL connect attempt failed error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed at /usr/share/perl5/LWP/Protocol/http.pm line 50.
_msg Can't connect to my_moodle_server:443 (certificate verify failed) _headers HTTP::Headers=HASH(0x558927466af8) at /opt/webwork/webwork2/lib/WeBWorK/Authen/LTIAdvanced/SubmitGrade.pm line 473.
I think this is because we don't have the full chain certificate on the server, then I have tried to turn off verification of the ssl cert to surpass this, adding code to $gradeRequest and $HTTPRequest at /opt/webwork/webwork2/lib/WeBWorK/Authen/LTIAdvanced/SubmitGrade.pm, somewhat as in WebworkClient.pm, but it isn't working.
# turn off verification of the ssl cert
SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE);
# end turn off verification of the ssl cert
Could you help me, please?