3.3.1. Configuration Bitstream Encryption Using the Programming File Generator Graphical Interface 3.3.2. Configuration Bitstream Encryption Using the Programming File Generator Command Line Interface 3.3.3. Partially Encrypted Configuration Bitstream Generation Using the Command Line Interface 3.3.4. Partial Reconfiguration Bitstream Encryption
4.1. Using SDM Provision Firmware 4.2. Authentication Root Key Provisioning 4.3. Using QSPI Factory Default Helper Image on Owned Devices 4.4. Programming Key Cancellation ID Fuses 4.5. Security Setting Fuse Provisioning 4.6. AES Root Key Provisioning 4.7. Converting Owner Root Key, AES Root Key Certificates, and Fuse files to Jam STAPL File Formats
2.1.1. Creating Authentication Key Pairs on the Local File System
You use the quartus_sign tool to create authentication key pairs on the local file system using the make_private_pem and make_public_pem tool operations. You first generate a private key with the make_private_pem operation. You specify the elliptic curve to use, the private key filename, and optionally whether to protect the private key with a passphrase. Intel recommends the use of the secp384r1 curve and following industry best practices to create a strong, random passphrase on all private key files. Intel also recommends restricting the file system permissions on the private key .pem files to read by owner only. You derive the public key from the private key with the make_public_pem operation. It is helpful to name the key .pem files descriptively. This document generally uses the convention <keyuse><cancelID>_<keytype>.pem in the following examples.
- In the Nios® II command shell, run the following command to create a private key. The private key, shown below, is used as the root key in later examples that create a signature chain.
Option Description With passphrase
quartus_sign --family=stratix10 --operation=make_private_pem \ --curve=secp384r1 root_private.pem Enter the passphrase when prompted to do so.
quartus_sign --family=stratix10 --operation=make_private_pem \ --curve=secp384r1 --no_passphrase root_private.pem
- Run the following command to create a public key using the private key generated in the previous step. You do not need to protect the confidentiality of a public key.
quartus_sign --family=stratix10 --operation=make_public_pem \ root_private.pem root_public.pem
- Run the commands again to create a key pair used as the design signing key in the signature chain.
quartus_sign --family=stratix10 --operation=make_private_pem \ --curve=secp384r1 design0_sign_private.pem
quartus_sign --family=stratix10 --operation=make_public_pem \ design0_sign_private.pem design0_sign_public.pem
Did you find the information on this page useful?