【问题标题】:Creating certificate to sign GDB on Mac OS X from bash从 bash 创建证书以在 Mac OS X 上签署 GDB
【发布时间】:2016-05-03 09:26:51
【问题描述】:

我正在尝试按照link1link2 在Mac OS X 上安装gdb。这个过程分为四个步骤:

  1. 使用brew install gdb安装gdb
  2. 创建证书
  3. 使用codesign -s [cert-name] [your-gdb-location]签署gdb

如何在 bash 脚本中自动执行第 2 步?

【问题讨论】:

  • 你知道每一步所需的命令吗?是否有任何命令需要手动输入?您是否尝试过为此编写脚本?
  • 我编辑了我的帖子:我只对相当于 2 和 3 的命令行感兴趣。我想我需要为此使用 openssl。对吗?
  • 可能用于第 2 步(尽管其他工具也可以使用)。对于第 3 步,我不确定,但很可能是某种 OS X 工具。

标签: macos bash certificate sign


【解决方案1】:

这是我的最终代码(基于hereherehere):

cat > myconfig.cnf << EOF

[ req ]
prompt             = no
distinguished_name = my dn

[ my dn ]
# The bare minimum is probably a commonName
commonName = VENTOS
countryName = XX
localityName = Fun Land
organizationName = MyCo LLC LTD INC (d.b.a. OurCo)
organizationalUnitName = SSL Dept.
stateOrProvinceName = YY
emailAddress = ssl-admin@example.com
name = John Doe
surname = Doe
givenName = John
initials = JXD
dnQualifier = some

[ my server exts ]
keyUsage = digitalSignature
extendedKeyUsage = codeSigning

EOF

echo "generating the private key ..."
openssl genrsa -des3 -passout pass:foobar -out server.key 2048

echo ""
echo "generating the CSR (certificate signing request) ..."
openssl req -new -passin pass:foobar -passout pass:foobar -key server.key -out server.csr -config myconfig.cnf -extensions 'my server exts'

echo ""
echo "generating the self-signed certificate ..."
openssl x509 -req -passin pass:foobar -days 6666 -in server.csr -signkey server.key -out server.crt -extfile myconfig.cnf -extensions 'my server exts'

echo ""
echo "convert crt + RSA private key into a PKCS12 (PFX) file ..."
openssl pkcs12 -export -passin pass:foobar -passout pass:foobar -in server.crt -inkey server.key -out server.pfx

echo ""
echo "importing the certificate ..."
sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar

现在您可以看到系统钥匙串中列出的证书:

签署 gdb

sudo codesign -s VENTOS "$(which gdb)"

【讨论】:

    猜你喜欢
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    相关资源
    最近更新 更多