Upload Key

Upload Key

Overview


Bring Your Own Key (BYOK) is a feature that allows you to use your own key encryption key(KEK) instead of Zoho's KEK. You can add a key either from an External Key Manager (EKM) of your choice or upload an encrypted key manually.

If you choose to upload a key, the process is as follows:

  1. In accordance with our standard practice, data will be encrypted using a DEK managed by us and stored in our KMS. The DEK will further be encrypted using our KEK, which will be stored on a separate server.

  2. To upload your KEK, you will be required to extract the public key from a certificate we provide, which you will then use to encrypt and hash your key.

  3. Upload the encrypted KEK and hashed KEK in Zoho One.

  4. We will decrypt the DEK using our KEK to obtain plain DEK.

  5. This plain DEK will now be encrypted using the KEK provided by you.

You can configure a key for each application individually, group two or more applications, or configure a single key for all the applications in your organization.

The steps to upload key vary between the two User Interface versions supported in Zoho One. Select the UI version you use from the tabs below and proceed with the steps that follow.

Spaces UI
Unified UI
Spaces UI

To upload key,

1. Add a BYOK Certificate:

  1. Sign in to Zoho One , then click Directory on the top-right corner.

  2. Click Security.

  3. Click BYOK, then click Manage certificates in the top-right corner.

  4. Click Add certificates, provide a unique name for your certificate, and click Add. Hover over the added certificate and click the download icon.

Notes
Note: You can only add a maximum of two certificates.

 

2. To generate encrypted KEK:

Prerequisites:

  • "bcprov-jdk18on" jar with version greater than or equal to 1.78.1

 

Use the following Java code snippet to extract the public key from the downloaded certificate file and encrypt the key:

Click here to view the complete code snippet

/**
* @param fileName
*            - Downloaded FileName
* @param plainKeyBytes
*            - Generated Key Bytes
* @return - Encrypted Key
* @throws Exception
*/
public static String encryptKeyWithPublicKey(String fileName, byte[] plainKeyBytes) throws Exception {

PemReader reader = new PemReader(new FileReader(new File(fileName)));
PemObject pemObject = reader.readPemObject();
byte[] content = pemObject.getContent();
reader.close();
InputStream fin = new ByteArrayInputStream(content);
CertificateFactory f = CertificateFactory.getInstance("X.509");
X509Certificate certificate = (X509Certificate) f.generateCertificate(fin);
PublicKey pk = certificate.getPublicKey();
byte[] publicKeyBytes = pk.getEncoded();
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(keySpec);
Cipher encryptCipher = Cipher.getInstance("RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING");
OAEPParameterSpec oaepParams = new OAEPParameterSpec("SHA-256", "MGF1", new MGF1ParameterSpec("SHA-256"), PSource.PSpecified.DEFAULT);
encryptCipher.init(Cipher.ENCRYPT_MODE, publicKey, oaepParams);
byte[] encryptedBytes = encryptCipher.doFinal(plainKeyBytes);
return Base64.getEncoder().encodeToString(encryptedBytes);

}

 

3. To generate hashed KEK:

Generate AES key hash value   using the below code snippet:

public static String getHashValue(byte[] plainKeyBytes) throws NoSuchAlgorithmException {

    MessageDigest digest = MessageDigest.getInstance("SHA-256");

    byte[] hashed = digest.digest(plainKeyBytes);

    return Base64.getEncoder().encodeToString(hashed);

}

 

4. To upload key:

  1. Sign in to Zoho One , then click Directory in the left menu.

  2. Click Admin Panel, then click Security.

  3. Click BYOK, then click Setup.

 Note: Click + Add key on the right if you already have a key added. 

  1. In the Add key screen, enter the Key name, select applications, enable availability key if you want it to be used for data recovery in case of unavailability of the configured key, and choose your key type as Upload key.

   Note: Only one key can be applied to an app, and apps already assigned will not be listed under Available applications.   

  1. Under Key details, select any one of the available certificates for which you have already generated Encrypted KEK and Hashed KEK.

Note: You can add a certificate by clicking the + icon next to the Available certificates and generate encrypted KEK and hashed KEK using the above mentioned Java code snippets.

  1. Browse and upload the hashed KEK as a .txt file.

  2. Browse and upload the encrypted KEK as a .txt file.

  3. Click Add.


