Authorization with NMOS testing utility #887
-
|
Hey! I'm working on NMOS node program, using Erlang. I have used Cowboy/Ranch libraries for HTTP/HTTPS API server. Now, I'm using testing utility in docker. And I have enabled Authorization and HTTPS. In my server program I have created and installed self-signed certificate and made changes in docker container to trust CA for this certificate. As result, curl utility from this docker image connects to my server using HTTPS protocol without complaints. However, NMOS testing utility drops the handshake after receiving server certiicate. I found this file: test_data/BCP00301/README.md and trying to make sense out of information.
I have attempted to use provided certificates as server-side certificates and was rejected again. Both chain and not-chain certificates were rejected. Some details:
So, now I'm in need of some help in understanding what is wrong in my environment and how do I configure my API server to work with Authorization. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 3 replies
-
|
Hi @akanashin
No, but you will need to configure the nmso-testing correctly, see explanation below:
For BCP-003-01 Secure Communication, it will test against both RSA and ECDSA certificates. For all other test suites, with the RSA will be good enough. If you have generated your own certificate using the same domain as nmos-testing, Step 1: Create your own copy of Config.py, name it UserConfig.py, and place it in the same folder as Config.py (I assume you have already done so). Step 2: update the UserConfig.py with the following fields set: Step 3: More fields are required if you are using your own domain for your certificates. See Config.json for descriptions |
Beta Was this translation helpful? Give feedback.
-
|
I would advise getting the TLS (HTTPS) working first before tackling Authorization. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks! Now I made HTTPS work, thanks for points given! Btw, there's no Config.json file anywhere I look. Can You point to its location? Now, You've said "testing utility works with domain testsuite.nmos.tv". I run testing utility in docker with cmd line --network=host. My laptop does not have any domains configured. hostname -A returns "ThinkPad". What domain the utility sees? |
Beta Was this translation helpful? Give feedback.
-
|
Can I get help with another issue?
This happens although communication with the main Auth server in the utility works perfectly fine. So the question: does secondary Auth server use different TLS configuration than the main one? I use the same HTTP(s) client with the same configuration for both or them. Thanks |
Beta Was this translation helpful? Give feedback.
The config is Config.py, not Config.json and is found in the
nmostestingdirectory.As Simon says above, the best practice is to create a file called
UserConfig.pyand set user defined configuration in that file. An example user config can be found in thenmostestingdirectory calledUserConfig.example.py.You may need to update the hosts file of your laptop to map the names to actual IPs.