openssl-env.pod 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. =pod
  2. =head1 NAME
  3. openssl-env - OpenSSL environment variables
  4. =head1 DESCRIPTION
  5. The OpenSSL libraries use environment variables to override the
  6. compiled-in default paths for various data.
  7. To avoid security risks, the environment is usually not consulted when
  8. the executable is set-user-ID or set-group-ID.
  9. =over 4
  10. =item B<CTLOG_FILE>
  11. Specifies the path to a certificate transparency log list.
  12. See L<CTLOG_STORE_new(3)>.
  13. =item B<OPENSSL>
  14. Specifies the path to the B<openssl> executable. Used by
  15. the B<rehash> script (see L<openssl-rehash(1)/Script Configuration>)
  16. and by the B<CA.pl> script (see L<CA.pl(1)/NOTES>
  17. =item B<OPENSSL_CONF>, B<OPENSSL_CONF_INCLUDE>
  18. Specifies the path to a configuration file and the directory for
  19. included files.
  20. See L<config(5)>.
  21. =item B<OPENSSL_CONFIG>
  22. Specifies a configuration option and filename for the B<req> and B<ca>
  23. commands invoked by the B<CA.pl> script.
  24. See L<CA.pl(1)>.
  25. =item B<OPENSSL_ENGINES>
  26. Specifies the directory from which dynamic engines are loaded.
  27. See L<openssl-engine(1)>.
  28. =item B<OPENSSL_MALLOC_FD>, B<OPENSSL_MALLOC_FAILURES>
  29. If built with debugging, this allows memory allocation to fail.
  30. See L<OPENSSL_malloc(3)>.
  31. =item B<OPENSSL_MODULES>
  32. Specifies the directory from which cryptographic providers are loaded.
  33. Equivalently, the generic B<-provider-path> command-line option may be used.
  34. =item B<OPENSSL_TRACE>
  35. By default the OpenSSL trace feature is disabled statically.
  36. To enable it, OpenSSL must be built with tracing support,
  37. which may be configured like this: C<./config enable-trace>
  38. Unless OpenSSL tracing support is generally disabled,
  39. enable trace output of specific parts of OpenSSL libraries, by name.
  40. This output usually makes sense only if you know OpenSSL internals well.
  41. The value of this environment varialble is a comma-separated list of names,
  42. with the following available:
  43. =over 4
  44. =item B<TRACE>
  45. Traces the OpenSSL trace API itself.
  46. =item B<INIT>
  47. Traces OpenSSL library initialization and cleanup.
  48. =item B<TLS>
  49. Traces the TLS/SSL protocol.
  50. =item B<TLS_CIPHER>
  51. Traces the ciphers used by the TLS/SSL protocol.
  52. =item B<CONF>
  53. Show details about provider and engine configuration.
  54. =item B<ENGINE_TABLE>
  55. The function that is used by RSA, DSA (etc) code to select registered
  56. ENGINEs, cache defaults and functional references (etc), will generate
  57. debugging summaries.
  58. =item B<ENGINE_REF_COUNT>
  59. Reference counts in the ENGINE structure will be monitored with a line
  60. of generated for each change.
  61. =item B<PKCS5V2>
  62. Traces PKCS#5 v2 key generation.
  63. =item B<PKCS12_KEYGEN>
  64. Traces PKCS#12 key generation.
  65. =item B<PKCS12_DECRYPT>
  66. Traces PKCS#12 decryption.
  67. =item B<X509V3_POLICY>
  68. Generates the complete policy tree at various points during X.509 v3
  69. policy evaluation.
  70. =item B<BN_CTX>
  71. Traces BIGNUM context operations.
  72. =item B<CMP>
  73. Traces CMP client and server activity.
  74. =item B<STORE>
  75. Traces STORE operations.
  76. =item B<DECODER>
  77. Traces decoder operations.
  78. =item B<ENCODER>
  79. Traces encoder operations.
  80. =item B<REF_COUNT>
  81. Traces decrementing certain ASN.1 structure references.
  82. =item B<HTTP>
  83. Traces the HTTP client and server, such as messages being sent and received.
  84. =back
  85. =item B<OPENSSL_WIN32_UTF8>
  86. If set, then L<UI_OpenSSL(3)> returns UTF-8 encoded strings, rather than
  87. ones encoded in the current code page, and
  88. the L<openssl(1)> program also transcodes the command-line parameters
  89. from the current code page to UTF-8.
  90. This environment variable is only checked on Microsoft Windows platforms.
  91. =item B<RANDFILE>
  92. The state file for the random number generator.
  93. This should not be needed in normal use.
  94. See L<RAND_load_file(3)>.
  95. =item B<SSL_CERT_DIR>, B<SSL_CERT_FILE>
  96. Specify the default directory or file containing CA certificates.
  97. See L<SSL_CTX_load_verify_locations(3)>.
  98. =item B<TSGET>
  99. Additional arguments for the L<tsget(1)> command.
  100. =item B<OPENSSL_ia32cap>, B<OPENSSL_sparcv9cap>, B<OPENSSL_ppccap>, B<OPENSSL_armcap>, B<OPENSSL_s390xcap>, B<OPENSSL_riscvcap>
  101. OpenSSL supports a number of different algorithm implementations for
  102. various machines and, by default, it determines which to use based on the
  103. processor capabilities and run time feature enquiry. These environment
  104. variables can be used to exert more control over this selection process.
  105. See L<OPENSSL_ia32cap(3)>, L<OPENSSL_s390xcap(3)>.
  106. =item B<NO_PROXY>, B<HTTPS_PROXY>, B<HTTP_PROXY>
  107. Specify a proxy hostname.
  108. See L<OSSL_HTTP_parse_url(3)>.
  109. =item B<QLOGDIR>
  110. Specifies a QUIC qlog output directory. See L<openssl-qlog(7)>.
  111. =item B<OSSL_QFILTER>
  112. Used to set a QUIC qlog filter specification. See L<openssl-qlog(7)>.
  113. =back
  114. =head1 COPYRIGHT
  115. Copyright 2019-2024 The OpenSSL Project Authors. All Rights Reserved.
  116. Licensed under the Apache License 2.0 (the "License"). You may not use
  117. this file except in compliance with the License. You can obtain a copy
  118. in the file LICENSE in the source distribution or at
  119. L<https://www.openssl.org/source/license.html>.
  120. =cut