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";
 