Unified UI

To upload key,

1. Add a BYOK Certificate:

  1. Sign in to Zoho One , then click Directory in the left menu.

  2. Click Security.

  3. Click BYOK, then click Manage certificates in the top-right corner.

  4. Click Add certificates, provide a unique name for your certificate, and click Add. Hover over the added certificate and click the download icon.

Notes
Note: You can only add a maximum of two certificates.

 

2. To generate encrypted KEK:

Prerequisites:

  • "bcprov-jdk18on" jar with version greater than or equal to 1.78.1

 

Use the following Java code snippet to extract the public key from the downloaded certificate file and encrypt the key:

Click here to view the complete code snippet

/**
* @param fileName
*            - Downloaded FileName
* @param plainKeyBytes
*            - Generated Key Bytes
* @return - Encrypted Key
* @throws Exception
*/
public static String encryptKeyWithPublicKey(String fileName, byte[] plainKeyBytes) throws Exception {

PemReader reader = new PemReader(new FileReader(new File(fileName)));
PemObject pemObject = reader.readPemObject();
byte[] content = pemObject.getContent();
reader.close();
InputStream fin = new ByteArrayInputStream(content);
CertificateFactory f = CertificateFactory.getInstance("X.509");
X509Certificate certificate = (X509Certificate) f.generateCertificate(fin);
PublicKey pk = certificate.getPublicKey();
byte[] publicKeyBytes = pk.getEncoded();
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(keySpec);
Cipher encryptCipher = Cipher.getInstance("RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING");
OAEPParameterSpec oaepParams = new OAEPParameterSpec("SHA-256", "MGF1", new MGF1ParameterSpec("SHA-256"), PSource.PSpecified.DEFAULT);
encryptCipher.init(Cipher.ENCRYPT_MODE, publicKey, oaepParams);
byte[] encryptedBytes = encryptCipher.doFinal(plainKeyBytes);
return Base64.getEncoder().encodeToString(encryptedBytes);

}

 

3. To generate hashed KEK:

Generate AES key hash value   using the below code snippet:

public static String getHashValue(byte[] plainKeyBytes) throws NoSuchAlgorithmException {

    MessageDigest digest = MessageDigest.getInstance("SHA-256");

    byte[] hashed = digest.digest(plainKeyBytes);

    return Base64.getEncoder().encodeToString(hashed);

}

 

4. To upload key:

  1. Sign in to Zoho One then click Directory in the left menu.

  2. Click Admin Panel, then click Security.

  3. Click BYOK, then click Setup.

 Note: Click + Add key on the right if you already have a key added. 

  1. In the Add key screen, enter the Key name, select applications, enable availability key if you want it to be used for data recovery in case of unavailability of the configured key, and choose your key type as Upload key.

   Note: Only one key can be applied to an app, and apps already assigned will not be listed under Available applications.   

  1. Under Key details, select any one of the available certificates for which you have already generated Encrypted KEK and Hashed KEK.

