Issue 1:
Output of node_modules/.bin/electron --version: v4.0.1

Operating System (Platform and Version): OSX Mojave

Output of node_modules/.bin/electron --version on last known working Electron version (if applicable): N/A

Expected Behavior

A clear and concise description of what you expected to happen.

I'd expect that hash algorithms available to Electron would mirror those available to Node v10.11.0. So, something like:

> c.getHashes();
[ 'RSA-MD4',
'RSA-MD5',
'RSA-MDC2',
'RSA-RIPEMD160',
'RSA-SHA1',
'RSA-SHA1-2',
'RSA-SHA224',
'RSA-SHA256',
'RSA-SHA384',
'RSA-SHA512',
'blake2b512',
'blake2s256',
'md4',
'md4WithRSAEncryption',
'md5',
'md5-sha1',
'md5WithRSAEncryption',
'mdc2',
'mdc2WithRSA',
'ripemd',
'ripemd160',
'ripemd160WithRSA',
'rmd160',
'sha1',
'sha1WithRSAEncryption',
'sha224',
'sha224WithRSAEncryption',
'sha256',
'sha256WithRSAEncryption',
'sha384',
'sha384WithRSAEncryption',
'sha512',
'sha512WithRSAEncryption',
'ssl3-md5',
'ssl3-sha1',
'whirlpool' ]

Actual behavior

Instead, the list of hashes is really small:

To Reproduce

Run require('crypto').getHashes() anywhere in your Electron app - you'll see that the available hashes is really small.

Screenshots

See the one above.

Additional Information

ripemd160 specifically is very important to any cryptocurrency-related application, since RMD160 is used by Bitcoin-like chains to hash transaction data.

Issue 2:
Preflight Checklist

I have read the Contributing Guidelines for this project.

I agree to follow the Code of Conduct that this project adheres to.

I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Electron Version

11.3.0

What operating system are you using?

macOS

Operating System Version

macOS Catalina 10.15.7 and window 10 v2004

What arch are you using?

x64

Last Known Working Electron version

11.3.0

Expected Behavior

Trigger print pdf by user button， round that the pdf (file has been downloaded locally) cannot be printed normally。Window and mac have the same problem， code show as below：

export function printPage2(strUrl, isLocal = false, callback) {

const printWindow = new BrowserWindow({

title: 'Printer',

show: true,

width: 1024,

height: 768,

parent: tmpMinWindow,

plugins: true,

webPreferences: {

devTools: false,

nodeIntegration: true, //开启渲染进程中调用模块 即require

enableRemoteModule: true,

contextIsolation: false

}

})

console.log('printPage2=' + strUrl)

printWindow.loadFile(strUrl)

// did-finish-load

printWindow.webContents.on('did-finish-load', () => {

console.log('did-finish-load')

printWindow.webContents.print(

{ silent: false, printBackground: false },

(success, failureReason) => {

console.log('success=' + success + ' failureReason =' + failureReason)

if (callback) {

callback(success ? null : failureReason)

}

}

)

})

let sList = printWindow.webContents.getPrinters()

console.log('sList = ' + JSON.stringify(sList))

printWindow.webContents.on('did-fail-load', (event, errorCode, errorDes, validateURL) => {

console.log('did-fail-load =' + errorCode)

if (callback) {

callback(errorDes)

}

})

}

Actual Behavior

BrowserWindow.webContents.print Unable to respond normally, no results are returned, one of the local printer jobs shows that the print job is being received, and there is no response on the printing side

Testcase Gist URL

No response

Using pdf internal pdf printing can print normally, but it cannot work normally through BrowserWindow.webContents.print