code: def import_certificate(self):
          
          certificate = self._get_param('Certificate')
          private_key = self._get_param('PrivateKey')
          chain = self._get_param('CertificateChain')  # Optional
          current_arn = self._get_param('CertificateArn')  # Optional
  
          # Simple parameter decoding. Rather do it here as its a data transport decision not part of the
          # actual data
          try:
              certificate = base64.standard_b64decode(certificate)
          except Exception:
              return AWSValidationException('The certificate is not PEM-encoded or is not valid.').response()
          try:
              private_key = base64.standard_b64decode(private_key)
          except Exception:
              return AWSValidationException('The private key is not PEM-encoded or is not valid.').response()
          if chain is not None:
              try:
                  chain = base64.standard_b64decode(chain)
              except Exception:
                  return AWSValidationException('The certificate chain is not PEM-encoded or is not valid.').response()
  
          try:
              arn = self.acm_backend.import_cert(certificate, private_key, chain=chain, arn=current_arn)
          except AWSError as err:
              return err.response()
  
          return json.dumps({'CertificateArn': arn})
docs: Returns errors on:
          Certificate, PrivateKey or Chain not being properly formatted
          Arn not existing if its provided
          PrivateKey size > 2048
          Certificate expired or is not yet in effect
  
          Does not return errors on:
          Checking Certificate is legit, or a selfsigned chain is provided
  
          :return: str(JSON) for response