简体   繁体   English

从bash创建证书以在Mac OS X上签名GDB

[英]Creating certificate to sign GDB on Mac OS X from bash

I am trying to install gdb on Mac OS X by following link1 and link2 . 我正在尝试通过遵循link1link2在Mac OS X上安装gdb。 This process is done in four steps: 此过程分为四个步骤:

  1. installing gdb using brew install gdb 使用brew install gdb
  2. creating a certificate 创建证书
  3. sign gdb using codesign -s [cert-name] [your-gdb-location] 使用codesign -s [cert-name] [your-gdb-location] gdb进行签名

How can I automate step 2 in a bash script? 如何在bash脚本中自动执行步骤2?

This is my final code (based on here , here and here ): 这是我的最终代码(基于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

Now you can see the certificate listed in System keychains: 现在您可以看到系统钥匙串中列出的证书:

在此处输入图片说明

To sign gdb 签署gdb

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM