You only need to specify "-config [file]" if you want to use this config file instead of the default one. Maybe you manage multiple CAs with different matching policies. Then you'd make a copy of the config and add the parameter to basically each openssl command.
However, you can modify the default config as well if you like. Be sure to make a backup and edit the correct file though... Check for default config path with the following command:
openssl version -a | grep OPENSSLDIR
Your config should be exactly the same as the one used on windows to create the CA - except the paths of course.
If none of the posts in this thread solve your issue, is it possible to recreate the whole certificate tree? I mean, if it's only 1 CA and maybe 1-5 certificates, it might be easier to do it all over again than running your head against a wall to fix this issue. If it's a setup with dozens of certificates, it's better to keep trying as swapping out many certs can be a pain in the ***
Personally I migrated an OpenVPN certificate tree from windows to ubuntu without any problems. I copied the certificates via a smb share modified the windows config file to match linux paths, etc and it worked right away. Anyhow, the issue