Ensuring pem files are properly split regardless of source OS
diff --git a/core/src/main/java/org/jclouds/chef/functions/GroupToBootScript.java b/core/src/main/java/org/jclouds/chef/functions/GroupToBootScript.java
index 3ad9024..0acd51d 100644
--- a/core/src/main/java/org/jclouds/chef/functions/GroupToBootScript.java
+++ b/core/src/main/java/org/jclouds/chef/functions/GroupToBootScript.java
@@ -28,6 +28,7 @@
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Pattern;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -56,6 +57,8 @@
  */
 @Singleton
 public class GroupToBootScript implements Function<String, Statement> {
+   private static final Pattern newLinePattern = Pattern.compile("(\\r\\n)|(\\n)");
+
    @VisibleForTesting
    static final Type RUN_LIST_TYPE = new TypeLiteral<Map<String, List<String>>>() {
    }.getType();
@@ -95,8 +98,8 @@
                         .format("validation_client_name \"%s\"", validatorClientName), String.format(
                         "chef_server_url \"%s\"", endpoint.get())));
 
-      Statement createValidationPem = appendFile(chefConfigDir + "{fs}validation.pem", Splitter.on('\n').split(
-               Pems.pem(validatorKey)));
+      Statement createValidationPem = appendFile(chefConfigDir + "{fs}validation.pem", Splitter.on(newLinePattern)
+            .split(Pems.pem(validatorKey)));
 
       String chefBootFile = chefConfigDir + "{fs}first-boot.json";