in provisioning/security/dice-provider-emulator/src/main/java/com/microsoft/azure/sdk/iot/provisioning/security/hsm/SecurityProviderDiceEmulator.java [66:99]
public SecurityProviderDiceEmulator(String commonNameAlias, String commonNameSigner, String commonNameRoot) throws SecurityProviderException
{
//SRS_SecurityClientDiceEmulator_25_003: [ Constructor shall throw SecurityProviderException if Alias Certificate, Signer Certificate and Root certificate names are null or empty ]
if (commonNameAlias == null || commonNameAlias.isEmpty())
{
throw new SecurityProviderException(new IllegalArgumentException("commonNameAlias cannot be null or empty"));
}
if (commonNameSigner == null || commonNameSigner.isEmpty())
{
throw new SecurityProviderException(new IllegalArgumentException("commonNameSigner cannot be null or empty"));
}
if (commonNameRoot == null || commonNameRoot.isEmpty())
{
throw new SecurityProviderException(new IllegalArgumentException("commonNameRoot cannot be null or empty"));
}
//SRS_SecurityClientDiceEmulator_25_004: [ Constructor shall throw SecurityProviderException if Alias Certificate, Signer Certificate and Root certificate names are not unique ]
if (commonNameAlias.equals(commonNameSigner) || commonNameSigner.equals(commonNameRoot) || commonNameAlias.equals(commonNameRoot))
{
throw new SecurityProviderException(new IllegalArgumentException("Use unique names for common name"));
}
this.commonNameAlias = commonNameAlias;
this.commonNameSigner = commonNameSigner;
this.commonNameRoot = commonNameRoot;
this.diceBundle = RIoT.CreateDeviceAuthBundle(
SEED,
FWID,
false,
this.commonNameRoot, this.commonNameSigner, this.commonNameAlias);
}