背景
最近研究Nifi ,使用nifi 的 证书生成工具 。发现以前一样的命令确无法生成证书。
命令大概如下:
bin/tls-toolkit.sh standalone -n 'xiaa52' -C 'CN=admin2,OU=GZZN2' -O -T jks
折腾过程:
-
对该命令各种修改在linux 下无果,其中不报错但就是不见对应的文件夹(装有keystore和trustore的)。
-
对该命令在windows 下执行,报无法创建命令 ??
-
在vscode 和 notepad++ 打开显示空白字符未发现任何问题。 显示为空格。()
总结
回顾最后找到的问题,是命令中包含了UTF8下的控制字符或者空白符(二进制下)。
其实以上多处已经提示可能是有错误字符,只是未有往这个方向想。
- linux 下 细心 使用 ls -la 一直在看是否有隐藏文件夹。但是确忽略了有一个文件夹是空白名字的问题 。如下: 两个文件夹有个看起来没有名字的。
- 回想windows下无法创建文件夹?? 证明是控制字符或者Utf8下的空白符。原因因为nifi 有单元测试有不兼容windows路径的问题。所以一直以为该工具在windows下有bug 的问题。
- vscode 和 notepad++ 一直在utf8 编码格式下查看当然没有看出控制字符。换ansi 即windows下我们的电脑gbk 查看里面会发现控制字符处变了乱码而不是正常的空格。如果正常空格在utf8编码和gbk编码下是一直的应该不会有乱码。
断断续续耗了我快1天时间头大,突然想起这些字符的引入是在浏览器使用了翻译整个网页然后从Nifi官方网站拷贝导致的
千万小心直接拷贝网页上的问题,切记切记