in oss-20190517/src/main/java/com/aliyun/sdk/service/oss20190517/encryption/internal/CryptoModuleAesCtr.java [47:64]
final protected SecretKey generateCEK() {
KeyGenerator generator;
final String keygenAlgo = contentCryptoScheme.getKeyGeneratorAlgorithm();
final int keyLength = contentCryptoScheme.getKeyLengthInBits();
try {
generator = KeyGenerator.getInstance(keygenAlgo);
generator.init(keyLength, cryptoConfig.getSecureRandom());
SecretKey secretKey = generator.generateKey();
for (int retry = 0; retry < 9; retry++) {
secretKey = generator.generateKey();
if (secretKey.getEncoded()[0] != 0)
return secretKey;
}
throw new OSSClientException("Failed to generate secret key", null);
} catch (NoSuchAlgorithmException e) {
throw new OSSClientException("No such algorithm:" + keygenAlgo + ", " + e.getMessage(), e);
}
}