A newer version of this document is available. Customers should click here to go to the newest version.
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. Using QSPI Factory Default Helper Image on Owned Devices 4.3. Authentication Root Key Provisioning 4.4. Programming Key Cancellation ID Fuses 4.5. Canceling Root Keys 4.6. Programming Counter Fuses 4.7. Secure Data Object Service Root Key Provisioning 4.8. Security Setting Fuse Provisioning 4.9. AES Root Key Provisioning 4.10. Converting Owner Root Key, AES Root Key Certificates, and Fuse files to Jam STAPL File Formats
- 3.3.2. Configuration Bitstream Encryption Using the Programming File Generator Command Line Interface
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. Intel® Agilex® devices support multiple root keys, so you repeat this step to create your required number of root keys. Examples in this document all refer to the first root key, though you may build signature chains in a similar fashion with any root key.
Option Description With passphrase
quartus_sign --family=agilex --operation=make_private_pem \ --curve=secp384r1 root0_private.pem Enter the passphrase when prompted to do so.
quartus_sign --family=agilex --operation=make_private_pem \ --curve=secp384r1 --no_passphrase root0_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=agilex --operation=make_public_pem \ root0_private.pem root0_public.pem
- Run the commands again to create a key pair used as the design signing key in the signature chain.
quartus_sign --family=agilex --operation=make_private_pem \ --curve=secp384r1 design0_sign_private.pem
quartus_sign --family=agilex --operation=make_public_pem \ design0_sign_private.pem design0_sign_public.pem
Did you find the information on this page useful?