Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
generateKeys example
}
elseif
(
'-' ===
$file
)
{
$value
=
file_get_contents
(
'php://stdin'
)
;
}
elseif
(
is_file
(
$file
)
&&
is_readable
(
$file
)
)
{
$value
=
file_get_contents
(
$file
)
;
}
elseif
(
!
is_file
(
$file
)
)
{
throw
new
\
InvalidArgumentException
(
sprintf
(
'File not found: "%s".',
$file
)
)
;
}
elseif
(
!
is_readable
(
$file
)
)
{
throw
new
\
InvalidArgumentException
(
sprintf
(
'File is not readable: "%s".',
$file
)
)
;
}
if
(
$vault
->
generateKeys
(
)
)
{
$io
->
success
(
$vault
->
getLastMessage
(
)
)
;
if
(
$this
->vault ===
$vault
)
{
$io
->
caution
(
'DO NOT COMMIT THE DECRYPTION KEY FOR THE PROD ENVIRONMENT⚠️'
)
;
}
}
$vault
->
seal
(
$name
,
$value
)
;
$io
->
success
(
$vault
->
getLastMessage
(
)
?? 'Secret was successfully stored in the vault.'
)
;
protected
function
tearDown
(
)
: void
{
@
unlink
(
$this
->envFile
)
;
}
public
function
testGenerateKeys
(
)
{
$vault
=
new
DotenvVault
(
$this
->envFile
)
;
$this
->
assertFalse
(
$vault
->
generateKeys
(
)
)
;
$this
->
assertSame
(
'The dotenv vault doesn\'t encrypt secrets thus doesn\'t need keys.',
$vault
->
getLastMessage
(
)
)
;
}
public
function
testEncryptAndDecrypt
(
)
{
$vault
=
new
DotenvVault
(
$this
->envFile
)
;
$plain
= "plain\ntext";
$vault
->
seal
(
'foo',
$plain
)
;
$io
=
new
SymfonyStyle
(
$input
,
$output
instanceof ConsoleOutputInterface ?
$output
->
getErrorOutput
(
)
:
$output
)
;
$vault
=
$input
->
getOption
(
'local'
)
?
$this
->localVault :
$this
->vault;
if
(
null ===
$vault
)
{
$io
->
success
(
'The local vault is disabled.'
)
;
return
1;
}
if
(
!
$input
->
getOption
(
'rotate'
)
)
{
if
(
$vault
->
generateKeys
(
)
)
{
$io
->
success
(
$vault
->
getLastMessage
(
)
)
;
if
(
$this
->vault ===
$vault
)
{
$io
->
caution
(
'DO NOT COMMIT THE DECRYPTION KEY FOR THE PROD ENVIRONMENT⚠️'
)
;
}
return
0;
}
$io
->
warning
(
$vault
->
getLastMessage
(
)
)
;
protected
function
tearDown
(
)
: void
{
(
new
Filesystem
(
)
)
->
remove
(
$this
->secretsDir
)
;
}
public
function
testGenerateKeys
(
)
{
$vault
=
new
SodiumVault
(
$this
->secretsDir
)
;
$this
->
assertTrue
(
$vault
->
generateKeys
(
)
)
;
$this
->
assertFileExists
(
$this
->secretsDir.'/test.encrypt.public.php'
)
;
$this
->
assertFileExists
(
$this
->secretsDir.'/test.decrypt.private.php'
)
;
$encKey
=
file_get_contents
(
$this
->secretsDir.'/test.encrypt.public.php'
)
;
$decKey
=
file_get_contents
(
$this
->secretsDir.'/test.decrypt.private.php'
)
;
$this
->
assertFalse
(
$vault
->
generateKeys
(
)
)
;
$this
->
assertStringEqualsFile
(
$this
->secretsDir.'/test.encrypt.public.php',
$encKey
)
;
$this
->
assertStringEqualsFile
(
$this
->secretsDir.'/test.decrypt.private.php',
$decKey
)
;
$this
->
assertTrue
(
$vault
->
generateKeys
(
true
)
)
;