Note: You can add a certificate by clicking the + icon next to the Available certificates and generate encrypted KEK and hashed KEK using the above mentioned Java code snippets.

  1. Browse and upload the hashed KEK as a .txt file.

  2. Browse and upload the encrypted KEK as a .txt file.

  3. Click Add.




 

      Create. Review. Publish.

      Write, edit, collaborate on, and publish documents to different content management platforms.

      Get Started Now


        Access your files securely from anywhere

          Zoho CRM Training Programs

          Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

          Zoho CRM Training
            Redefine the way you work
            with Zoho Workplace

              Zoho DataPrep Personalized Demo

              If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

              Zoho CRM Training

                Create, share, and deliver

                beautiful slides from anywhere.

                Get Started Now


                  Zoho Sign now offers specialized one-on-one training for both administrators and developers.

                  BOOK A SESSION







                              Quick LinksWorkflow AutomationData Collection
                              Web FormsEnterpriseOnline Data Collection Tool
                              Embeddable FormsBankingBegin Data Collection
                              Interactive FormsWorkplaceData Collection App
                              CRM FormsCustomer ServiceAccessible Forms
                              Digital FormsMarketingForms for Small Business
                              HTML FormsEducationForms for Enterprise
                              Contact FormsE-commerceForms for any business
                              Lead Generation FormsHealthcareForms for Startups
                              Wordpress FormsCustomer onboardingForms for Small Business
                              No Code FormsConstructionRSVP tool for holidays
                              Free FormsTravelFeatures for Order Forms
                              Prefill FormsNon-Profit

                              Intake FormsLegal
                              Mobile App
                              Form DesignerHR
                              Mobile Forms
                              Card FormsFoodOffline Forms
                              Assign FormsPhotographyMobile Forms Features
                              Translate FormsReal EstateKiosk in Mobile Forms
                              Electronic Forms
                              Drag & drop form builder

                              Notification Emails for FormsAlternativesSecurity & Compliance
                              Holiday FormsGoogle Forms alternative GDPR
                              Form to PDFJotform alternativeHIPAA Forms
                              Email FormsFormstack alternativeEncrypted Forms

                              Wufoo alternativeSecure Forms

                              WCAG

                                        Create. Review. Publish.

                                        Write, edit, collaborate on, and publish documents to different content management platforms.

                                        Get Started Now







                                                          You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.




                                                              Manage your brands on social media


                                                                • Desk Community Learning Series


                                                                • Digest


                                                                • Functions


                                                                • Meetups


                                                                • Kbase


                                                                • Resources


                                                                • Glossary


                                                                • Desk Marketplace


                                                                • MVP Corner


                                                                • Word of the Day


                                                                • Ask the Experts


                                                                  Zoho Sheet Resources

                                                                   

                                                                      Zoho Forms Resources


                                                                        Secure your business
                                                                        communication with Zoho Mail


                                                                        Mail on the move with
                                                                        Zoho Mail mobile application

                                                                          Stay on top of your schedule
                                                                          at all times


                                                                          Carry your calendar with you
                                                                          Anytime, anywhere




                                                                                Zoho Sign Resources

                                                                                  Sign, Paperless!

                                                                                  Sign and send business documents on the go!

                                                                                  Get Started Now




                                                                                          Zoho TeamInbox Resources





                                                                                                    Zoho DataPrep Demo

                                                                                                    Get a personalized demo or POC

                                                                                                    REGISTER NOW


                                                                                                      Design. Discuss. Deliver.

                                                                                                      Create visually engaging stories with Zoho Show.

                                                                                                      Get Started Now








                                                                                                                          • Related Articles

                                                                                                                          • Overview

                                                                                                                            Encryption is used to secure data by replacing plain text with ciphered text, so that only the intended recipient can understand its contents. Any form of data is initially encrypted at rest using Data Encryption Keys (DEK). The DEKs are further ...
                                                                                                                          • Add key from an External Key Manager

                                                                                                                            Overview Bring Your Own Key (BYOK) is a feature that allows you to use your own key encryption key(KEK) instead of Zoho's KEK. You can add a key either from an External Key Manager (EKM) of your choice or upload an encrypted key manually. If you ...
                                                                                                                          • Encryption at Zoho One

                                                                                                                            Encryption is primarily used to safeguard the contents of a message so that only the intended recipient can read it. This is done by replacing the contents with unrecognizable data, which could be understood only by the intended recipient. This is ...
                                                                                                                          • Edit, Change and Delete key

                                                                                                                            The steps to edit, change, and delete key vary between the two User Interface versions supported in Zoho One. Select the UI version you use from the tabs below and proceed with the steps that follow. Spaces UI Unified UI Spaces UI Change Key: Sign in ...
                                                                                                                          • Device Management

                                                                                                                            Managing your employees' devices is just as crucial as monitoring their online identities when it comes to making sure they are handling company data responsibly. This is where device management comes in. Zoho One has device management features that ...
                                                                                                                            Wherever you are is as good as
                                                                                                                            your workplace

                                                                                                                              Resources

                                                                                                                              Videos

                                                                                                                              Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                                                                                                              eBooks

                                                                                                                              Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                                                                                                              Webinars

                                                                                                                              Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                                                                                                              CRM Tips

                                                                                                                              Make the most of Zoho CRM with these useful tips.



                                                                                                                                Zoho Show Resources