我有一个base64证书文件,看起来像这样(带有有效的,格式正确的大写base64)。
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
我正在尝试在nodejs中创建代码以为我的配置生成privatePEMKey
和thumbprint
。
var config = JSON.parse(require('fs').readFileSync('./config.json'));
var cert = require('x509').parseCert('./mycert.cert');
//For thumbprint and privatePEMKey parameters, you need to specify a certificate for your app and register the public key in Azure Active Directory.
//- thumbprint is the base64url format of the thumbprint of the public key
//- privatePEMKey is the private pem key string.
config.creds.thumbprint = cert.fingerPrint.replace(/:/g,'').toString('base64');
config.creds.privatePEMKey = cert.publicKey.n;
如果我运行此命令,仍然会收到错误消息:
错误:未提供privatePEMKey。请提供 clientSecret或privatePEMKey和指纹。
我的问题是我想念什么? -如果“字符串”为大写/小写,会有所不同吗?
文档通过: https://github.com/AzureAD/passport-azure-ad#622-fill-the-test-parameters
答案 0 :(得分:0)
通常,证书文件是公钥,我怀疑上面的privatePEMKey行是问题所在。
我使用一些脚本为本地PC开发生成TLS 1.2公共/私有证书: https://github.com/gary-archer/authguidance.websample.final/tree/master/host/certs
也许可以尝试针对我的公钥和私钥文件运行您的代码,看看是否还有进一步的发展。如果是这样,那么修改我的makeCerts脚本可能会解决您的问题。