SAP S4 OP 配置SSO +ABAP Development Tools for VS Code
已更新SAP SNC / SSO 配置指引 免密登录SAP GUI-CSDN博客SAP GUI SNC / SSO 用户配置 SOP适用范围Windows 10/11 64-bit、SAP GUI for Windows 800、DS4 Client 100、VS Code ABAP Development Tools。脚本版本Setup-SAP-SNC-Interactive-v4.bat示例账号IT9527。实际操作时请替换为当前用户自己的 SAP 用户账号。1. 目标通过 SNC 为 DS4 100 配置个人 SSO 登录使用户后续可以SAP GUI 双击 DS4 连接后免输密码登录VS Code 的 ABAP Development Tools for VS Code 使用同一套 SNC / SSO 配置连接 DS4每个 IT 用户使用自己的个人 SNC 身份例如p:CNIT9527, OCCAV, CCN。2. 压缩包文件清单同事收到的 SSO 文件夹内建议包含以下文件。除个人 PSE 文件外其他标准文件名不需要特别调整。文件是否必需说明Setup-SAP-SNC-Interactive-v4.bat是自动配置客户端 SNC / SSO 的交互脚本SAPSetupSLC03_0-80001954.EXE建议SAP Secure Login Client 安装包首次配置前建议安装SAPCAR_600-70009506.EXE是用于解压 SAP 的 .SAR 包SAPCRYPTOLIBP_8604-20011729.SAR是SAP CommonCryptoLib包含 sapgenpse.exe 和 sapcrypto.dllDS4_SNC_Server_CN_DS4_SAP_HEC.cer是DS4 服务端 SNC 证书可从 DS4 的 STRUST 导出ITxxxxx.pse可选用户个人 PSE。若无效或缺失v4 脚本可以自动生成新的个人 PSE建议目录结构如下SSO├─ Setup-SAP-SNC-Interactive-v4.bat├─ SAPSetupSLC03_0-80001954.EXE├─ SAPCAR_600-70009506.EXE├─ SAPCRYPTOLIBP_8604-20011729.SAR├─ DS4_SNC_Server_CN_DS4_SAP_HEC.cer└─ IT9527.pseIT9527 需要替换为当前用户自己的 SAP 用户账号例如 IT123456。3. 关键命名规则项目规则示例SAP 用户IT 工号 / 账号IT9527PSE 文件SAP用户.pseIT9527.pseCER 文件SAP用户.cerIT9527.cer用户 SNC Namep:CNSAP用户, OCCAV, CCNp:CNIT9527, OCCAV, CCNDS4 服务端 SNC Name固定值p:CNDS4, OUSAP-HEC, OSAP SE, CDEDS4 服务端证书文件固定文件名DS4_SNC_Server_CN_DS4_SAP_HEC.cer4. 操作前确认当前电脑为 Windows 10 / Windows 11 64-bit当前电脑已安装 SAP GUI for Windows 800当前用户可以使用账号密码登录 DS4 100已解压 SSO 文件夹到本机例如C:\Users\当前Windows用户\Downloads\SSOSSO 文件夹内至少有Setup-SAP-SNC-Interactive-v4.batSAPSetupSLC03_0-80001954.EXESAPCAR_600-70009506.EXESAPCRYPTOLIBP_8604-20011729.SARDS4_SNC_Server_CN_DS4_SAP_HEC.cer5. 安装 SAP Secure Login Client首次配置的电脑建议先安装SAPSetupSLC03_0-80001954.EXE操作步骤在 SSO 目录中双击 SAPSetupSLC03_0-80001954.EXE按安装向导默认步骤完成安装如果安装程序提示重启按提示重启安装完成后关闭所有 SAP GUI / SAP Logon 窗口。说明v4 BAT 会额外解压 SAPCRYPTOLIBP_8604-20011729.SAR并设置 SECUDIR、SNC_LIB、SNC_LIB_64SAPSetupSLC03_0-80001954.EXE 用于补齐前端 Secure Login 组件文件名不需要改保持原文件名即可。6. 从 DS4 STRUST 下载 / 导出 DS4 服务端 SNC 证书如果 SSO 目录中已经有 DS4_SNC_Server_CN_DS4_SAP_HEC.cer可以跳过本节。如果需要重新导出 DS4 服务端证书请按以下步骤操作登录 DS4 100执行事务码STRUST在左侧选择SNC SAP 密码库在右侧上方 自己的证书 区域确认主题为CNDS4, OUSAP-HEC, OSAP SE, CDE选中该 自己的证书点击工具栏中的导出/保存证书按钮或通过顶部菜单证书 → 导出将证书保存到 SSO 目录并命名为DS4_SNC_Server_CN_DS4_SAP_HEC.cer保存后可双击该 .cer 文件检查证书信息使用者/颁发给应显示类似DS4, SAP-HEC, SAP SE, DE注意这个文件是 DS4 服务端 SNC 证书后续 BAT 会把它加入用户个人 PSE 的信任列表。它不是用户个人证书也不是 ITxxxxx.cer。7. SAP 端准备个人 PSE可选如果已有有效的个人 PSE可以跳过本节直接执行第 8 节 BAT 脚本。如果需要从 SAP 中处理个人安全环境登录 DS4 100执行事务码STRUST选择左侧SNC SAP 密码库点击下方按钮验证个人安全环境按提示添加 / 验证自己的证书将个人 PSE 文件保存或复制到 SSO 目录文件命名为当前 SAP 用户账号例如IT9527.pse如果这一步导出的 PSE 无效v4 BAT 会在校验时提示并允许自动生成新的 PSE。8. 执行 BAT 脚本在 SSO 目录中双击Setup-SAP-SNC-Interactive-v4.bat脚本会要求输入以下内容输入项示例说明SAP user IDIT9527输入当前用户自己的 SAP 用户账号。小写会自动转大写PSE password123456默认回车即 123456Windows domain userCCAV\9527默认回车使用当前 Windows 登录用户脚本执行内容校验所需文件是否存在解压 SAPCRYPTOLIBP_8604-20011729.SAR 到当前用户目录查找 sapgenpse.exe 和 sapcrypto.dll创建 %APPDATA%\SAP\SAPCrypto复制个人 PSE 和 DS4 服务端证书设置用户环境变量SECUDIR、SNC_LIB、SNC_LIB_64校验个人 PSE 是否有效如 PSE 缺失或无效提示是否自动生成新的个人 PSE将 DS4 服务端证书加入个人 PSE 信任列表从个人 PSE 导出 ITxxxxx.cer将生成的 ITxxxxx.cer 自动复制回 SSO 目录执行 seclogin 生成本机 SSO 凭据输出当前 SSO Credentials。脚本成功时会显示SUCCESS: Client setup completed.并在 SSO 目录生成ITxxxxx.cer例如IT9527.cer提前更改组织Windows-设置-账户-CCTV\95279. 当脚本提示 PSE 无效时如果看到类似提示Couldnt get my own certificate nor any kerberos keys说明当前 ITxxxxx.pse 不可用常见原因是PSE 不是个人身份 PSEPSE 没有 Own CertificatePSE 导出方式不正确密码不匹配。v4 脚本会提示Generate new PSE now? [Y/N]选择Y脚本会自动生成新的个人 PSESubject 为CNITxxxxx, OCCAV, CCN生成新 PSE 后必须使用新生成的 ITxxxxx.cer 重新导入 DS4 的 STRUST。10. DS4 STRUST 导入个人证书BAT 执行成功后回到 SAP GUI。登录 DS4 100执行事务码STRUST选择左侧SNC SAP 密码库点击左上角 编辑顶部菜单选择证书 → 导入选择脚本生成的证书例如SSO\IT9527.cer导入后点击下方添加到证书列表点击保存。导入后证书列表应能看到类似CNIT9527, OCCAV, CCN如果之前导入过同名旧证书建议删除旧证书后再导入新的。证书名称相同不代表密钥相同。11. SU01 维护用户 SNC Name执行事务码SU01输入当前用户账号例如IT9527打开用户维护界面切换到 SNC 页签在 SNC 名称 中输入p:CNIT9527, OCCAV, CCN勾选 / 保留 允许 SAP GUI 密码登录用户特定用于保留密码登录回退能力保存。其他用户按账号替换例如p:CNIT123456, OCCAV, CCN12. SAP Logon 配置 DS4 SNC关闭当前 SAP GUI 窗口打开 SAP Logon右键 DS4 登录项选择 属性切换到 网络 页签勾选激活安全网络通信SNC 名称 填写固定 DS4 服务端名称p:CNDS4, OUSAP-HEC, OSAP SE, CDE选择可用的最高安全设置不要勾选使用用户名/密码进行 SNC 登录无单点登录点击确定完全关闭 SAP GUI / SAP Logon重新打开 SAP Logon。注意这里填的是 DS4 服务端 SNC Name不是个人 SNC Name。不要填 p:CNITxxxxx, OCCAV, CCN否则会报 Actual server name differs from requested one。13. SAP GUI 登录验证重新打开 SAP Logon 后双击 DS4 登录项。成功时应直接登录 DS4 100不再要求输入密码。登录成功后SAP GUI 底部状态栏可看到类似SNC 通过 p:CNIT9527, OCCAV, CCN 的 100 IT9527 登录14. VS Code ABAP Development Tools 配置打开 Visual Studio Code进入扩展市场搜索并安装ABAP Development Tools for VS Code按 Ctrl P输入并执行ABAP: Open Destination Settings (JSON)将内容调整为以下模板并把 user 改成自己的 SAP 用户账号{formatVersion: 1.0,destinations: [{id: DS4_100_DEV_EN,protocol: rfc,properties: {systemId: DS4,ssoEnabled: true,partnerName: p:CNDS4, OUSAP-HEC, OSAP SE, CDE,applicationServer: vhlbjds4ci.sap.CCAV.net,systemNumber: 00,client: 100,language: EN,user: IT9527,sncType: 9}}]}保存 JSON 文件再次按 Ctrl P输入并执行ABAP: Open Object...选择 / 输入 DS4 对象即可打开 DS4 ABAP 内容。15. 常见问题处理报错 / 现象原因处理BAT 一闪而过旧版 BAT 异常退出使用 Setup-SAP-SNC-Interactive-v4.bat失败会停住并写日志Couldnt get my own certificate nor any kerberos keysPSE 无效或缺少 Own Certificatev4 BAT 中选择 Y 自动生成新 PSEWrong PIN/PassphrasePSE 密码错误确认密码默认通常为 123456Server does not trust my certificate pathDS4 STRUST 未信任当前用户证书导入最新 ITxxxxx.cer 到 SNC SAP 密码库 并保存Actual server name differs from requested oneSAP Logon 的 SNC 名称填成了个人名改为 p:CNDS4, OUSAP-HEC, OSAP SE, CDESAP GUI 仍提示密码环境变量未生效或未重启 SAP Logon关闭 SAP GUI / SAP Logon 后重新打开必要时注销 WindowsVS Code 连接失败ADT destination JSON 中 user 或 partnerName 不正确按第 14 节模板核对找不到 DS4_SNC_Server_CN_DS4_SAP_HEC.cerSSO 包内缺少 DS4 服务端证书按第 6 节从 STRUST 的 SNC SAP 密码库 导出缺少 SAPSetupSLC03_0-80001954.EXESSO 包不完整补齐安装包首次配置前先安装16. 安全注意事项.pse 是个人身份文件包含私钥不要发给其他人.cer 是公钥证书可以提供给 SAP 管理员导入 STRUST测试阶段可使用默认密码 123456正式长期使用建议改为复杂密码如果重新生成 PSE即使 SNC Name 一样也必须重新导入新的 .cer 到 DS4DS4_SNC_Server_CN_DS4_SAP_HEC.cer 是服务端公钥证书可以放在 SSO 包中给客户端使用不建议把个人 .cer 随意安装到 Windows 受信任根证书颁发机构。SAP GUI SNC 主要依赖 PSE 和 SECUDIR不是靠 Windows 证书存储。17. 标准验收结果完成后应满足检查项预期结果SSO 目录存在 ITxxxxx.cer%APPDATA%\SAP\SAPCrypto存在 ITxxxxx.pse、ITxxxxx.cer、cred_v2DS4 STRUSTSNC SAP 密码库 证书列表中有 CNITxxxxx, OCCAV, CCNSU01用户 SNC Name 为 p:CNITxxxxx, OCCAV, CCNSAP LogonDS4 SNC Name 为 p:CNDS4, OUSAP-HEC, OSAP SE, CDESAP GUI 登录双击 DS4 可免密登录VS Code ADT可通过 DS4_100_DEV_EN 打开 ABAP 对象