diff --git a/src/views/AccessControl/SslCertificates/SslCertificates.vue b/src/views/AccessControl/SslCertificates/SslCertificates.vue
index 313b321..79cdea6 100644
--- a/src/views/AccessControl/SslCertificates/SslCertificates.vue
+++ b/src/views/AccessControl/SslCertificates/SslCertificates.vue
@@ -32,7 +32,11 @@
       </b-col>
     </b-row>
     <b-row>
-      <b-col xl="9" class="text-right">
+      <b-col xl="10" class="text-right">
+        <b-button v-b-modal.generate-csr variant="link">
+          <icon-add />
+          {{ $t('pageSslCertificates.generateCsr') }}
+        </b-button>
         <b-button
           variant="primary"
           :disabled="certificatesForUpload.length === 0"
@@ -44,7 +48,7 @@
       </b-col>
     </b-row>
     <b-row>
-      <b-col xl="9">
+      <b-col xl="10">
         <b-table :fields="fields" :items="tableItems">
           <template v-slot:cell(validFrom)="{ value }">
             {{ value | formatDate }}
@@ -79,6 +83,7 @@
 
     <!-- Modals -->
     <modal-upload-certificate :certificate="modalCertificate" @ok="onModalOk" />
+    <modal-generate-csr />
   </b-container>
 </template>
 
@@ -87,6 +92,7 @@
 import IconReplace from '@carbon/icons-vue/es/renew/20';
 import IconTrashcan from '@carbon/icons-vue/es/trash-can/20';
 
+import ModalGenerateCsr from './ModalGenerateCsr';
 import ModalUploadCertificate from './ModalUploadCertificate';
 import PageTitle from '../../../components/Global/PageTitle';
 import TableRowAction from '../../../components/Global/TableRowAction';
@@ -102,6 +108,7 @@
     IconAdd,
     IconReplace,
     IconTrashcan,
+    ModalGenerateCsr,
     ModalUploadCertificate,
     PageTitle,
     StatusIcon,
