#define ENV_POLICY "policy"
#define ENV_EXTENSIONS "x509_extensions"
#define ENV_CRLEXT "crl_extensions"
-#define ENV_MSIE_HACK "msie_hack"
#define ENV_NAMEOPT "name_opt"
#define ENV_CERTOPT "cert_opt"
#define ENV_EXTCOPY "copy_extensions"
static CONF *extfile_conf = NULL;
static int preserve = 0;
-static int msie_hack = 0;
typedef enum OPTION_choice {
OPT_COMMON,
OPT_PRESERVEDN,
OPT_NOEMAILDN,
OPT_GENCRL,
- OPT_MSIE_HACK,
OPT_CRL_LASTUPDATE,
OPT_CRL_NEXTUPDATE,
OPT_CRLDAYS,
{ "dateopt", OPT_DATEOPT, 's', "Datetime format used for printing. (rfc_822/iso_8601). Default is rfc_822." },
{ "notext", OPT_NOTEXT, '-', "Do not print the generated certificate" },
{ "batch", OPT_BATCH, '-', "Don't ask questions" },
- { "msie_hack", OPT_MSIE_HACK, '-',
- "msie modifications to handle all Universal Strings" },
{ "ss_cert", OPT_SS_CERT, '<', "File contains a self signed cert to sign" },
{ "spkac", OPT_SPKAC, '<',
"File contains DN and signed public key and challenge" },
case OPT_GENCRL:
gencrl = 1;
break;
- case OPT_MSIE_HACK:
- msie_hack = 1;
- break;
case OPT_CRL_LASTUPDATE:
crl_lastupdate = opt_arg();
break;
f = app_conf_try_string(conf, BASE_SECTION, ENV_PRESERVE);
if (f != NULL && (*f == 'y' || *f == 'Y'))
preserve = 1;
- f = app_conf_try_string(conf, BASE_SECTION, ENV_MSIE_HACK);
- if (f != NULL && (*f == 'y' || *f == 'Y'))
- msie_hack = 1;
f = app_conf_try_string(conf, section, ENV_NAMEOPT);
if (f != NULL) {
obj = X509_NAME_ENTRY_get_object(ne);
nid = OBJ_obj2nid(obj);
- if (msie_hack) {
- /* assume all type should be strings */
-
- if (str->type == V_ASN1_UNIVERSALSTRING)
- ASN1_UNIVERSALSTRING_to_string(str);
-
- if (str->type == V_ASN1_IA5STRING && nid != NID_pkcs9_emailAddress)
- str->type = V_ASN1_T61STRING;
-
- if (nid == NID_pkcs9_emailAddress
- && str->type == V_ASN1_PRINTABLESTRING)
- str->type = V_ASN1_IA5STRING;
- }
-
/* If no EMAIL is wanted in the subject */
if (nid == NID_pkcs9_emailAddress && !email_dn)
continue;
[B<-preserveDN>]
[B<-noemailDN>]
[B<-batch>]
-[B<-msie_hack>]
[B<-extensions> I<section>]
[B<-extfile> I<section>]
[B<-subj> I<arg>]
or match the CA certificate. Check out the B<POLICY FORMAT> section
for more information.
-=item B<-msie_hack>
-
-This is a deprecated option to make this command work with very old versions
-of the IE certificate enrollment control "certenr3". It used UniversalStrings
-for almost everything. Since the old control has various security bugs
-its use is strongly discouraged.
-
=item B<-preserveDN>
Normally the DN order of a certificate is the same as the order of the
The B<-engine> option was removed in OpenSSL 4.0.
+The B<-msie-hack> option was removed in OpenSSL 4.0.
+
=head1 SEE ALSO
L<openssl(1)>,