Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if (typeof cert.seed !== 'string') {
throw new Error('ext.certificate.seed must be a string');
}
if (cert.seed.length !== 44) {
throw new Error('ext.certificate.seed must be 44 characters');
}
if (typeof cert.start !== 'number') {
throw new Error('ext.certificate.start must be a number');
}
if (typeof cert.expiry !== 'number') {
throw new Error('ext.certificate.expiry must be a number');
}
if (!(cert.scopes instanceof Array)) {
throw new Error('ext.certificate.scopes must be an array');
}
if (!cert.scopes.every(utils.validScope)) {
throw new Error('ext.certificate.scopes must be an array of valid scopes');
}
// Check start and expiry
let now = new Date().getTime();
if (cert.start > now + 5 * 60 * 1000) {
throw new Error('ext.certificate.start > now');
}
if (cert.expiry < now - 5 * 60 * 1000) {
throw new Error('ext.certificate.expiry < now');
}
// Check max time between start and expiry
if (cert.expiry - cert.start > 31 * 24 * 60 * 60 * 1000) {
throw new Error('ext.certificate cannot last longer than 31 days!');
}
if (typeof cert.seed !== 'string') {
throw new Error('ext.certificate.seed must be a string');
}
if (cert.seed.length !== 44) {
throw new Error('ext.certificate.seed must be 44 characters');
}
if (typeof cert.start !== 'number') {
throw new Error('ext.certificate.start must be a number');
}
if (typeof cert.expiry !== 'number') {
throw new Error('ext.certificate.expiry must be a number');
}
if (!(cert.scopes instanceof Array)) {
throw new Error('ext.certificate.scopes must be an array');
}
if (!cert.scopes.every(utils.validScope)) {
throw new Error('ext.certificate.scopes must be an array of valid scopes');
}
// Check start and expiry
let now = new Date().getTime();
if (cert.start > now + 5 * 60 * 1000) {
throw new Error('ext.certificate.start > now');
}
if (cert.expiry < now - 5 * 60 * 1000) {
throw new Error('ext.certificate.expiry < now');
}
// Check max time between start and expiry
if (cert.expiry - cert.start > 31 * 24 * 60 * 60 * 1000) {
throw new Error('ext.certificate cannot last longer than 31 days!');
}