Contest: Find the secret value in a Business Central app
kauffmann.nl/2020/01/23/cont…
#MSDyn365BC
5
3
16
If the secret is in the app, why not inserting the secret directly in the source code at compilation time done by a pipeline? The secret could reside in an Azure Key Vault....
1
Because secrets don't belong in code, in my opinion. This was perfectly explained by @RockClimber81 in his blog post navrockclimber.github.io/sec…
1
1
I agree and the idea is not put the secret in the code during development but at the moment you compile the app (by injecting the secret in a non debuggable procedure). It is like signing your app before publishing: you let a pipeline do that. Just an idea...
1
Seems not really different to me than having it in a navx in the app file: in both cases the key is compromised if you get the app file and you need to update the app to distribute a new key, is not it ?
1
1
Putting it in Navx file was an experiment. Next to what I wrote in my blog the big problems are what do you do if your key gets compromised? How do you update the keys and customers? I lay down a few requirements towards keys/secrets in this blog post: navrockclimber.github.io/htm…
1
1
My idea, in short, is that the secret in the navxdata file is used as a one time key. It should be exchanged for an access key that will give access to an Azure Key Vault. That's where the real secrets should be stored. The initial key was needed to prove that it is your app.
1
Not totally sure the context of this, but have you at least read the OAuth docs around this exact problem?
tools.ietf.org/html/rfc6819#…
That's the reason OAuth uses a different flow for native apps and SPAs. I'll be curious to see your blog post!
Jan 25, 2020 · 4:35 PM UTC
1
2



