This is a minor rework of PR #10738. I noticed an inconsistency with how Select options are passed as props. Many files use constants stored in external files to pass options props to Select objects. This allows for code reusability. Some files are not passing options in this format. I modified more files so that they use this method of passing options props. I made changes to: - WorkerQueueMetricsSection.tsx - SettingsDataModelFieldBooleanForm.tsx - SettingsDataModelFieldTextForm.tsx - SettingsDataModelFieldNumberForm.tsx - PlaygroundSetupForm.tsx - ViewPickerContentCreateMode.tsx I also noticed that some of these files were incorrectly using useLingui(), so I fixed the import and usage where needed. --------- Co-authored-by: Beau Smith <bsmith26@iastate.edu> Co-authored-by: Charles Bochet <charles@twenty.com>
62 lines
2.1 KiB
Bash
62 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
# Check if OpenSSL is installed
|
|
if ! command -v openssl &> /dev/null
|
|
then
|
|
echo "OpenSSL is not installed. Please install it before running this script."
|
|
exit
|
|
fi
|
|
|
|
# Default values
|
|
DOMAIN=${1:-localhost.com}
|
|
ROOT_CERT_NAME=${2:-myRootCertificate}
|
|
VALIDITY_DAYS=${3:-398} # Default is 825 days
|
|
|
|
CERTS_DIR=~/certs/$DOMAIN
|
|
|
|
# Create a directory to store the certificates
|
|
mkdir -p $CERTS_DIR
|
|
cd $CERTS_DIR
|
|
|
|
# Generate the private key for the Certificate Authority (CA)
|
|
openssl genrsa -aes256 -out ${ROOT_CERT_NAME}.key 2048
|
|
|
|
# Generate the root certificate for the CA
|
|
openssl req -x509 -new -nodes -key ${ROOT_CERT_NAME}.key -sha256 -days $VALIDITY_DAYS -out ${ROOT_CERT_NAME}.pem \
|
|
-subj "/C=US/ST=State/L=City/O=MyOrg/OU=MyUnit/CN=MyLocalCA"
|
|
|
|
# Add the root certificate to the macOS keychain (requires admin password)
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" ${ROOT_CERT_NAME}.pem
|
|
fi
|
|
|
|
# Generate the private key for the provided domain
|
|
openssl genrsa -out $DOMAIN.key 2048
|
|
|
|
# Create a Certificate Signing Request (CSR) for the provided domain
|
|
openssl req -new -key $DOMAIN.key -out $DOMAIN.csr \
|
|
-subj "/C=US/ST=State/L=City/O=MyOrg/OU=MyUnit/CN=*.$DOMAIN"
|
|
|
|
# Create a configuration file for certificate extensions
|
|
cat > $DOMAIN.ext << EOF
|
|
authorityKeyIdentifier=keyid,issuer
|
|
basicConstraints=CA:FALSE
|
|
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
|
|
subjectAltName = @alt_names
|
|
|
|
[alt_names]
|
|
DNS.1 = $DOMAIN
|
|
DNS.2 = *.$DOMAIN
|
|
EOF
|
|
|
|
# Sign the certificate with the CA
|
|
openssl x509 -req -in $DOMAIN.csr -CA ${ROOT_CERT_NAME}.pem -CAkey ${ROOT_CERT_NAME}.key -CAcreateserial \
|
|
-out $DOMAIN.crt -days $VALIDITY_DAYS -sha256 -extfile $DOMAIN.ext
|
|
|
|
echo "Certificates generated in the directory $CERTS_DIR:"
|
|
echo "- Root certificate: ${ROOT_CERT_NAME}.pem"
|
|
echo "- Domain private key: $DOMAIN.key"
|
|
echo "- Signed certificate: $DOMAIN.crt"
|
|
|
|
# Tips for usage
|
|
echo "To use these certificates with a local server, configure your server to use $DOMAIN.crt and $DOMAIN.key." |