Hi
I have tested PRC on Linux and Macos (Terminal). This has worked very good as expected.
Now
I' m testing it on Windows (in Command Prompt). Unfortunately, I' m
getting the error. I ' m wondering why that error only on Windows. Any
help would be appreciated.
(I use SSL Certificate signed by trusted CA.)
Below how my test looks:
1) My file for testing:
C:\Users\Rose\Downloads>type testpy.py
import os
import sys
from irods.session import iRODSSession
import ssl
ssl_context = ssl.create_default_context(
purpose=ssl.Purpose.SERVER_
AUTH, cafile=None, capath=None, cadata=None)
ssl_settings = {
"irods_authentication_scheme"
: "PAM",
"irods_client_server_
negotiation": "request_server_negotiation",
"irods_client_server_policy": "CS_NEG_REQUIRE",
"irods_encryption_key_size": 32,
"irods_encryption_salt_size": 8,
"irods_encryption_num_hash_
rounds": 16,
"irods_encryption_algorithm": "AES-256-CBC",
"ssl_context": ssl_context
}
with iRODSSession(host='XXX', port=1247, user='alice', password='alicepassword', zone='Testzone', **ssl_settings) as session:
coll = session.collections.get('/
Testzone/home/alice')
print(coll)
print(coll.path)
print(
coll.id)
print(
coll.name)
print(coll.metadata.items())
sys.exit(0)
2) To run the file:
C:\Users\Rose\Downloads>python3 testpy.py
C:\Users\Rose\Downloads>python3 testpy.py
Traceback (most recent call last):
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\session.py",
line 215, in server_version
return tuple(ast.literal_eval(reported_vsn))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program
Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.752.0_x64__qbz5n2kfra8p0\Lib\ast.py",
line 64, in literal_eval
node_or_string = parse(node_or_string.lstrip(" \t"), mode='eval')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program
Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.752.0_x64__qbz5n2kfra8p0\Lib\ast.py",
line 50, in parse
return compile(source, filename, mode, flags,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<unknown>", line 0
SyntaxError: invalid syntax
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\session.py",
line 221, in __server_version
conn = next(iter(self.pool.active))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\pool.py",
line 59, in get_connection
conn = self.idle.pop()
^^^^^^^^^^^^^^^
KeyError: 'pop from an empty set'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Rose\Downloads\testpy.py", line 23, in <module>
coll = session.collections.get('/Testzone/home/alice')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\manager\collection_manager.py",
line 21, in get
query = self.sess.query(Collection).filter(*filters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\session.py",
line 193, in query
return Query(self, *args)
^^^^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\query.py",
line 44, in __init__
if self.sess.server_version >= col.min_version:
^^^^^^^^^^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\session.py",
line 217, in server_version
return self.__server_version()
^^^^^^^^^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\session.py",
line 224, in __server_version
conn = self.pool.get_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\pool.py",
line 15, in method_
ret = method(self,*s,**kw)
^^^^^^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\pool.py",
line 75, in get_connection
conn = Connection(self, self.account)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\connection.py",
line 63, in __init__
self._server_version = self._connect()
^^^^^^^^^^^^^^^
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\connection.py",
line 289, in _connect
self.ssl_startup()
File
"C:\Users\Rose\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\irods\connection.py",
line 191, in ssl_startup
wrapped_socket = context.wrap_socket(self.socket,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program
Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.752.0_x64__qbz5n2kfra8p0\Lib\ssl.py",
line 517, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program
Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.752.0_x64__qbz5n2kfra8p0\Lib\ssl.py",
line 1075, in _create
self.do_handshake()
File "C:\Program
Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.752.0_x64__qbz5n2kfra8p0\Lib\ssl.py",
line 1346, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed
certificate in certificate chain (_ssl.c:992)
3) Error in log file:
$ cat /var/log/irods/irods.log
{"log_category":"legacy","log_facility":"local0","log_level":"error","log_message":"[-]\t/irods_source/server/core/src/rodsAgent.cpp:578:int
runIrodsAgentFactory(sockaddr_un) : status [SSL_HANDSHAKE_ERROR]
errno [] -- message [failed to call 'agent
start']\n\t[-]\t/irods_source/lib/core/src/sockComm.cpp:129:irods::error
sockAgentStart(irods::network_object_ptr) : status
[SSL_HANDSHAKE_ERROR] errno [] -- message [failed to call 'agent
start']\n\t\t[-]\t/irods_source/plugins/network/src/ssl.cpp:764:irods::error
ssl_agent_start(irods::plugin_context &) : status
[SSL_HANDSHAKE_ERROR] errno [] -- message [error calling SSL_accept |
error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown
ca]\n\n","server_host":"XXX","server_pid":634333,"server_timestamp":"2023-03-03T12:20:56.647Z","server_type":"agent"}
{"log_category":"legacy","log_facility":"local0","log_level":"error","log_message":"Agent
process [634333] exited with status
[1]","server_host":"XXX","server_pid":549602,"server_timestamp":"2023-03-03T12:20:56.651Z","server_type":"agent_factory"}