UsernameCn<\/code>)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\nGenerate or Import a Certificate Authority<\/h3>\n\n\n\n A Certificate Authority (CA) is required for passwordless Radius Authentication. The radius_ca_cert.pem<\/code> file is to be uploaded to JumpCloud to serve as the Certificate Authority for subsequently generated user certificates. This CA can be imported or generated.The entire certificate generation process is managed through a PowerShell menu based script. To run the main program, open a PowerShell 7 terminal session and run: Start-RadiusDeployment.ps1<\/code>, which will present the following menu: <\/p>\n\n\n\nTo generate a self-signed certificate, use the first option in the menu.<\/p>\n\n\n\n
\nThe resulting file, radius_ca_cert.pem<\/code>, will live in the projectDirectory\/Radius\/Cert directory<\/code>.\n\nA password will be required to protect the CA from unauthorized access. During the session this password will be stored as an environment variable as it is also required to generate user certificates.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\nTo import your own CA, the certificate and key files can be copied to the projectDirectory\/Radius\/Cert directory<\/code>. <\/p>\n\n\n\n <\/p><\/div>
Note:<\/strong> \nPlease ensure the certificate and key name ends with key.pem<\/code> and cert.pem<\/code> (ex. radius_ca_cert.pem<\/code> or radius_ca_key.pem<\/code>)<\/p>\n <\/div><\/div><\/div><\/div>\n\n\n\nIn order to import a certificate from a .pfx file, the certificate and key needs to be extracted from .pfx file.<\/p>\n\n\n\n
\nExtract the private key: openssl pkcs12 -in certfile.pfx -nocerts -out \/projectDirectory\/Radius\/Cert\/radius_ca_key.pem<\/code>\n\nReplace certfile.pfx<\/code> to the file path of your .pfx file. Make sure the radius_ca_key.pem<\/code> is saved or moved to \/projectDirectory\/Radius\/Cert\/<\/code> directory<\/li>\n\n\n\nThis command will prompt for the .pfx password. <\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n <\/p><\/div>
Warning:<\/strong> \nPlease DO NOT FORGET the password as you will need it when generating user certificates.<\/p>\n <\/div><\/div><\/div><\/div>\n\n\n\n
\nExtract the certificate: openssl pkcs12 -in certfile.pfx -nokeys -out \/projectDirectory\/Radius\/Cert\/radius_ca_cert.pem<\/code>\n\nReplace certfile.pfx<\/code> to the file path of your .pfx file. Make sure the radius_ca_cert.pem<\/code> is saved or moved to \/projectDirectory\/Radius\/Cert\/ directory<\/code>.<\/li>\n\n\n\nAgain, this command will prompt for the .pfx password.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n <\/p><\/div>
Note:<\/strong> \nA password will be required to protect the CA from unauthorized access. During the session this password will be stored as an environment variable as it is also required to generate user certificates.<\/p>\n <\/div><\/div><\/div><\/div>\n\n\n\n
After successful import or generation of a self-signed CA, the serial number and expiration date will be displayed on the main menu: <\/p>\n\n\n\n
Generate User Certificates<\/strong><\/h3>\n\n\n\nAfter the CA has been generated or imported, individual user certificates can be generated.<\/p>\n\n\n\n
\nThe ID of the user group stored as the variable: $JCUSERGROUP<\/code> is used to store JumpCloud users destined for passwordless Radius access.<\/li>\n\n\n\nFor each user in the group, a .pfx<\/code> certificate will be generated in the \/projectDirectory\/Radius\/UserCerts\/ directory<\/code>. <\/li>\n\n\n\nThe user certificates are stored locally and monitored for expiration.<\/li>\n\n\n\n If local user certificates are set to expire within 15 days, a notification is displayed on the main menu.<\/li>\n\n\n\n User certificates can be manually removed from the <\/kbd>\/projectDirectory\/Radius\/UserCerts\/<\/code> <\/kbd>directory at any time, and regenerated using option 2 from the main menu. User certificates can be continuously re-applied to devices using option 3 to distribute user certificates.<\/li>\n<\/ul>\n\n\n\nDistribute User Certificates<\/h3>\n\n\n\n Option 3 in the main menu will enable admins to distribute user certificates to end user devices. <\/p>\n\n\n\n
\nCommands will be generated in your JumpCloud Tenant for each user in the Radius User Group and their corresponding system associations. <\/li>\n\n\n\n This script will prompt you to kick off the generated commands. If the commands are invoked, they should be queued for all users in the Radius User Group.\n\nThese commands are queued with a TTL timeout of 10 days \u2014 meaning that if the end user device is offline when the command is queued, the command will sit in the JumpCLoud console for 10 days and wait for the device to come online before attempting to run.<\/li>\n<\/ul>\n<\/li>\n\n\n\n On the device, certificates are replaced if a command is sent to a device with a newer certificate.<\/li>\n<\/ul>\n\n\n\nEXAMPLE <\/p>\n\n\n\n
In this example, users Bob and Ali were connected to a radius network with their individual certificates. Newly generated certificates are issued to Bob and Ali via generated JumpCloud Commands. Bob’s new user certificate with serial number XYZ1<\/kbd> would be installed and the older certificate with serial number ABC1<\/kbd> would be removed from the device. Ali’s user certificate with serial number HIJ2<\/kbd> would be installed and the older certificate with serial number EFG1<\/kbd> would be removed from the device. Replacement of user certificates can occur while a device is actively connected to the radius network protected by passwordless certificate based authentication due to the fact that authentication is session based. If Bob authenticated to the radius network with cert serial number ABC1<\/kbd> the network session between Bob and the radius network is instantiated. During that session, the certificate ABC1<\/kbd> can be replaced with certificate XYZ2<\/kbd> from Bob’s computer without network interruption. Upon next authentication, the system should default to using the new certificate. The generated JumpCloud commands for Bob will only remove certificate ABC1<\/kbd> if XYZ2<\/kbd> is installed successfully.<\/p>\n\n\n\nMonitor Certificate Deployment Status<\/h3>\n\n\n\n After certificates have been distributed, you can view overall progress of the deployment through option 4 on the main menu.<\/p>\n\n\n\n
\nThis automation will query the deployment status of each generated command and display a table of the command status.\n\nIf a command is no longer queued (either through cancellation or the TTL timeout of 10 days exceeded) or if the command failed (either through some standard error or end user not being logged in (exit code 4)) these commands can be reissued using the menu options.<\/li>\n<\/ul>\n<\/li>\n\n\n\n After issuing commands to devices, the list of commands issued to devices can be viewed.<\/li>\n\n\n\n Individual failed commands can be explored with option 2 from the certificate deployment menu. <\/li>\n<\/ul>\n\n\n\n\nOption 3 can be used to retry a failed command.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"Overview This article covers how to use the PowerShell Automation scripts to generate and deploy certificates for use with passwordless […]<\/p>\n","protected":false},"author":204,"featured_media":0,"template":"","meta":{"_acf_changed":false,"_oasis_is_in_workflow":0,"_oasis_original":0,"_oasis_task_priority":"","inline_featured_image":false,"footnotes":""},"support_category":[2845,2897],"support_tag":[],"coauthors":[2838],"acf":[],"yoast_head":"\n
Configure EAP-TLS for RADIUS using Certificate Example Scripts - JumpCloud<\/title>\n \n \n \n \n \n \n \n \n \n \n \n \n \n\t \n\t \n\t \n