Adding OIDs to XCA is a straightforward process. I was able to follow the official guide at https://hohnstaedt.de/xca-doc/xca-13.html with minimal issues.
First, ensure you download XCA v2.x from the official download page https://hohnstaedt.de/xca/index.php/download. The instructions didn’t make sense at first since I was running xca v1.4.1.
Create a file named “oids.txt” in the user’s XCA directory:
- Windows: C:\Users\<username>\AppData\Roaming\xca
- macOS: ~/Library/Application Support/data/xca
- Linux: ~/.xca

Add the OID(s) to oids.txt using the format “<oid> : <short_name> : <long_name>”. In the example below, I added a (Microsoft) Remote Desktop Authentication OID (1.3.6.1.4.1.311.54.1.2):

Copy the eku.txt file from the XCA installation location to the user’s XCA directory:
- Windows: C:\Program Files\xca
- macOS: /Applications/xca.app/Contents/Resources
This can be accessed through the command line or right clicking on the xca application and selecting “Show Package Contents” - Linux: /usr/share/xca or /usr/local/share/xca
Note: The whole file eku.txt file must be copied, because xca only parses the first eku.txt it encounters.
Add a line to the user’s eku.txt referencing your new EKU:

Close and re-open XCA and your new EKU will be available:

After adding the Remote Desktop Authentication EKU, I found out it is no longer supported/recognized. The Microsoft Remote Desktop 10 app on macOS and Windows 10 both report the EKU as invalid/unknown.
