diff --git a/src/windows/native/sun/security/mscapi/security.cpp b/src/windows/native/sun/security/mscapi/security.cpp
--- a/src/windows/native/sun/security/mscapi/security.cpp
+++ b/src/windows/native/sun/security/mscapi/security.cpp
@@ -264,7 +264,7 @@
     const char* pszCertStoreName = NULL;
     HCERTSTORE hCertStore = NULL;
     PCCERT_CONTEXT pCertContext = NULL;
-    char* pszNameString = NULL; // certificate's friendly name
+    wchar_t* pszNameString = NULL; // certificate's friendly name
     DWORD cchNameString = 0;
 
 
@@ -380,13 +380,13 @@
                             // when storing this cert in the keystore.)
 
                             // Get length of friendly name
-                            if ((cchNameString = CertGetNameString(pc,
+                            if ((cchNameString = CertGetNameStringW(pc,
                                 CERT_NAME_FRIENDLY_DISPLAY_TYPE, 0, NULL,
                                 NULL, 0)) > 1) {
 
                                 // Found friendly name
-                                pszNameString = new char[cchNameString];
-                                CertGetNameString(pc,
+                                pszNameString = new wchar_t[cchNameString];
+                                CertGetNameStringW(pc,
                                     CERT_NAME_FRIENDLY_DISPLAY_TYPE, 0, NULL,
                                     pszNameString, cchNameString);
                             }
@@ -409,7 +409,7 @@
                         // Generate certificate chain and store into cert chain
                         // collection
                         env->CallVoidMethod(obj, mGenCertChain,
-                            env->NewStringUTF(pszNameString),
+                            env->NewString(reinterpret_cast<const jchar *>(pszNameString), cchNameString - 1),
                             jArrayList, jCollections);
                     }
                     else
@@ -425,7 +425,7 @@
                         // Generate RSA certificate chain and store into cert
                         // chain collection
                         env->CallVoidMethod(obj, mGenRSAKeyAndCertChain,
-                            env->NewStringUTF(pszNameString),
+                            env->NewString(reinterpret_cast<const jchar *>(pszNameString), cchNameString - 1),
                             (jlong) hCryptProv, (jlong) hUserKey,
                             dwPublicKeyLength, jArrayList, jCollections);
                     }