Skip to content

Commit

Permalink
chore: private key support for textArea (#4815)
Browse files Browse the repository at this point in the history
  • Loading branch information
achettyiitr committed Jun 19, 2024
1 parent d4cd2a4 commit a9f99cd
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 6 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ jobs:
REDSHIFT_INTEGRATION_TEST_CREDENTIALS: ${{ secrets.REDSHIFT_INTEGRATION_TEST_CREDENTIALS }}
SNOWFLAKE_INTEGRATION_TEST_CREDENTIALS: ${{ secrets.SNOWFLAKE_INTEGRATION_TEST_CREDENTIALS }}
SNOWFLAKE_RBAC_INTEGRATION_TEST_CREDENTIALS: ${{ secrets.SNOWFLAKE_RBAC_INTEGRATION_TEST_CREDENTIALS }}
SNOWFLAKE_KEYPAIR_ENCRYPTED_INTEGRATION_TEST_CREDENTIALS: ${{ secrets.SNOWFLAKE_KEYPAIR_ENCRYPTED_INTEGRATION_TEST_CREDENTIALS }}
SNOWFLAKE_KEYPAIR_UNENCRYPTED_INTEGRATION_TEST_CREDENTIALS: ${{ secrets.SNOWFLAKE_KEYPAIR_UNENCRYPTED_INTEGRATION_TEST_CREDENTIALS }}
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
Expand Down
25 changes: 20 additions & 5 deletions warehouse/integrations/snowflake/snowflake_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,10 @@ func TestIntegration(t *testing.T) {
"rbacAccessKeyID": rbacCredentials.AccessKeyID,
"rbacAccessKey": rbacCredentials.AccessKey,
"keypairEncryptedUser": credentialsKeyPairEncrypted.User,
"keypairEncryptedPrivateKey": credentialsKeyPairEncrypted.PrivateKey,
"keypairEncryptedPrivateKey": strings.ReplaceAll(credentialsKeyPairEncrypted.PrivateKey, "\n", "\\n"),
"keypairEncryptedPassphrase": credentialsKeyPairEncrypted.PrivateKeyPassphrase,
"keypairUnencryptedUser": credentialsKeyPairUnencrypted.User,
"keypairUnencryptedPrivateKey": credentialsKeyPairUnencrypted.PrivateKey,
"keypairUnencryptedPrivateKey": strings.ReplaceAll(credentialsKeyPairUnencrypted.PrivateKey, "\n", "\\n"),
"preferAppend": preferAppendStr,
}
workspaceConfigPath := workspaceConfig.CreateTempFile(t, "testdata/template.json", templateConfigurations)
Expand Down Expand Up @@ -1194,20 +1194,35 @@ func TestParsePrivateKey(t *testing.T) {
wantError bool
}{
{
name: "valid private key with valid passphrase",
name: "valid private key with valid passphrase (textInput)",
privateKey: `-----BEGIN ENCRYPTED PRIVATE KEY----- MIIFJDBWBgkqhkiG9w0BBQ0wSTAxBgkqhkiG9w0BBQwwJAQQh/r9Tt8BEe/IRV59 9/+WZQICCAAwDAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQIv4X4Tl3JDUoEggTI UwkI7WrLrKGlTA46KBKc9UXejLcMSghlhQGv0T9CW7tLsrH3vR7VO1Hkh6iHdPef Ir1wU3iH9etNDgHvr6sEe4p8v9FCHWicxkVbVWtMugT4iT+ejGjnxaXyUsWF4Ker o+2c7jVpYS1mIJhxPdXd9acFGoLe2Lhhe+yfskPbmiCc8mbHDzxFx7vMsS3klF44 RCfdXC2rcuHkesjmd6sMXhB0B6xKGgDxYUodiK5axJr6hFZusPEllZTeMZtVbWXd w/nFv4L7un3bBnzIkAL5EQHe+jGMmNTaT/wf+zsoQkXlYX/UXNIqZ1M0X7w8ZskH mwkX43vQDzSqQ5lkBpFCPb2cYK6OfxEs+ToaQBdMhBxyhJqi/1keokbuQZGGQPBV coxkFlNczVkGAKpFC4MFI20vf1bBNrqTzUG9AFmZRfzCo6AWkmR7zQZ6eAigxgTk IdNne2BXY2bi919ytRNzSWd7Wwhiwm7niTKtP2BJjEfTsfIZ0KiXGN4C6J8wODk3 CAaRcHELVWxXFgKSnWkXgJZUq02QG00LZnQuBEZnjioj8fEEuHjey3FRqQaXrSoe ewyn/qZNepxFvkeLJu1fcVGwSsNxQzxJ3FRT6uVGP22+wN6ZZBL0SBiM+z7ndakx rpa/Or4+amPcBFYyDbed5vN9eB6V1xN9t0zarARAqiMy+h8uFm3xKTrNXcatjub2 SAEFl7vaQY1nq+i8eX+JYzYGnCpGw+p+cXwfeOxYLg4aCravMzxR1aGpynYSPOy6 X5kFX5eKNYNM/FRenzJlHDbFmV9cBxC9L2j2aUJhwUeFSJD+SVW5KCdwjj9VYVTg 4uJFODv+KurNwcx4w2HcmVnC0Yahb0JzvNJ4VQ1Yg2//jeYaS2cxDHigUFTIwtBy IRU/T48dbnpNuaA1/OgA3/b9Kxy+RRCH6sgiFhY+clRz4hTn3uEhIJhV2iycTPlS 4kfOUVMRsdFYiMVpA9sfq7z/nwDQjBBqgktQrVsCOVNnI/tgZhguJYTltkNbqI8v YHWw/ag+TBGbk5WjqHQMmXhvq7Wp9Bl6b0oP1OGtdrQEaHdTPdQ1gTpAXEhPpMpl GNhGwK4DSol8VsBkRDICqv56ECoHrtBuvo3Kl6pBVCBvOuh9ZExKhHHOcd0zj0AH 1vGnn0xp7Jj7p0kslt/YVc7fN9xU9h8Om98LnR8/OXC0uRIO1cuotOaTCMfjz2Ts 7N3cM3Le0gVC/gbcCqVUqetgMF0jfuQoeoZyuG/e6dM39n6jnTcuug7NBASXMKey QzZW04IjI0EuBzQvYcPu47mRVzcd1QFWw8Fr/zo5ZKo8M4UGwgbJwDTqQTOpQEcv bMGbTxjs/RSWe3YUe239OITM6F0b7WlEjfkDFnB+Xys2DE9GC2wZlQQ6mo0Ver2x ta5MSkiWWvdTmRYI7L/K7KJQjOGInrLuugx+/N8KQbuiUZB9+D/FyNBVdL4S73BA IzMhbHcN1CKH8uB+18L7t91VLuJigi3f0lAWM+QNW36RUZzn2LtlbJ5nnlZRa73t VLk1y43Penk1djaF6bk3Em0GXBlPiCcTwlOZfIb543IWCkxBeX/WmmaoeNB10qoL +qr8ukOxkKhDksWc7fsfno1RzeifSTsA -----END ENCRYPTED PRIVATE KEY-----`,
passPhrase: "oW$47MjPgr$$Lc",
},
{
name: "valid private key with invalid passphrase",
name: "valid private key with valid passphrase (textArea)",
privateKey: "-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIIFJDBWBgkqhkiG9w0BBQ0wSTAxBgkqhkiG9w0BBQwwJAQQpWee/aYJAeHHT9AS\npIo+jQICCAAwDAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQInSbkcxgNEisEggTI\n/3+KEvhVubn3GXS/w0QvJz0qR/gjgWSZ5e+c8U5DmVAyjzftS/QNFIX8ArYDwFUh\nCy9wJEmbPRlcRloXTBsk5IMT0MYIa/4zGxfqPWfgdkxrJzS2sCQP+FwsgkSUEvYj\nI7UEJ8kxmfew30RCJRJlNdzYPg8HAYlVizyemWxhrnFT8HE4Len+ILJUN0HGfra6\nU8pLI6MKnGRqLZBWIhc+2JJ/UqWQexVClN/gNV3xkC5CM7CsRsDRJw7bbWFwH2Eo\n0VStFV3DVpjf++VnPoRlRi++3olXVxO1I2e+SR1fU0CVjzXE+Q+ltWJHiBsQ7kWt\nM7weOfvd1AxAYhM7HzHOyI5JyawaBUnc2PNqzrDv1AOU8HIOe1JCuvj4RWI//BpE\nsZmjjGBMRzTsorWMILaWFEnC5lefjd06Cmag5jsLoLrZeewqwix7+r8SYVptnl5O\njNO9lZU83HJwH5W9TPHB7OCQPOMGqjAnIeDEwLPjBWGdylyf/BZamvoONG74f5kq\n8I3bX4rxMM71vg6xWcS+MKKn/4ch3oIjuN+lUOVJH1G2wEROVzbQknWns6JM+Jsa\nfQjQh0YigdVwbHC99wCLtwVVXcmpA5Jj2z8wvqCYnb4MlaYt8Ld7hVaaF13tp9lM\nMazxIOIJmHuX4BB3wVFTCygHqKzEUczyMnjKfAKO1BL72ZYQAI9nbZmSUuXuvxun\nKPk6XqTxSJCjGHQxIFkEJVHT9qhxI5MUgdo6R+BVvPCxdo7Xnikw3DKij/BRlhWa\nDj+WSAXH0Xvln/GownUCVACOY10dkFkUEpmvV3cKbSMBwGnp0aagFGKaP33O6R75\nDLLzVv4/vhZQEIpUKjmwWNOYfZ5Yz5ndKJ6B3eFwYXoEQkCLiEOddP6A7Soeasss\nYV8jN00MUyFH9xTzvtIcsWeu5PYVcngE2vyGXkbrzWCs6vtaGQDNi7+HfzYGtKH4\njL+BHYwwxuSzn2ki1ondrtzP7+NNc6PUJfcs5/C0DwXK0ymAKlzEtxQk9infCMa2\n+hCbeO1RwyqWT/pDDruVJZ2r/IcPag1rrqSPVYPz19RVxV1Td2TLlex6Nwa6JE7z\np1cNpopxftrCz0Ajw4qIEJ9tP/ztZAiaf9dHHREKckMxSv41AcypVSIfpw5WTlwU\nsomn5mbBX/r1M6F43fjEUh4NCPNBb80xu1Z1jP9AZulh1O/6Fj6jQXZVVuEOFJaq\nyxIy4ocLA7/1VpchZ0RpbvQpq2/I2N4H+Reqk5oodMZf0APiV3d6v3iN1YbVL0aV\n8NODoCbs3IJBSaNgCjwfNyA4rtjBhup8doSJ/oTY30ZMX4uGZbpRLjJbUItK1IrD\n47Hh2Ga3FhgIblMj9Fg9GqrPvU2PMplrWdbxWcpuV7klvKAx4zzDxiZiPQNqkvrX\nELIqVf33GgggqmEqqNFXZDUXqSd5LIzsR7pEnaksIQ46jhQtP8WZLpkKlWTaDX2E\nvYQMhz9A0NT2hONOA9aLUCiyLvYjrYR9r7hhj5fpEDjOi8rIs/+NW/wrZhsJodPt\nWVJXx3MgHkN8tzJ40kEKBQlViQXxh2bSQjjP8WePRHX6rMmvIzWaJcOZk+lfrUGn\nVd2oqQJsSntAE0KdZZSZCBTkx39xJEVS\n-----END ENCRYPTED PRIVATE KEY-----",
passPhrase: "oW$47MjPgr$$Lc",
},
{
name: "valid private key with invalid passphrase (textInput)",
privateKey: `-----BEGIN ENCRYPTED PRIVATE KEY----- MIIFJDBWBgkqhkiG9w0BBQ0wSTAxBgkqhkiG9w0BBQwwJAQQh/r9Tt8BEe/IRV59 9/+WZQICCAAwDAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQIv4X4Tl3JDUoEggTI UwkI7WrLrKGlTA46KBKc9UXejLcMSghlhQGv0T9CW7tLsrH3vR7VO1Hkh6iHdPef Ir1wU3iH9etNDgHvr6sEe4p8v9FCHWicxkVbVWtMugT4iT+ejGjnxaXyUsWF4Ker o+2c7jVpYS1mIJhxPdXd9acFGoLe2Lhhe+yfskPbmiCc8mbHDzxFx7vMsS3klF44 RCfdXC2rcuHkesjmd6sMXhB0B6xKGgDxYUodiK5axJr6hFZusPEllZTeMZtVbWXd w/nFv4L7un3bBnzIkAL5EQHe+jGMmNTaT/wf+zsoQkXlYX/UXNIqZ1M0X7w8ZskH mwkX43vQDzSqQ5lkBpFCPb2cYK6OfxEs+ToaQBdMhBxyhJqi/1keokbuQZGGQPBV coxkFlNczVkGAKpFC4MFI20vf1bBNrqTzUG9AFmZRfzCo6AWkmR7zQZ6eAigxgTk IdNne2BXY2bi919ytRNzSWd7Wwhiwm7niTKtP2BJjEfTsfIZ0KiXGN4C6J8wODk3 CAaRcHELVWxXFgKSnWkXgJZUq02QG00LZnQuBEZnjioj8fEEuHjey3FRqQaXrSoe ewyn/qZNepxFvkeLJu1fcVGwSsNxQzxJ3FRT6uVGP22+wN6ZZBL0SBiM+z7ndakx rpa/Or4+amPcBFYyDbed5vN9eB6V1xN9t0zarARAqiMy+h8uFm3xKTrNXcatjub2 SAEFl7vaQY1nq+i8eX+JYzYGnCpGw+p+cXwfeOxYLg4aCravMzxR1aGpynYSPOy6 X5kFX5eKNYNM/FRenzJlHDbFmV9cBxC9L2j2aUJhwUeFSJD+SVW5KCdwjj9VYVTg 4uJFODv+KurNwcx4w2HcmVnC0Yahb0JzvNJ4VQ1Yg2//jeYaS2cxDHigUFTIwtBy IRU/T48dbnpNuaA1/OgA3/b9Kxy+RRCH6sgiFhY+clRz4hTn3uEhIJhV2iycTPlS 4kfOUVMRsdFYiMVpA9sfq7z/nwDQjBBqgktQrVsCOVNnI/tgZhguJYTltkNbqI8v YHWw/ag+TBGbk5WjqHQMmXhvq7Wp9Bl6b0oP1OGtdrQEaHdTPdQ1gTpAXEhPpMpl GNhGwK4DSol8VsBkRDICqv56ECoHrtBuvo3Kl6pBVCBvOuh9ZExKhHHOcd0zj0AH 1vGnn0xp7Jj7p0kslt/YVc7fN9xU9h8Om98LnR8/OXC0uRIO1cuotOaTCMfjz2Ts 7N3cM3Le0gVC/gbcCqVUqetgMF0jfuQoeoZyuG/e6dM39n6jnTcuug7NBASXMKey QzZW04IjI0EuBzQvYcPu47mRVzcd1QFWw8Fr/zo5ZKo8M4UGwgbJwDTqQTOpQEcv bMGbTxjs/RSWe3YUe239OITM6F0b7WlEjfkDFnB+Xys2DE9GC2wZlQQ6mo0Ver2x ta5MSkiWWvdTmRYI7L/K7KJQjOGInrLuugx+/N8KQbuiUZB9+D/FyNBVdL4S73BA IzMhbHcN1CKH8uB+18L7t91VLuJigi3f0lAWM+QNW36RUZzn2LtlbJ5nnlZRa73t VLk1y43Penk1djaF6bk3Em0GXBlPiCcTwlOZfIb543IWCkxBeX/WmmaoeNB10qoL +qr8ukOxkKhDksWc7fsfno1RzeifSTsA -----END ENCRYPTED PRIVATE KEY-----`,
passPhrase: "abc",
wantError: true,
},
{
name: "valid private key without passphrase",
name: "valid private key with invalid passphrase (textArea)",
privateKey: "-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIIFJDBWBgkqhkiG9w0BBQ0wSTAxBgkqhkiG9w0BBQwwJAQQpWee/aYJAeHHT9AS\npIo+jQICCAAwDAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQInSbkcxgNEisEggTI\n/3+KEvhVubn3GXS/w0QvJz0qR/gjgWSZ5e+c8U5DmVAyjzftS/QNFIX8ArYDwFUh\nCy9wJEmbPRlcRloXTBsk5IMT0MYIa/4zGxfqPWfgdkxrJzS2sCQP+FwsgkSUEvYj\nI7UEJ8kxmfew30RCJRJlNdzYPg8HAYlVizyemWxhrnFT8HE4Len+ILJUN0HGfra6\nU8pLI6MKnGRqLZBWIhc+2JJ/UqWQexVClN/gNV3xkC5CM7CsRsDRJw7bbWFwH2Eo\n0VStFV3DVpjf++VnPoRlRi++3olXVxO1I2e+SR1fU0CVjzXE+Q+ltWJHiBsQ7kWt\nM7weOfvd1AxAYhM7HzHOyI5JyawaBUnc2PNqzrDv1AOU8HIOe1JCuvj4RWI//BpE\nsZmjjGBMRzTsorWMILaWFEnC5lefjd06Cmag5jsLoLrZeewqwix7+r8SYVptnl5O\njNO9lZU83HJwH5W9TPHB7OCQPOMGqjAnIeDEwLPjBWGdylyf/BZamvoONG74f5kq\n8I3bX4rxMM71vg6xWcS+MKKn/4ch3oIjuN+lUOVJH1G2wEROVzbQknWns6JM+Jsa\nfQjQh0YigdVwbHC99wCLtwVVXcmpA5Jj2z8wvqCYnb4MlaYt8Ld7hVaaF13tp9lM\nMazxIOIJmHuX4BB3wVFTCygHqKzEUczyMnjKfAKO1BL72ZYQAI9nbZmSUuXuvxun\nKPk6XqTxSJCjGHQxIFkEJVHT9qhxI5MUgdo6R+BVvPCxdo7Xnikw3DKij/BRlhWa\nDj+WSAXH0Xvln/GownUCVACOY10dkFkUEpmvV3cKbSMBwGnp0aagFGKaP33O6R75\nDLLzVv4/vhZQEIpUKjmwWNOYfZ5Yz5ndKJ6B3eFwYXoEQkCLiEOddP6A7Soeasss\nYV8jN00MUyFH9xTzvtIcsWeu5PYVcngE2vyGXkbrzWCs6vtaGQDNi7+HfzYGtKH4\njL+BHYwwxuSzn2ki1ondrtzP7+NNc6PUJfcs5/C0DwXK0ymAKlzEtxQk9infCMa2\n+hCbeO1RwyqWT/pDDruVJZ2r/IcPag1rrqSPVYPz19RVxV1Td2TLlex6Nwa6JE7z\np1cNpopxftrCz0Ajw4qIEJ9tP/ztZAiaf9dHHREKckMxSv41AcypVSIfpw5WTlwU\nsomn5mbBX/r1M6F43fjEUh4NCPNBb80xu1Z1jP9AZulh1O/6Fj6jQXZVVuEOFJaq\nyxIy4ocLA7/1VpchZ0RpbvQpq2/I2N4H+Reqk5oodMZf0APiV3d6v3iN1YbVL0aV\n8NODoCbs3IJBSaNgCjwfNyA4rtjBhup8doSJ/oTY30ZMX4uGZbpRLjJbUItK1IrD\n47Hh2Ga3FhgIblMj9Fg9GqrPvU2PMplrWdbxWcpuV7klvKAx4zzDxiZiPQNqkvrX\nELIqVf33GgggqmEqqNFXZDUXqSd5LIzsR7pEnaksIQ46jhQtP8WZLpkKlWTaDX2E\nvYQMhz9A0NT2hONOA9aLUCiyLvYjrYR9r7hhj5fpEDjOi8rIs/+NW/wrZhsJodPt\nWVJXx3MgHkN8tzJ40kEKBQlViQXxh2bSQjjP8WePRHX6rMmvIzWaJcOZk+lfrUGn\nVd2oqQJsSntAE0KdZZSZCBTkx39xJEVS\n-----END ENCRYPTED PRIVATE KEY-----",
passPhrase: "abc",
wantError: true,
},
{
name: "valid private key without passphrase (textInput)",
privateKey: `-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCf6c2HKc84K+Vr hmla9vy1VJICWXGBd7y8EIK2pEc7kCci8z1ZnaXjSpGXgWS3y8IF/DNW+Cxys/yj fyEU5EI47ARqFjzURXRPST74MdZJHKwVP7NlzNBTI/2sb7AqYnVjEWalV24upykq BAyyXrUj06a3lRSQwLhax2jK2InsvPSe9ENOTTEB5vJW7k5k5aSPPH1KPrIlEZRK ymhgWhBa2MvREWe8Jq/BXw9GuYwhcbLrfknI30kNGW1/qvd03JKvQa8nHpxD2fdn HiAbz8pbuA8IKQMVQ0n4VJeFT3+pMIKpGu6Vm9owLteMozVyK+YvI4PzkRWIk6zw HTAbZo5vAgMBAAECggEADcy300Os4ayMEkDZo6NvwFgpd3FvhZwnGdWU6hz4FrBE aFQ0RaEAmUIsmTXt0pyPREP0zDsDXuygTx2f5bUi79WSNfNwUWMi+9qWyAVI+Cs0 wGqsWQsZKSuQbwp+WdIATknIoVkPpZAAUeNikxvwJsTTfMEtMqam4hKWPPb9xAOR XZSZNcslO51eUznlu7baAWx+mIDIK+VacpneL6Fv5u8gS1yNZscYX1pb2cSzyevR ZD/z3wJStxK2HlWhtMY/Wr9f6jSSNY0ldWhsssGzVrAGKMlP6KSCL+XzHqp7r5yA 3L6glIDGnjVwB+OHMPW4JdCd8eXGK8HYxFLEk1JydQKBgQDXTO5+6uB6HayPyJEr pMJ/cRksWGvzxdnsK4xEmgZQu2vNP3BMUGc4PNldRPmM/FH1pkp8KcjK2OFVLHIP zovqQrBVCEVQ+t+5IP6QX/2n76Bb5sSK0O+Fq0fS0LgURHjnr54atI0ziMeT6z32 rThyiE/kpJCg/1zpc7vVJ17QWwKBgQC+JIJwMvlr63dK7FNFCMMgZcsjRYwwbvI0 IX3iKYVy4XHIQCh2UnHOixNG8qD8sfDOrAH7nPObCvxEjC2Eyy+hed2SczO3VCRc zZvVY6ungiSnE2JPkzqhIj633gzYaVkusBb84kkyWC+ZZOUvW19zZrIi9pC8h5Vj 8ek5iwkWfQKBgGrdC4/BYzQZoHopkiy4dbWt3FHPfZ2cuaLoppGyZaoSrNpOP54R VnpqcXVC9B6Patrj9BqW3swYRBfznJXN7lKTUVSTa1xbeUo5X0En9A4z+UNEUo+Y TxrovhiccpHUvrI4z9/veBp5LJ515+aVaewnTohtSkAvH93cDQIqrXv7AoGBALJN akPsiRg6ZlNL6YoC/XeT/TnGLf/9CgL4pSM/7HQeFKTEBS1vgmk84YbWX0CXXElx 4yoftBDf7FAbY1PzdWbm8HA0t3pi3PZpmIgyPvWFhPlno/kbBw+zHT0ubL1DjO3L EsNxL1KWf4xIoOIXvRpqYwGGVZN1URG3+AyN5KfBAoGBALoPqHzSTggaQz+SCgex qNJpuc/224cullUBkwB/iCUYDM3kXYGppoCilpwz8tTnJji/ZSVv1OX/pL+vO+NZ nD6JTI2veDQKvBkG9IaIG4uiwfpXsrNmo4yB4d7PowWcH/orhjFxbEAVIBNKWBtO 55TGyTE3i7XAQXet5g1KP7Zp -----END PRIVATE KEY-----`,
},
{
name: "valid private key without passphrase (textArea)",
privateKey: "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDeV+g3wnd2wvbP\n8UKk1HjY7oqv3PFPLVpPwAJAOka1pOtBx9jI+NMDASoOLJUoJ/Os/cLvL1l12gT6\npHTgserp+xjPzvPTIi82Ta/3exzFiDZyT98q2ZBVQR4vKIDbLKOVxBc0IRnOVcFi\ndip/1heOtybmmeiTD9TRfuoUFJzSImKJ2iyGEUVec4FvtOmTte+MFQbA9sv1Eif7\nrrX1VQ+V2x2d8UtTtgJNcWgrp+j9f+DYX/EkWOubeFlN3C4tM5bv7AgQulg8GdvL\nqzNBnqS012tRfws/sCU0Js0eyMZZRofqR1VPD/e21ZEoR1M7wHfHfjTDz3FWVgwC\nvwtYTWtTAgMBAAECggEAJxoTmzbGdqrb5/74Zu983z24Qyxafb+umcbdPnlhNRGv\nU+6298UWqvkZ8csyYhEAoCQyk4jitUClzoR8j4WKmCKSHv240KE651RrRV0v1qdZ\nV+onB6yiXvPoQIfhfWoQzMZjBEZr+OcI7u10FO5MT0tzemuHxNEsbrlgpi5n0+Zn\nFjgv+NXMFY/lk281gf7l1+D2kgUTFWWwUZ0gisVCWScIFECSTvYSpVLA2dkcFBDn\nExKHJ+cTFxQ3L3o+KLnfG4u163tAkJykUHznBakamWL0NgYzf44f1dP6qcJGVe5V\nDFSLrUyowkH4G+0IARotYj52yiZVwvFOgrWOfJcjpQKBgQD9qSYCYE+rAszc0e06\nvcOiH38uTY3Lv6A/JVePkDHBFm7l0n6jVOPbD4T+8VaqAUodnhx0TO02w/9MbZxf\n8LPL1Xo75KIfrjLrGcQZdSGKmAg0NSHRcidakAswnL0RRv9yXBOW5jFZa8OYl9nu\nX5wc2BoTrVUggxcbCdtyUNyn9wKBgQDgZNLP+pqty9p1rQLHOwt17pgfkqLwAYqd\nekZEBDuotlJH3p/PpHSg/0chalb6b61yYLtb01FMBYtHuKtzgKelC6fW1F2ypLsm\n0l8N7N7TzUeRFy4A3mmWMHpxrb+bs385eqo4a+e2c0HOf2j8jRvqRLhuxTmU+bFS\nMS7S/K0YhQKBgGyGXNuxZwRsW0eyjQOPws5vGVOvHJZqct3xVQf4EkFhHqs3JrUs\nkZvchPMqQADWMmZ/if78FpVSv7xsPPYTHml7+SL8y5wwRFqvmGWn5mTMbN4hSUm5\nxDqL3C29MWrd7FZ6LGtoKv7uCy4S8ct5nmn8zxNSGlShoVYRHpFHJVC7AoGBAIvm\n0HjS6fVJj56mi4DjkzWn2Dh3GBdDHsUoIv7tFLUPVyVv63tuMTjfb92piykAz8bs\nAGQz0A/xtPC2dk7A+8SvC6mpJfHnOrftmU35TMQIzIHtTcVE5de5yd1uUnQk6UFQ\n9SfQPttF6NVyImazI6Bf0A1f8ZKsSp3QBD2PQ+xxAoGAHarKQSJgx3zfzpVz3cKV\nQ/drsDi4hK3IghT3lCL7z5QcM5MVy+fig41A1Xjm0r5brDwbwo08zBpd4C1gI1/Z\naIzMbssWuC6ExTftSJGm9g3lUPnTDsl1AoF7ZyljUprzp50xaYkbE4kKTZjUUhG9\neW+EzLACubE+qLQ+Pog57ew=\n-----END PRIVATE KEY-----",
},
{
name: "invalid private key",
privateKey: `abc`,
Expand Down
2 changes: 1 addition & 1 deletion warehouse/utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,7 @@ func WHCounterStat(s stats.Stats, name string, warehouse *model.Warehouse, extra
// FormatPemContent formats the content of certificates and keys by adding necessary newlines around specific markers.
func FormatPemContent(content string) string {
// Remove all existing newline characters
formattedContent := strings.ReplaceAll(content, "\n", "")
formattedContent := strings.ReplaceAll(content, "\n", " ")

// Add a newline after specific BEGIN markers
formattedContent = strings.Replace(formattedContent, "-----BEGIN CERTIFICATE-----", "-----BEGIN CERTIFICATE-----\n", 1)
Expand Down
Loading

0 comments on commit a9f99cd

Please sign in to comment.