code: def from_default(cls):
          
          from .core import properties
  
          # Are we in a container started by skein?
          if properties.application_id is not None:
              if properties.container_dir is not None:
                  cert_path = os.path.join(properties.container_dir, '.skein.crt')
                  key_path = os.path.join(properties.container_dir, '.skein.pem')
                  if os.path.exists(cert_path) and os.path.exists(key_path):
                      return Security(cert_file=cert_path, key_file=key_path)
              raise context.FileNotFoundError(
                  "Failed to resolve .skein.{crt,pem} in 'LOCAL_DIRS'")
  
          # Try to load from config_dir, and fallback to minting new credentials
          try:
              return cls.from_directory(properties.config_dir)
          except FileNotFoundError:
              pass
  
          new = cls.new_credentials()
          try:
              out = new.to_directory(properties.config_dir)
              context.warn("Skein global security credentials not found, "
                           "writing now to %r." % properties.config_dir)
          except FileExistsError:
              # Race condition between competing processes, use the credentials
              # written by the other process.
              out = cls.from_directory(properties.config_dir)
          return out
docs: The default security configuration.
  
          Usually this loads the credentials stored in the configuration
          directory (``~/.skein`` by default). If these credentials don't already
          exist, new ones will be created.
  
          When run in a YARN container started by Skein, this loads the same
          security credentials as used for the current application.