Skip to content

Conversation

@nwalters512
Copy link

The default keys used a short key length and outdated algorithm, which made them incompatible with newer LTI tools.

I also updated the instructions for generating new keys; the old instructions don't work (see #1861). I copied the call from here:

def new_key
CanvasSecurity::RSAKeyPair.new.to_jwk.to_json
end

Closes #1861.

@CLAassistant
Copy link

CLAassistant commented Jun 4, 2024

CLA assistant check
All committers have signed the CLA.

@dustin-cowles
Copy link
Contributor

@nwalters512 Thanks for your contribution! This looks good to me, if you can resolve the merge conflicts I will pull it into our CR pipeline.

Copy link
Author

@nwalters512 nwalters512 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dustin-cowles I've resolved the merge conflicts! I left a few comments to call out some questions I had.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both here and in inst-cli/docker-compose/config/dynamic_settings.yml.erb, it looked to be like the only differences between the lti-keys and services-jwt values were the kid fields of each, which had a _a/_b/_c suffix in the services-jwt section. Let me know if you'd like me to generate completely separate keys for services-jwt. I don't know enough about how these are used to make that call myself.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file doesn't have a services-jwt: section. Is that intentional?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

These instructions don't create the private key - which is needed for LTI to work.

3 participants