| Index: third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html b/third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..108fc0a497b7c6b1498240ebc518db25e52b186f
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html
|
| @@ -0,0 +1,72 @@
|
| +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
| +<html>
|
| +<head>
|
| +<script src="../../resources/js-test.js"></script>
|
| +</head>
|
| +<body>
|
| +<script>
|
| +description("Tests RTCPeerConnection.generateCertificate RSA/ECDSA.");
|
| +
|
| +// Signature of the last generateCertificate call.
|
| +var generateCallString = null;
|
| +// Global certificate variables so that the "should..." methods can evaluate them.
|
| +var certRSA = null;
|
| +var certECDSA = null;
|
| +
|
| +// 1: RSA-2048 using public exponent = 65537.
|
| +function generate1RSA()
|
| +{
|
| + generateCallString = 'generateCertificate({ name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: 65537 })';
|
| + webkitRTCPeerConnection.generateCertificate({ name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: 65537 })
|
| + .then(generate1RSASuccessful, generate1RSAFailed);
|
| +}
|
| +function generate1RSASuccessful(certificate)
|
| +{
|
| + certRSA = certificate;
|
| + testPassed(generateCallString);
|
| + certificateSanityCheck(certificate, 'certRSA');
|
| + generate2ECDSA();
|
| +}
|
| +function generate1RSAFailed()
|
| +{
|
| + testFailed(generateCallString);
|
| + generate2ECDSA();
|
| +}
|
| +
|
| +// 2: ECDSA using NIST P-256.
|
| +function generate2ECDSA()
|
| +{
|
| + generateCallString = 'generateCertificate({ name: "ECDSA", namedCurve: "P-256" })';
|
| + webkitRTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P-256" })
|
| + .then(generate2ECDSASuccessful, generate2ECDSAFailed);
|
| +}
|
| +function generate2ECDSASuccessful(certificate)
|
| +{
|
| + certECDSA = certificate;
|
| + testPassed(generateCallString);
|
| + certificateSanityCheck(certificate, 'certECDSA');
|
| + finishJSTest();
|
| +}
|
| +function generate2ECDSAFailed()
|
| +{
|
| + testFailed(generateCallString);
|
| + finishJSTest();
|
| +}
|
| +
|
| +// Helper methods.
|
| +function certificateSanityCheck(cert, certVariableName)
|
| +{
|
| + shouldBeNonNull(certVariableName);
|
| + // TODO(hbos): Check cert.expires when WebRTC certificates have reasonable expires values.
|
| +}
|
| +
|
| +// Run each generate test sequentially. The ith generate method will make sure
|
| +// the (i+1)st generate method is executed when its promise's callbacks are
|
| +// invoked. generate2ECDSA's callback methods mark the end of the async tests.
|
| +generate1RSA();
|
| +
|
| +window.jsTestIsAsync = true;
|
| +window.successfullyParsed = true;
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|