diff --git a/crypto/asn1/asn1_test.cc b/crypto/asn1/asn1_test.cc
index 86dd02a..e3e310b 100644
--- a/crypto/asn1/asn1_test.cc
+++ b/crypto/asn1/asn1_test.cc
@@ -18,6 +18,8 @@
 #include <openssl/crypto.h>
 #include <openssl/err.h>
 
+#include "../test/scoped_types.h"
+
 
 namespace bssl {
 
diff --git a/crypto/bio/bio_test.cc b/crypto/bio/bio_test.cc
index cd56e62..e7c061e 100644
--- a/crypto/bio/bio_test.cc
+++ b/crypto/bio/bio_test.cc
@@ -40,6 +40,8 @@
 
 #include <algorithm>
 
+#include "../test/scoped_types.h"
+
 
 namespace bssl {
 
diff --git a/crypto/bn/bn_test.cc b/crypto/bn/bn_test.cc
index 67ab924..3028745 100644
--- a/crypto/bn/bn_test.cc
+++ b/crypto/bn/bn_test.cc
@@ -81,12 +81,12 @@
 #include <utility>
 
 #include <openssl/bn.h>
-#include <openssl/bytestring.h>
 #include <openssl/crypto.h>
 #include <openssl/err.h>
 #include <openssl/mem.h>
 
 #include "../crypto/test/file_test.h"
+#include "../crypto/test/scoped_types.h"
 #include "../crypto/test/test_util.h"
 
 
diff --git a/crypto/bytestring/bytestring_test.cc b/crypto/bytestring/bytestring_test.cc
index 39ac0ae..95d9b85 100644
--- a/crypto/bytestring/bytestring_test.cc
+++ b/crypto/bytestring/bytestring_test.cc
@@ -26,6 +26,7 @@
 #include <openssl/bytestring.h>
 
 #include "internal.h"
+#include "../test/scoped_types.h"
 
 
 namespace bssl {
diff --git a/crypto/cipher/aead_test.cc b/crypto/cipher/aead_test.cc
index 70b84ab..cf0f24a 100644
--- a/crypto/cipher/aead_test.cc
+++ b/crypto/cipher/aead_test.cc
@@ -22,6 +22,7 @@
 #include <openssl/err.h>
 
 #include "../test/file_test.h"
+#include "../test/scoped_types.h"
 
 
 namespace bssl {
diff --git a/crypto/cipher/cipher_test.cc b/crypto/cipher/cipher_test.cc
index beaef2c..221eb67 100644
--- a/crypto/cipher/cipher_test.cc
+++ b/crypto/cipher/cipher_test.cc
@@ -62,6 +62,7 @@
 #include <openssl/err.h>
 
 #include "../test/file_test.h"
+#include "../test/scoped_types.h"
 
 
 namespace bssl {
diff --git a/crypto/cmac/cmac_test.cc b/crypto/cmac/cmac_test.cc
index 7b42129..11b7ad6 100644
--- a/crypto/cmac/cmac_test.cc
+++ b/crypto/cmac/cmac_test.cc
@@ -17,9 +17,8 @@
 #include <algorithm>
 
 #include <openssl/cmac.h>
-#include <openssl/evp.h>
-#include <openssl/mem.h>
 
+#include "../test/scoped_types.h"
 #include "../test/test_util.h"
 
 
diff --git a/crypto/curve25519/spake25519_test.cc b/crypto/curve25519/spake25519_test.cc
index ee7e0fb..b8742ed 100644
--- a/crypto/curve25519/spake25519_test.cc
+++ b/crypto/curve25519/spake25519_test.cc
@@ -19,6 +19,7 @@
 #include <string.h>
 
 #include <openssl/curve25519.h>
+#include "../test/scoped_types.h"
 
 
 namespace bssl {
diff --git a/crypto/dh/dh_test.cc b/crypto/dh/dh_test.cc
index 9cf76f6..8fe496c 100644
--- a/crypto/dh/dh_test.cc
+++ b/crypto/dh/dh_test.cc
@@ -68,6 +68,7 @@
 #include <openssl/mem.h>
 
 #include "internal.h"
+#include "../test/scoped_types.h"
 
 
 namespace bssl {
diff --git a/crypto/digest/digest_test.cc b/crypto/digest/digest_test.cc
index c390913..32d12d2 100644
--- a/crypto/digest/digest_test.cc
+++ b/crypto/digest/digest_test.cc
@@ -23,6 +23,8 @@
 #include <openssl/md5.h>
 #include <openssl/sha.h>
 
+#include "../test/scoped_types.h"
+
 
 namespace bssl {
 
diff --git a/crypto/ec/ec_test.cc b/crypto/ec/ec_test.cc
index 7572434..864cd49 100644
--- a/crypto/ec/ec_test.cc
+++ b/crypto/ec/ec_test.cc
@@ -17,13 +17,13 @@
 
 #include <vector>
 
-#include <openssl/bn.h>
 #include <openssl/bytestring.h>
 #include <openssl/crypto.h>
 #include <openssl/ec_key.h>
 #include <openssl/err.h>
 #include <openssl/mem.h>
-#include <openssl/obj.h>
+
+#include "../test/scoped_types.h"
 
 
 namespace bssl {
diff --git a/crypto/ecdsa/ecdsa_test.cc b/crypto/ecdsa/ecdsa_test.cc
index 6b42d4e..ad2325b 100644
--- a/crypto/ecdsa/ecdsa_test.cc
+++ b/crypto/ecdsa/ecdsa_test.cc
@@ -62,6 +62,8 @@
 #include <openssl/nid.h>
 #include <openssl/rand.h>
 
+#include "../test/scoped_types.h"
+
 
 namespace bssl {
 
diff --git a/crypto/evp/evp_extra_test.cc b/crypto/evp/evp_extra_test.cc
index 750da75..2253c56 100644
--- a/crypto/evp/evp_extra_test.cc
+++ b/crypto/evp/evp_extra_test.cc
@@ -25,9 +25,10 @@
 #include <openssl/digest.h>
 #include <openssl/err.h>
 #include <openssl/evp.h>
-#include <openssl/pkcs8.h>
 #include <openssl/rsa.h>
 
+#include "../test/scoped_types.h"
+
 
 namespace bssl {
 
diff --git a/crypto/evp/evp_test.cc b/crypto/evp/evp_test.cc
index a20c6a6..9b8a683 100644
--- a/crypto/evp/evp_test.cc
+++ b/crypto/evp/evp_test.cc
@@ -74,6 +74,7 @@
 #include <openssl/err.h>
 
 #include "../test/file_test.h"
+#include "../test/scoped_types.h"
 
 
 namespace bssl {
diff --git a/crypto/hmac/hmac_test.cc b/crypto/hmac/hmac_test.cc
index 9f76495..ba84cc2 100644
--- a/crypto/hmac/hmac_test.cc
+++ b/crypto/hmac/hmac_test.cc
@@ -65,6 +65,7 @@
 #include <openssl/hmac.h>
 
 #include "../test/file_test.h"
+#include "../test/scoped_types.h"
 
 
 namespace bssl {
diff --git a/crypto/newhope/newhope_statistical_test.cc b/crypto/newhope/newhope_statistical_test.cc
index 1344506..d3a5443 100644
--- a/crypto/newhope/newhope_statistical_test.cc
+++ b/crypto/newhope/newhope_statistical_test.cc
@@ -21,6 +21,7 @@
 #include <openssl/crypto.h>
 #include <openssl/rand.h>
 
+#include "../test/scoped_types.h"
 #include "internal.h"
 
 
diff --git a/crypto/newhope/newhope_test.cc b/crypto/newhope/newhope_test.cc
index c127d4f..d94eee8 100644
--- a/crypto/newhope/newhope_test.cc
+++ b/crypto/newhope/newhope_test.cc
@@ -19,6 +19,7 @@
 #include <openssl/crypto.h>
 #include <openssl/rand.h>
 
+#include "../test/scoped_types.h"
 #include "internal.h"
 
 
diff --git a/crypto/newhope/newhope_vectors_test.cc b/crypto/newhope/newhope_vectors_test.cc
index a3398fa..691d693 100644
--- a/crypto/newhope/newhope_vectors_test.cc
+++ b/crypto/newhope/newhope_vectors_test.cc
@@ -20,6 +20,7 @@
 #include <openssl/rand.h>
 
 #include "../test/file_test.h"
+#include "../test/scoped_types.h"
 #include "internal.h"
 
 
diff --git a/crypto/pkcs8/pkcs12_test.cc b/crypto/pkcs8/pkcs12_test.cc
index 2c4adc4..1069444 100644
--- a/crypto/pkcs8/pkcs12_test.cc
+++ b/crypto/pkcs8/pkcs12_test.cc
@@ -23,6 +23,8 @@
 #include <openssl/stack.h>
 #include <openssl/x509.h>
 
+#include "../test/scoped_types.h"
+
 
 /* kPKCS12DER contains sample PKCS#12 data generated by OpenSSL with:
  * openssl pkcs12 -export -inkey key.pem -in cacert.pem */
diff --git a/crypto/pkcs8/pkcs8_test.cc b/crypto/pkcs8/pkcs8_test.cc
index b58461f..e54a699 100644
--- a/crypto/pkcs8/pkcs8_test.cc
+++ b/crypto/pkcs8/pkcs8_test.cc
@@ -21,6 +21,8 @@
 #include <openssl/pkcs8.h>
 #include <openssl/x509.h>
 
+#include "../test/scoped_types.h"
+
 
 /* kDER is a PKCS#8 encrypted private key. It was generated with:
  *
diff --git a/crypto/rsa/rsa_test.cc b/crypto/rsa/rsa_test.cc
index 698eb92..5307f2c 100644
--- a/crypto/rsa/rsa_test.cc
+++ b/crypto/rsa/rsa_test.cc
@@ -65,6 +65,8 @@
 #include <openssl/err.h>
 #include <openssl/nid.h>
 
+#include "../test/scoped_types.h"
+
 
 // kPlaintext is a sample plaintext.
 static const uint8_t kPlaintext[] = "\x54\x85\x9b\x34\x2c\x49\xea\x2a";
diff --git a/crypto/test/scoped_types.h b/crypto/test/scoped_types.h
new file mode 100644
index 0000000..7e4a48e
--- /dev/null
+++ b/crypto/test/scoped_types.h
@@ -0,0 +1,97 @@
+/* Copyright (c) 2015, Google Inc.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
+
+#ifndef OPENSSL_HEADER_CRYPTO_TEST_SCOPED_TYPES_H
+#define OPENSSL_HEADER_CRYPTO_TEST_SCOPED_TYPES_H
+
+#include <openssl/base.h>
+
+#include <stdint.h>
+#include <stdio.h>
+
+#include <memory>
+
+#include <openssl/aead.h>
+#include <openssl/asn1.h>
+#include <openssl/bio.h>
+#include <openssl/bn.h>
+#include <openssl/bytestring.h>
+#include <openssl/cmac.h>
+#include <openssl/curve25519.h>
+#include <openssl/dh.h>
+#include <openssl/ecdsa.h>
+#include <openssl/ec.h>
+#include <openssl/ec_key.h>
+#include <openssl/evp.h>
+#include <openssl/hmac.h>
+#include <openssl/mem.h>
+#include <openssl/newhope.h>
+#include <openssl/pkcs8.h>
+#include <openssl/rsa.h>
+#include <openssl/stack.h>
+#include <openssl/x509.h>
+
+namespace bssl {
+
+struct FileCloser {
+  void operator()(FILE *file) {
+    fclose(file);
+  }
+};
+
+using ScopedASN1_TYPE = ScopedType<ASN1_TYPE, ASN1_TYPE_free>;
+using ScopedBIO = ScopedType<BIO, BIO_vfree>;
+using ScopedBIGNUM = ScopedType<BIGNUM, BN_free>;
+using ScopedBN_CTX = ScopedType<BN_CTX, BN_CTX_free>;
+using ScopedBN_MONT_CTX = ScopedType<BN_MONT_CTX, BN_MONT_CTX_free>;
+using ScopedCMAC_CTX = ScopedType<CMAC_CTX, CMAC_CTX_free>;
+using ScopedDH = ScopedType<DH, DH_free>;
+using ScopedECDSA_SIG = ScopedType<ECDSA_SIG, ECDSA_SIG_free>;
+using ScopedEC_GROUP = ScopedType<EC_GROUP, EC_GROUP_free>;
+using ScopedEC_KEY = ScopedType<EC_KEY, EC_KEY_free>;
+using ScopedEC_POINT = ScopedType<EC_POINT, EC_POINT_free>;
+using ScopedEVP_PKEY = ScopedType<EVP_PKEY, EVP_PKEY_free>;
+using ScopedEVP_PKEY_CTX = ScopedType<EVP_PKEY_CTX, EVP_PKEY_CTX_free>;
+using ScopedNEWHOPE_POLY = ScopedType<NEWHOPE_POLY, NEWHOPE_POLY_free>;
+using ScopedPKCS8_PRIV_KEY_INFO =
+    ScopedType<PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_free>;
+using ScopedPKCS12 = ScopedType<PKCS12, PKCS12_free>;
+using ScopedSPAKE2_CTX = ScopedType<SPAKE2_CTX, SPAKE2_CTX_free>;
+using ScopedRSA = ScopedType<RSA, RSA_free>;
+using ScopedX509 = ScopedType<X509, X509_free>;
+using ScopedX509_ALGOR = ScopedType<X509_ALGOR, X509_ALGOR_free>;
+using ScopedX509_SIG = ScopedType<X509_SIG, X509_SIG_free>;
+using ScopedX509_STORE_CTX = ScopedType<X509_STORE_CTX, X509_STORE_CTX_free>;
+
+using ScopedX509Stack = ScopedStack<STACK_OF(X509), X509, X509_free>;
+
+using ScopedCBB = ScopedContext<CBB, void, CBB_zero, CBB_cleanup>;
+using ScopedEVP_AEAD_CTX =
+    ScopedContext<EVP_AEAD_CTX, void, EVP_AEAD_CTX_zero, EVP_AEAD_CTX_cleanup>;
+using ScopedEVP_CIPHER_CTX =
+    ScopedContext<EVP_CIPHER_CTX, int, EVP_CIPHER_CTX_init,
+                  EVP_CIPHER_CTX_cleanup>;
+using ScopedEVP_MD_CTX =
+    ScopedContext<EVP_MD_CTX, int, EVP_MD_CTX_init, EVP_MD_CTX_cleanup>;
+using ScopedHMAC_CTX =
+    ScopedContext<HMAC_CTX, void, HMAC_CTX_init, HMAC_CTX_cleanup>;
+
+using ScopedBytes = std::unique_ptr<uint8_t, Free<uint8_t>>;
+using ScopedString = std::unique_ptr<char, Free<char>>;
+
+using ScopedFILE = std::unique_ptr<FILE, FileCloser>;
+
+}  // namespace bssl
+
+#endif  // OPENSSL_HEADER_CRYPTO_TEST_SCOPED_TYPES_H
diff --git a/crypto/x509/x509_test.cc b/crypto/x509/x509_test.cc
index 41221ce..cb28df7 100644
--- a/crypto/x509/x509_test.cc
+++ b/crypto/x509/x509_test.cc
@@ -24,6 +24,8 @@
 #include <openssl/pem.h>
 #include <openssl/x509.h>
 
+#include "../test/scoped_types.h"
+
 
 namespace bssl {
 
diff --git a/include/openssl/aead.h b/include/openssl/aead.h
index 7d9ee1f..7895825 100644
--- a/include/openssl/aead.h
+++ b/include/openssl/aead.h
@@ -333,18 +333,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedEVP_AEAD_CTX =
-    ScopedContext<EVP_AEAD_CTX, void, EVP_AEAD_CTX_zero, EVP_AEAD_CTX_cleanup>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #endif  /* OPENSSL_HEADER_AEAD_H */
diff --git a/include/openssl/asn1.h b/include/openssl/asn1.h
index e1c9447..42c9535 100644
--- a/include/openssl/asn1.h
+++ b/include/openssl/asn1.h
@@ -1016,17 +1016,6 @@
 
 #ifdef  __cplusplus
 }
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedASN1_TYPE = ScopedType<ASN1_TYPE, ASN1_TYPE_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define ASN1_R_ASN1_LENGTH_MISMATCH 100
diff --git a/include/openssl/base.h b/include/openssl/base.h
index 21eb04f..68df107 100644
--- a/include/openssl/base.h
+++ b/include/openssl/base.h
@@ -170,13 +170,6 @@
 #define OPENSSL_MSVC_PRAGMA(arg)
 #endif
 
-/* MSVC doesn't set __cplusplus to 201103 to indicate C++11 support (see
- * https://connect.microsoft.com/VisualStudio/feedback/details/763051/a-value-of-predefined-macro-cplusplus-is-still-199711l)
- * so MSVC is just assumed to support C++11. */
-#if defined(__cplusplus) && (__cplusplus >= 201103 || defined(_MSC_VER))
-#define BORINGSSL_HAVE_CXX11
-#endif
-
 
 /* CRYPTO_THREADID is a dummy value. */
 typedef int CRYPTO_THREADID;
@@ -300,9 +293,6 @@
 #if defined(__cplusplus)
 }  /* extern C */
 
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
 namespace bssl {
 
 template<typename T, void (*func)(T*)>
@@ -342,6 +332,4 @@
 
 #endif
 
-#endif
-
 #endif  /* OPENSSL_HEADER_BASE_H */
diff --git a/include/openssl/bio.h b/include/openssl/bio.h
index 5ec40b2..5416c65 100644
--- a/include/openssl/bio.h
+++ b/include/openssl/bio.h
@@ -895,17 +895,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedBIO = ScopedType<BIO, BIO_vfree>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define BIO_R_BAD_FOPEN_MODE 100
diff --git a/include/openssl/bn.h b/include/openssl/bn.h
index 03ea7dc..a686696 100644
--- a/include/openssl/bn.h
+++ b/include/openssl/bn.h
@@ -866,19 +866,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedBIGNUM = ScopedType<BIGNUM, BN_free>;
-using ScopedBN_CTX = ScopedType<BN_CTX, BN_CTX_free>;
-using ScopedBN_MONT_CTX = ScopedType<BN_MONT_CTX, BN_MONT_CTX_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define BN_R_ARG2_LT_ARG3 100
diff --git a/include/openssl/bytestring.h b/include/openssl/bytestring.h
index b969662..c24281a 100644
--- a/include/openssl/bytestring.h
+++ b/include/openssl/bytestring.h
@@ -393,17 +393,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedCBB = ScopedContext<CBB, void, CBB_zero, CBB_cleanup>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #endif  /* OPENSSL_HEADER_BYTESTRING_H */
diff --git a/include/openssl/cipher.h b/include/openssl/cipher.h
index 984e3f3..5312308 100644
--- a/include/openssl/cipher.h
+++ b/include/openssl/cipher.h
@@ -540,19 +540,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedEVP_CIPHER_CTX =
-    ScopedContext<EVP_CIPHER_CTX, int, EVP_CIPHER_CTX_init,
-                  EVP_CIPHER_CTX_cleanup>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define CIPHER_R_AES_KEY_SETUP_FAILED 100
diff --git a/include/openssl/cmac.h b/include/openssl/cmac.h
index e66ac4f..0bb44b9 100644
--- a/include/openssl/cmac.h
+++ b/include/openssl/cmac.h
@@ -71,17 +71,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedCMAC_CTX = ScopedType<CMAC_CTX, CMAC_CTX_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #endif  /* OPENSSL_HEADER_CMAC_H */
diff --git a/include/openssl/curve25519.h b/include/openssl/curve25519.h
index e5b847a..a9441cd 100644
--- a/include/openssl/curve25519.h
+++ b/include/openssl/curve25519.h
@@ -167,17 +167,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedSPAKE2_CTX = ScopedType<SPAKE2_CTX, SPAKE2_CTX_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #endif  /* OPENSSL_HEADER_CURVE25519_H */
diff --git a/include/openssl/dh.h b/include/openssl/dh.h
index b929c67..a087651 100644
--- a/include/openssl/dh.h
+++ b/include/openssl/dh.h
@@ -255,17 +255,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedDH = ScopedType<DH, DH_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define DH_R_BAD_GENERATOR 100
diff --git a/include/openssl/digest.h b/include/openssl/digest.h
index d13dfc8..07ea07a 100644
--- a/include/openssl/digest.h
+++ b/include/openssl/digest.h
@@ -260,18 +260,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedEVP_MD_CTX =
-    ScopedContext<EVP_MD_CTX, int, EVP_MD_CTX_init, EVP_MD_CTX_cleanup>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define DIGEST_R_INPUT_NOT_INITIALIZED 100
diff --git a/include/openssl/ec.h b/include/openssl/ec.h
index b149c45..32aded6 100644
--- a/include/openssl/ec.h
+++ b/include/openssl/ec.h
@@ -353,26 +353,14 @@
 OPENSSL_EXPORT size_t EC_get_builtin_curves(EC_builtin_curve *out_curves,
                                             size_t max_num_curves);
 
+/* Old code expects to get EC_KEY from ec.h. */
+#include <openssl/ec_key.h>
+
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedEC_GROUP = ScopedType<EC_GROUP, EC_GROUP_free>;
-using ScopedEC_POINT = ScopedType<EC_POINT, EC_POINT_free>;
-
-}  // namespace bssl
-
 #endif
 
-#endif
-
-/* Old code expects to get EC_KEY from ec.h. */
-#include <openssl/ec_key.h>
-
 #define EC_R_BUFFER_TOO_SMALL 100
 #define EC_R_COORDINATES_OUT_OF_RANGE 101
 #define EC_R_D2I_ECPKPARAMETERS_FAILURE 102
diff --git a/include/openssl/ec_key.h b/include/openssl/ec_key.h
index 5b0f516..63554a7 100644
--- a/include/openssl/ec_key.h
+++ b/include/openssl/ec_key.h
@@ -322,17 +322,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedEC_KEY = ScopedType<EC_KEY, EC_KEY_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #endif  /* OPENSSL_HEADER_EC_KEY_H */
diff --git a/include/openssl/ecdsa.h b/include/openssl/ecdsa.h
index 3a04adf..a060eab 100644
--- a/include/openssl/ecdsa.h
+++ b/include/openssl/ecdsa.h
@@ -194,17 +194,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedECDSA_SIG = ScopedType<ECDSA_SIG, ECDSA_SIG_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define ECDSA_R_BAD_SIGNATURE 100
diff --git a/include/openssl/evp.h b/include/openssl/evp.h
index 263944e..5407407 100644
--- a/include/openssl/evp.h
+++ b/include/openssl/evp.h
@@ -747,18 +747,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedEVP_PKEY = ScopedType<EVP_PKEY, EVP_PKEY_free>;
-using ScopedEVP_PKEY_CTX = ScopedType<EVP_PKEY_CTX, EVP_PKEY_CTX_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define EVP_R_BUFFER_TOO_SMALL 100
diff --git a/include/openssl/hmac.h b/include/openssl/hmac.h
index 6a6c8c0..5a4e9c7 100644
--- a/include/openssl/hmac.h
+++ b/include/openssl/hmac.h
@@ -153,18 +153,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedHMAC_CTX =
-    ScopedContext<HMAC_CTX, void, HMAC_CTX_init, HMAC_CTX_cleanup>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #endif  /* OPENSSL_HEADER_HMAC_H */
diff --git a/include/openssl/mem.h b/include/openssl/mem.h
index 172198d..d773752 100644
--- a/include/openssl/mem.h
+++ b/include/openssl/mem.h
@@ -134,8 +134,6 @@
 #if defined(__cplusplus)
 }  /* extern C */
 
-#if defined(BORINGSSL_HAVE_CXX11)
-
 namespace bssl {
 
 template<typename T>
@@ -145,13 +143,8 @@
   }
 };
 
-using ScopedBytes = std::unique_ptr<uint8_t, Free<uint8_t>>;
-using ScopedString = std::unique_ptr<char, Free<char>>;
-
 }  // namespace bssl
 
 #endif
 
-#endif
-
 #endif  /* OPENSSL_HEADER_MEM_H */
diff --git a/include/openssl/newhope.h b/include/openssl/newhope.h
index 3d91ce7..487e03f 100644
--- a/include/openssl/newhope.h
+++ b/include/openssl/newhope.h
@@ -142,17 +142,6 @@
 
 #if defined(__cplusplus)
 } /* extern "C" */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedNEWHOPE_POLY = ScopedType<NEWHOPE_POLY, NEWHOPE_POLY_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #endif /* OPENSSL_HEADER_NEWHOPE_H */
diff --git a/include/openssl/pkcs8.h b/include/openssl/pkcs8.h
index 87d1e05..28cf6ac 100644
--- a/include/openssl/pkcs8.h
+++ b/include/openssl/pkcs8.h
@@ -187,19 +187,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedPKCS8_PRIV_KEY_INFO =
-    ScopedType<PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_free>;
-using ScopedPKCS12 = ScopedType<PKCS12, PKCS12_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define PKCS8_R_BAD_PKCS12_DATA 100
diff --git a/include/openssl/rsa.h b/include/openssl/rsa.h
index f6abdfb..063d2e8 100644
--- a/include/openssl/rsa.h
+++ b/include/openssl/rsa.h
@@ -612,17 +612,6 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedRSA = ScopedType<RSA, RSA_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define RSA_R_BAD_ENCODING 100
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 583cbf8..2ae5ab1 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -4505,19 +4505,6 @@
 
 #if defined(__cplusplus)
 } /* extern C */
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedSSL = ScopedType<SSL, SSL_free>;
-using ScopedSSL_CTX = ScopedType<SSL_CTX, SSL_CTX_free>;
-using ScopedSSL_SESSION = ScopedType<SSL_SESSION, SSL_SESSION_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define SSL_R_APP_DATA_IN_HANDSHAKE 100
diff --git a/include/openssl/stack.h b/include/openssl/stack.h
index b521353..913db50 100644
--- a/include/openssl/stack.h
+++ b/include/openssl/stack.h
@@ -291,8 +291,6 @@
 #if defined(__cplusplus)
 }  /* extern C */
 
-#if defined(BORINGSSL_HAVE_CXX11)
-
 namespace bssl {
 
 template<typename StackType, typename T, void (*func)(T*)>
@@ -308,9 +306,6 @@
     std::unique_ptr<StackType, StackDeleter<StackType, T, func>>;
 
 }  // namespace bssl
-
-#endif
-
 #endif
 
 #endif  /* OPENSSL_HEADER_STACK_H */
diff --git a/include/openssl/x509.h b/include/openssl/x509.h
index e57d615..bbc263e 100644
--- a/include/openssl/x509.h
+++ b/include/openssl/x509.h
@@ -1225,22 +1225,6 @@
 
 #ifdef  __cplusplus
 }
-
-#if defined(BORINGSSL_HAVE_CXX11)
-
-namespace bssl {
-
-using ScopedX509 = ScopedType<X509, X509_free>;
-using ScopedX509_ALGOR = ScopedType<X509_ALGOR, X509_ALGOR_free>;
-using ScopedX509_SIG = ScopedType<X509_SIG, X509_SIG_free>;
-using ScopedX509_STORE_CTX = ScopedType<X509_STORE_CTX, X509_STORE_CTX_free>;
-
-using ScopedX509Stack = ScopedStack<STACK_OF(X509), X509, X509_free>;
-
-}  // namespace bssl
-
-#endif
-
 #endif
 
 #define X509_R_AKID_MISMATCH 100
diff --git a/ssl/ssl_test.cc b/ssl/ssl_test.cc
index 30c9777..92fad05 100644
--- a/ssl/ssl_test.cc
+++ b/ssl/ssl_test.cc
@@ -29,6 +29,7 @@
 #include <openssl/ssl.h>
 #include <openssl/x509.h>
 
+#include "test/scoped_types.h"
 #include "../crypto/test/test_util.h"
 
 
diff --git a/ssl/test/async_bio.h b/ssl/test/async_bio.h
index 6bfe1a9..1799347 100644
--- a/ssl/test/async_bio.h
+++ b/ssl/test/async_bio.h
@@ -17,6 +17,8 @@
 
 #include <openssl/bio.h>
 
+#include "../../crypto/test/scoped_types.h"
+
 
 namespace bssl {
 
diff --git a/ssl/test/bssl_shim.cc b/ssl/test/bssl_shim.cc
index 30aaba6..9ce8b5f 100644
--- a/ssl/test/bssl_shim.cc
+++ b/ssl/test/bssl_shim.cc
@@ -55,8 +55,10 @@
 #include <string>
 #include <vector>
 
+#include "../../crypto/test/scoped_types.h"
 #include "async_bio.h"
 #include "packeted_bio.h"
+#include "scoped_types.h"
 #include "test_config.h"
 
 
diff --git a/ssl/test/packeted_bio.h b/ssl/test/packeted_bio.h
index 351fc2c..e6dcfe4 100644
--- a/ssl/test/packeted_bio.h
+++ b/ssl/test/packeted_bio.h
@@ -18,6 +18,8 @@
 #include <openssl/base.h>
 #include <openssl/bio.h>
 
+#include "../../crypto/test/scoped_types.h"
+
 #if defined(OPENSSL_WINDOWS)
 OPENSSL_MSVC_PRAGMA(warning(push, 3))
 #include <winsock2.h>
diff --git a/ssl/test/scoped_types.h b/ssl/test/scoped_types.h
new file mode 100644
index 0000000..0b3b562
--- /dev/null
+++ b/ssl/test/scoped_types.h
@@ -0,0 +1,32 @@
+/* Copyright (c) 2015, Google Inc.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
+
+#ifndef OPENSSL_HEADER_SSL_TEST_SCOPED_TYPES_H
+#define OPENSSL_HEADER_SSL_TEST_SCOPED_TYPES_H
+
+#include <openssl/ssl.h>
+
+#include "../../crypto/test/scoped_types.h"
+
+
+namespace bssl {
+
+using ScopedSSL = ScopedType<SSL, SSL_free>;
+using ScopedSSL_CTX = ScopedType<SSL_CTX, SSL_CTX_free>;
+using ScopedSSL_SESSION = ScopedType<SSL_SESSION, SSL_SESSION_free>;
+
+}  // namespace bssl
+
+
+#endif  // OPENSSL_HEADER_SSL_TEST_SCOPED_TYPES_H
diff --git a/tool/ciphers.cc b/tool/ciphers.cc
index 2de29a6..fa060ab 100644
--- a/tool/ciphers.cc
+++ b/tool/ciphers.cc
@@ -20,6 +20,8 @@
 
 #include <openssl/ssl.h>
 
+#include "../crypto/test/scoped_types.h"
+#include "../ssl/test/scoped_types.h"
 #include "internal.h"
 
 
diff --git a/tool/client.cc b/tool/client.cc
index 03e46a4..593e3c6 100644
--- a/tool/client.cc
+++ b/tool/client.cc
@@ -20,6 +20,8 @@
 #include <openssl/pem.h>
 #include <openssl/ssl.h>
 
+#include "../crypto/test/scoped_types.h"
+#include "../ssl/test/scoped_types.h"
 #include "internal.h"
 #include "transport_common.h"
 
diff --git a/tool/generate_ed25519.cc b/tool/generate_ed25519.cc
index 17f086b..9672b78 100644
--- a/tool/generate_ed25519.cc
+++ b/tool/generate_ed25519.cc
@@ -18,6 +18,7 @@
 #include <stdio.h>
 #include <string.h>
 
+#include "../crypto/test/scoped_types.h"
 #include "internal.h"
 
 
@@ -36,14 +37,6 @@
     },
 };
 
-struct FileCloser {
-  void operator()(FILE *file) {
-    fclose(file);
-  }
-};
-
-using ScopedFILE = std::unique_ptr<FILE, FileCloser>;
-
 static bool WriteToFile(const std::string &path, const uint8_t *in,
                         size_t in_len) {
   ScopedFILE file(fopen(path.c_str(), "wb"));
diff --git a/tool/genrsa.cc b/tool/genrsa.cc
index 3412475..576bd7c 100644
--- a/tool/genrsa.cc
+++ b/tool/genrsa.cc
@@ -18,6 +18,7 @@
 #include <openssl/pem.h>
 #include <openssl/rsa.h>
 
+#include "../crypto/test/scoped_types.h"
 #include "internal.h"
 
 
diff --git a/tool/speed.cc b/tool/speed.cc
index 1fdda6b..8efd1f4 100644
--- a/tool/speed.cc
+++ b/tool/speed.cc
@@ -21,11 +21,8 @@
 #include <string.h>
 
 #include <openssl/aead.h>
-#include <openssl/bn.h>
 #include <openssl/curve25519.h>
 #include <openssl/digest.h>
-#include <openssl/ecdsa.h>
-#include <openssl/ec.h>
 #include <openssl/err.h>
 #include <openssl/newhope.h>
 #include <openssl/nid.h>
@@ -40,6 +37,7 @@
 #include <sys/time.h>
 #endif
 
+#include "../crypto/test/scoped_types.h"
 #include "internal.h"
 
 
diff --git a/util/BUILD b/util/BUILD
index 6b645e6..51e95b1 100644
--- a/util/BUILD
+++ b/util/BUILD
@@ -113,7 +113,10 @@
 
 cc_binary(
     name = "bssl",
-    srcs = tool_sources + tool_headers,
+    srcs = tool_sources + tool_headers + [
+        "src/crypto/test/scoped_types.h",
+        "src/ssl/test/scoped_types.h",
+    ],
     copts = boringssl_copts_cxx,
     visibility = ["//visibility:public"],
     deps = [":ssl"],
