No Brain Studios - Maya Groomer's Tool
  • WELCOME
  • Installation
    • System Requirement
    • Installation - Standard
    • Installation - Custom Folder
    • Problem/Errors
      • URLError
      • ImportError
      • PermissionError
      • ModuleNotFoundError
      • UnicodeError
      • URLOpenError[SSL:1129]
      • URLOpenError[SSL:1076]
    • Getting an Update
  • Maya Tools
    • Curve Extract
    • Curve Fill
    • Curve Trim
    • Curve Smart Flip
    • Curve CV Rebuild Tool
    • Curve Snap Tool
    • Curve Cut Tool
    • Paint FX to Curves
    • Curve Clump/Repel
    • Curve Tool Kit
    • Curve to Proxy Managers
      • Curve to Tube Proxy Manager
      • Curve to Card Proxy Manager
      • Curve to Twist Proxy Manager
    • Hair Tube Builder
    • Curve to Curls
    • Curve to Braids
    • Maya Curve Color Tool
    • Curve Populate
    • Curve Copy/Paste
    • Curve Pivot to Root
    • Poly Resolve
    • Interactive Curve Tools
      • Marking (Radial) Menu
  • XGen Tools
    • Guide Color Tool
    • Guide Toggle
    • Auto Description Switch
    • XGen Param, Attr/Modifier Match Tools
      • Shading Parameter Tool
      • XGen Attributes/Modifier Match Tool
    • Global Expression Sort
    • Multi-Clump Bake
    • Guide Cut
    • Guide Check
    • Guide Snap
    • Guides To Curves
    • XGen PTEX Tool
    • XGen IFF Tool
    • Multi Description Preview
    • XGen Blendshape Tool
    • XGen Spline Transfer
    • XGen Rename Collection
    • XGen Rename Description
    • XGen Rename Geometry/Scalp
    • XGen Rename Modifiers
    • XGen Deep Backup
  • 🇨🇳中国使用者说明
    • 由爱发电订阅 - 取得Maya Groomer's Tool 授权
    • 安装指南
    • 取得与安装版本更新
  • Version Log
    • V14.03
    • V14.02
    • V13.07
    • V13.06
Powered by GitBook
On this page
  1. Installation
  2. Problem/Errors

URLOpenError[SSL:1129]

Error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)>

SOLUTION 1 : (Courtesy of Kern Germain)

  • If you are running from a studio with security measures, please make sure that:

    • OpenSSL is updated

    • Local certificate is updated

  • Example:

# Install Certifi
pip install certifi

# Or to upgrade #
pip install --upgrade certifi
  • Copy Certifi's Certificate On the System (as root)

import certifi
import os
import ssl

openssl_cafile = ssl.get_default_verify_paths().openssl_cafile
os.symlink(certifi.where(), openssl_cafile)
os.chmod(openssl_cafile, STAT_0o775)

# and to put the correct chmod:
import stat
STAT_0o775 = ( stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR
             | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP
             | stat.S_IROTH |                stat.S_IXOTH )
os.chmod(openssl_cafile, STAT_0o775)
  • Restart Maya, and run xgt Command again

/import xgtc
import xgToolsUI_user_sub
xgToolsUI_user_sub.XgtRun()

SOLUTION 2:

Kern Germain also provided a simpler setup, by adding certifi to the Maya environment, and add this env var in Maya: ​ SSL_CERT_FILE="/path/to/certifi/cacert.pem" Then a set-up menu in userSetup.py (specific to Linux)

from maya import cmds
from maya import mel
import ssl
import os

def createMenu():
    if cmds.about(batch=True):
        # don't create menu in batch mode
        return
    if cmds.menu("GroomMenu", exists=True):
        cmds.deleteUI("GroomMenu")
    _ssl_cert_paths = ssl.get_default_verify_paths()
    _ssl_cert_file = os.getenv(_ssl_cert_paths.openssl_cafile_env) or _ssl_cert_paths.openssl_cafile
    enabled = os.path.isfile(_ssl_cert_file)
    groom_menu = cmds.menu(
            "GroomMenu",
            label="Grooming Tools",
            parent=mel.eval("$retvalue = $gMainWindow;")
        )
    cmds.menuItem(
        label="Launch Grooming Tools",
        parent=groom_menu,
        command="import xgtc;import xgToolsUI_user_sub;xgToolsUI_user_sub.XgtRun();",
        sourceType="python",
        enable=enabled)
    if not enabled:
        cmds.menuItem(
        label=f'Cannot launch Grooming Tools, contact your TD and ask them to install "{_ssl_cert}"',
        parent=groom_menu)


maya.cmds.evalDeferred("createMenu()")

PreviousUnicodeErrorNextURLOpenError[SSL:1076]

Last updated 1 month ago