diff --git a/doc/xca.sgml b/doc/xca.sgml
index 07d8ae2f..ef40dbcb 100644
--- a/doc/xca.sgml
+++ b/doc/xca.sgml
@@ -595,12 +595,20 @@ because templates may have empty entries that will be filled during
the rollout of the certificate.
-Allow multiple use of keys
+String settings
-When creating certificates or requests the list of keys only contains unused keys
-to avoid a duplicate use of keys. This option allows the user to shoot herself
-into the foot. If this option is checked, the key list will contain
-all available keys. Usually, you don't want to enable this.
+This option applies to all strings converted to ASN1 strings.
+
+- Default The selected string type is automatically set to
+ the smallest possible, covering all contained characters.
+
- No BMP strings All strings containing non printable
+ characters are regarded as errors.
+
- PKIX in RFC2459 All string types are set as described in
+ RFC2459
+
- PKIX UTF8 only All string types are selected according to
+ RFC2459 for entities issued after 2004, which means that almost all
+ distinguished name entry types are set to UTF8.
+
Default hash algorithm
diff --git a/widgets/MW_menu.cpp b/widgets/MW_menu.cpp
index da735646..799aca68 100644
--- a/widgets/MW_menu.cpp
+++ b/widgets/MW_menu.cpp
@@ -150,8 +150,10 @@ void MainWindow::setOptions()
mydb.set((const unsigned char *)CCHAR(mandatory_dn),
mandatory_dn.length()+1, 1, setting, "mandatory_dn");
- string_opt = opt->getStringOpt();
- ASN1_STRING_set_default_mask_asc((char *)CCHAR(string_opt));
- mydb.set((const unsigned char *)CCHAR(string_opt),
- string_opt.length()+1, 1, setting, "string_opt");
+ if (opt->getStringOpt() != string_opt) {
+ string_opt = opt->getStringOpt();
+ ASN1_STRING_set_default_mask_asc((char *)CCHAR(string_opt));
+ mydb.set((const unsigned char *)CCHAR(string_opt),
+ string_opt.length()+1, 1, setting, "string_opt");
+ }
}
diff --git a/widgets/Options.cpp b/widgets/Options.cpp
index e2cea869..62d04d2e 100644
--- a/widgets/Options.cpp
+++ b/widgets/Options.cpp
@@ -27,12 +27,12 @@ Options::Options(QWidget *parent)
nid = OBJ_sn2nid(CCHAR(dnl[i]));
extDNlist->insertItem(0, OBJ_nid2ln(nid));
}
- string_opts << "default" << "nobmp" << "pkix" << "utf8only";
+ string_opts << "default" << "nombstr" << "pkix" << "utf8only";
QStringList s;
- s << tr("Default: automatically detect String type")
- << tr("NO BMPstrings, only printable and T61")
+ s << tr("automatic detection (default)")
+ << tr("No BMP strings: only printable and T61")
<< tr("PKIX recommendation in RFC2459")
- << tr("UTF8Strings only (RFC2459 recommendation for 2004)");
+ << tr("UTF8 strings only (RFC2459)");
mbstring->addItems(s);
}