f << "[ req ]\n"
<< "distinguished_name = req_distinguished_name\n"
<< "x509_extensions = v3_ca\n"
+ << "string_mask = nombstr\n"
<< "[ v3_ca ]\n"
<< "basicConstraints = critical,CA:true,pathlen:3\n"
<< "keyUsage = keyCertSign,cRLSign\n"
f << "[ default ]\n"
<< "distinguished_name = req_distinguished_name\n"
<< "x509_extensions = v3_ca\n"
+ << "string_mask = nombstr\n"
<< "[ v3_ca ]\n"
<< "basicConstraints = critical,CA:true,pathlen:2\n"
<< "keyUsage = keyCertSign,cRLSign\n"
f << "[ default ]\n"
<< "distinguished_name = req_distinguished_name\n"
<< "x509_extensions = v3_ca\n"
+ << "string_mask = nombstr\n"
<< "[ v3_ca ]\n"
<< "basicConstraints = critical,CA:false\n"
<< "keyUsage = digitalSignature,keyEncipherment\n"